diff --git a/terraform/providers/google/go.mod b/terraform/providers/google/go.mod
index 6369081db0..c4d0152736 100644
--- a/terraform/providers/google/go.mod
+++ b/terraform/providers/google/go.mod
@@ -1,18 +1,18 @@
module github.com/openshift/installer/terraform/providers/google
-go 1.18
+go 1.20
-require github.com/hashicorp/terraform-provider-google v1.20.1-0.20230327171628-0dc3bde12208 // v4.59.0
+require github.com/hashicorp/terraform-provider-google v1.20.1-0.20230718215755-3edc574a3a8f // v4.74.0
require (
- bitbucket.org/creachadair/stringset v0.0.11 // indirect
- cloud.google.com/go v0.110.0 // indirect
- cloud.google.com/go/bigtable v1.17.0 // indirect
- cloud.google.com/go/compute v1.18.0 // indirect
+ bitbucket.org/creachadair/stringset v0.0.8 // indirect
+ cloud.google.com/go v0.110.2 // indirect
+ cloud.google.com/go/bigtable v1.19.0 // indirect
+ cloud.google.com/go/compute v1.19.3 // indirect
cloud.google.com/go/compute/metadata v0.2.3 // indirect
- cloud.google.com/go/iam v0.12.0 // indirect
- cloud.google.com/go/longrunning v0.4.1 // indirect
- github.com/GoogleCloudPlatform/declarative-resource-client-library v1.34.0 // indirect
+ cloud.google.com/go/iam v1.1.0 // indirect
+ cloud.google.com/go/longrunning v0.5.0 // indirect
+ github.com/GoogleCloudPlatform/declarative-resource-client-library v1.44.0 // indirect
github.com/agext/levenshtein v1.2.2 // indirect
github.com/apparentlymart/go-cidr v1.1.0 // indirect
github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect
@@ -20,22 +20,22 @@ require (
github.com/census-instrumentation/opencensus-proto v0.4.1 // indirect
github.com/cespare/xxhash/v2 v2.2.0 // indirect
github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe // indirect
- github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b // indirect
+ github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
- github.com/dnaeon/go-vcr v1.0.1 // indirect
- github.com/envoyproxy/go-control-plane v0.10.3 // indirect
- github.com/envoyproxy/protoc-gen-validate v0.9.1 // indirect
+ github.com/envoyproxy/go-control-plane v0.11.1-0.20230524094728-9239064ad72f // indirect
+ github.com/envoyproxy/protoc-gen-validate v0.10.1 // indirect
github.com/fatih/color v1.13.0 // indirect
github.com/gammazero/deque v0.0.0-20180920172122-f6adf94963e4 // indirect
github.com/gammazero/workerpool v0.0.0-20181230203049-86a96b5d5d92 // indirect
- github.com/golang/glog v1.0.0 // indirect
+ github.com/golang/glog v1.1.0 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
- github.com/golang/protobuf v1.5.2 // indirect
+ github.com/golang/protobuf v1.5.3 // indirect
github.com/google/go-cmp v0.5.9 // indirect
github.com/google/go-cpy v0.0.0-20211218193943-a9c933c06932 // indirect
+ github.com/google/s2a-go v0.1.4 // indirect
github.com/google/uuid v1.3.0 // indirect
- github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect
- github.com/googleapis/gax-go/v2 v2.7.1 // indirect
+ github.com/googleapis/enterprise-certificate-proxy v0.2.5 // indirect
+ github.com/googleapis/gax-go/v2 v2.11.0 // indirect
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect
github.com/hashicorp/errwrap v1.0.0 // indirect
github.com/hashicorp/go-checkpoint v0.5.0 // indirect
@@ -52,6 +52,7 @@ require (
github.com/hashicorp/terraform-exec v0.17.3 // indirect
github.com/hashicorp/terraform-json v0.14.0 // indirect
github.com/hashicorp/terraform-plugin-framework v1.1.1 // indirect
+ github.com/hashicorp/terraform-plugin-framework-validators v0.9.0 // indirect
github.com/hashicorp/terraform-plugin-go v0.14.3 // indirect
github.com/hashicorp/terraform-plugin-log v0.7.0 // indirect
github.com/hashicorp/terraform-plugin-mux v0.8.0 // indirect
@@ -76,34 +77,28 @@ require (
github.com/vmihailenco/tagparser v0.1.2 // indirect
github.com/zclconf/go-cty v1.11.0 // indirect
go.opencensus.io v0.24.0 // indirect
- golang.org/x/crypto v0.0.0-20220517005047-85d78b3ac167 // indirect
- golang.org/x/net v0.8.0 // indirect
- golang.org/x/oauth2 v0.6.0 // indirect
- golang.org/x/sys v0.6.0 // indirect
- golang.org/x/text v0.8.0 // indirect
+ golang.org/x/crypto v0.11.0 // indirect
+ golang.org/x/net v0.12.0 // indirect
+ golang.org/x/oauth2 v0.9.0 // indirect
+ golang.org/x/sys v0.10.0 // indirect
+ golang.org/x/text v0.11.0 // indirect
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
- google.golang.org/api v0.114.0 // indirect
+ google.golang.org/api v0.130.0 // indirect
google.golang.org/appengine v1.6.7 // indirect
- google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4 // indirect
- google.golang.org/grpc v1.53.0 // indirect
- google.golang.org/protobuf v1.29.1 // indirect
- gopkg.in/yaml.v2 v2.4.0 // indirect
+ google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc // indirect
+ google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc // indirect
+ google.golang.org/genproto/googleapis/rpc v0.0.0-20230629202037-9506855d4529 // indirect
+ google.golang.org/grpc v1.56.1 // indirect
+ google.golang.org/protobuf v1.31.0 // indirect
)
-// https://issues.redhat.com//browse/OCPBUGS-7699
-replace github.com/hashicorp/go-getter => github.com/hashicorp/go-getter v1.7.0
-
// https://bugzilla.redhat.com/show_bug.cgi?id=2064702
-replace golang.org/x/crypto => golang.org/x/crypto v0.0.0-20220517005047-85d78b3ac167
+replace golang.org/x/crypto => golang.org/x/crypto v0.11.0
// https://bugzilla.redhat.com/show_bug.cgi?id=2100495
-replace golang.org/x/text => golang.org/x/text v0.8.0
-
-// https://issues.redhat.com/browse/OCPBUGS-5667
-replace github.com/Masterminds/goutils => github.com/Masterminds/goutils v1.1.1
-
-// https://bugzilla.redhat.com/show_bug.cgi?id=2045880
-replace github.com/prometheus/client_golang => github.com/prometheus/client_golang v1.12.1
+replace golang.org/x/text => golang.org/x/text v0.11.0
// https://issues.redhat.com/browse/OCPBUGS-6422
-replace golang.org/x/net => golang.org/x/net v0.8.0
+replace golang.org/x/net => golang.org/x/net v0.12.0
+
+replace bitbucket.org/creachadair/stringset => bitbucket.org/creachadair/stringset v0.0.11
diff --git a/terraform/providers/google/go.sum b/terraform/providers/google/go.sum
index 1adb1b2d8b..cd075515e9 100644
--- a/terraform/providers/google/go.sum
+++ b/terraform/providers/google/go.sum
@@ -2,57 +2,24 @@ bitbucket.org/creachadair/stringset v0.0.11 h1:6Sv4CCv14Wm+OipW4f3tWOb0SQVpBDLW0
bitbucket.org/creachadair/stringset v0.0.11/go.mod h1:wh0BHewFe+j0HrzWz7KcGbSNpFzWwnpmgPRlB57U5jU=
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
-cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
-cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU=
-cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
-cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc=
-cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0=
-cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To=
-cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4=
-cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M=
-cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc=
-cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk=
-cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs=
-cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc=
-cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY=
-cloud.google.com/go v0.110.0 h1:Zc8gqp3+a9/Eyph2KDmcGaPtbKRIoqq4YTlL4NMD0Ys=
-cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY=
-cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
-cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
-cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc=
-cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg=
-cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc=
-cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ=
-cloud.google.com/go/bigtable v1.17.0 h1:8t48YTxxFsYKy+AWuHdoePgAr4J2gEtntbdWclbEbco=
-cloud.google.com/go/bigtable v1.17.0/go.mod h1:wtf7lFV1Wa5ay6aKa/gv/T2Ci7J6qXpBX8Ofij2z5mo=
-cloud.google.com/go/compute v1.18.0 h1:FEigFqoDbys2cvFkZ9Fjq4gnHBP55anJ0yQyau2f9oY=
-cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs=
+cloud.google.com/go v0.110.2 h1:sdFPBr6xG9/wkBbfhmUz/JmZC7X6LavQgcrVINrKiVA=
+cloud.google.com/go v0.110.2/go.mod h1:k04UEeEtb6ZBRTv3dZz4CeJC3jKGxyhl0sAiVVquxiw=
+cloud.google.com/go/bigtable v1.19.0 h1:wiq9LT0kukfInzvy1joMDijCw/OD1UChpSbORXYn0LI=
+cloud.google.com/go/bigtable v1.19.0/go.mod h1:xl5kPa8PTkJjdBxg6qdGH88464nNqmbISHSRU+D2yFE=
+cloud.google.com/go/compute v1.19.3 h1:DcTwsFgGev/wV5+q8o2fzgcHOaac+DKGC91ZlvpsQds=
+cloud.google.com/go/compute v1.19.3/go.mod h1:qxvISKp/gYnXkSAD1ppcSOveRAmzxicEv/JlizULFrI=
cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY=
cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA=
-cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
-cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
-cloud.google.com/go/iam v0.12.0 h1:DRtTY29b75ciH6Ov1PHb4/iat2CLCvrOm40Q0a6DFpE=
-cloud.google.com/go/iam v0.12.0/go.mod h1:knyHGviacl11zrtZUoDuYpDgLjvr28sLQaG0YB2GYAY=
-cloud.google.com/go/longrunning v0.4.1 h1:v+yFJOfKC3yZdY6ZUI933pIYdhyhV8S3NpWrXWmg7jM=
-cloud.google.com/go/longrunning v0.4.1/go.mod h1:4iWDqhBZ70CvZ6BfETbvam3T8FMvLK+eFj0E6AaRQTo=
-cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
-cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
-cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA=
-cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU=
-cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
-cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos=
-cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk=
-cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
-cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
-dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
+cloud.google.com/go/iam v1.1.0 h1:67gSqaPukx7O8WLLHMa0PNs3EBGd2eE4d+psbO/CO94=
+cloud.google.com/go/iam v1.1.0/go.mod h1:nxdHjaKfCr7fNYx/HJMM8LgiMugmveWlkatear5gVyk=
+cloud.google.com/go/longrunning v0.5.0 h1:DK8BH0+hS+DIvc9a2TPnteUievsTCH4ORMAASSb7JcQ=
+cloud.google.com/go/longrunning v0.5.0/go.mod h1:0JNuqRShmscVAhIACGtskSAWtqtOoPkwP0YF1oVEchc=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
-github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
-github.com/GoogleCloudPlatform/declarative-resource-client-library v1.34.0 h1:o7t+hPFv+Ax5O2vxzIH7dEtvlWA7JJOlOd7mWFvMa6s=
-github.com/GoogleCloudPlatform/declarative-resource-client-library v1.34.0/go.mod h1:pL2Qt5HT+x6xrTd806oMiM3awW6kNIXB/iiuClz6m6k=
+github.com/GoogleCloudPlatform/declarative-resource-client-library v1.44.0 h1:hASUAck0/5j84kejIHGJjipjUzFHiN5edNMobKwj2HA=
+github.com/GoogleCloudPlatform/declarative-resource-client-library v1.44.0/go.mod h1:pL2Qt5HT+x6xrTd806oMiM3awW6kNIXB/iiuClz6m6k=
github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA=
github.com/Microsoft/go-winio v0.4.16 h1:FtSW/jqD+l4ba5iPBj9CODVtgfYAD8w2wS923g/cFDk=
github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0=
-github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7 h1:YoJbenK9C67SkzkDfmQuVln04ygHj3vjZfd9FL+GmQQ=
github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo=
github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk=
@@ -72,49 +39,39 @@ github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkY
github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4=
github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
-github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g=
github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw=
-github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
-github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
-github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
-github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI=
github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe h1:QQ3GSy+MqSHxm/d8nCtnAiZdYFd45cYZPs8vOOIYKfk=
github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI=
-github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
-github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
-github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b h1:ACGZRIr7HsgBKHsueQ1yM4WaVaXh21ynwqsF8M8tXhA=
-github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4 h1:/inchEIKaYC1Akx+H+gqO04wryn5h75LSazbRlnya1k=
+github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dnaeon/go-vcr v1.0.1 h1:r8L/HqC0Hje5AXMu1ooW8oyQyOFv4GxqpL0nRP7SLLY=
-github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E=
github.com/emirpasic/gods v1.12.0 h1:QAUIPSaCu4G+POclxeqb3F+WPpdKqFGlw36+yOzGlrg=
github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
-github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ=
github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0=
-github.com/envoyproxy/go-control-plane v0.10.3 h1:xdCVXxEe0Y3FQith+0cj2irwZudqGYvecuLB1HtdexY=
-github.com/envoyproxy/go-control-plane v0.10.3/go.mod h1:fJJn/j26vwOu972OllsvAgJJM//w9BV6Fxbg2LuVd34=
+github.com/envoyproxy/go-control-plane v0.11.1-0.20230524094728-9239064ad72f h1:7T++XKzy4xg7PKy+bM+Sa9/oe1OC88yz2hXQUISoXfA=
+github.com/envoyproxy/go-control-plane v0.11.1-0.20230524094728-9239064ad72f/go.mod h1:sfYdkwUW4BA3PbKjySwjJy+O4Pu0h62rlqCMHNk+K+Q=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
-github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo=
-github.com/envoyproxy/protoc-gen-validate v0.9.1 h1:PS7VIOgmSVhWUEeZwTe7z7zouA22Cr590PzXKbZHOVY=
-github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0++PMirau2/yoOwVac3AbF2w=
+github.com/envoyproxy/protoc-gen-validate v0.10.1 h1:c0g45+xCJhdgFGw7a5QAfdS4byAbud7miNWJ1WwEVf8=
+github.com/envoyproxy/protoc-gen-validate v0.10.1/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss=
github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w=
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc=
@@ -132,9 +89,6 @@ github.com/go-git/go-billy/v5 v5.3.1/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI
github.com/go-git/go-git-fixtures/v4 v4.2.1/go.mod h1:K8zd3kDUAykwTdDCr+I0per6Y6vMiRR/nnVTBtavnB0=
github.com/go-git/go-git/v5 v5.4.2 h1:BXyZu9t0VkbiHtqrsvdq39UDhGJTl1h55VW6CSC4aY4=
github.com/go-git/go-git/v5 v5.4.2/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti4ihgckDc=
-github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
-github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
-github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
@@ -142,27 +96,18 @@ github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
-github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ=
-github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4=
-github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
-github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE=
+github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ=
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
-github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
-github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
-github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
-github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
-github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
-github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4=
github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
-github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk=
github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
@@ -172,50 +117,34 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
-github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
-github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
-github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
+github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
+github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/google/btree v1.1.2 h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE=
github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cpy v0.0.0-20211218193943-a9c933c06932 h1:5/4TSDzpDnHQ8rKEEQBjRlYx77mHOvXu08oGchxej7o=
github.com/google/go-cpy v0.0.0-20211218193943-a9c933c06932/go.mod h1:cC6EdPbj/17GFCPDK39NRarlMI+kt+O60S12cNB5J9Y=
-github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
-github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
-github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
-github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
-github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
-github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
-github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
-github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
-github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
-github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
+github.com/google/s2a-go v0.1.4 h1:1kZ/sQM3srePvKs3tXAvQzo66XfcReoqFpIpIccE7Oc=
+github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/googleapis/enterprise-certificate-proxy v0.2.3 h1:yk9/cqRKtT9wXZSsRH9aurXEpJX+U6FLtpYTdC3R06k=
-github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k=
-github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
-github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
-github.com/googleapis/gax-go/v2 v2.7.1 h1:gF4c0zjUP2H/s/hEGyLA3I0fA2ZWjzYiONAD6cvPr8A=
-github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI=
+github.com/googleapis/enterprise-certificate-proxy v0.2.5 h1:UR4rDjcgpgEnqpIEvkiqTYKBCKLNmlge2eVjoZfySzM=
+github.com/googleapis/enterprise-certificate-proxy v0.2.5/go.mod h1:RxW0N9901Cko1VOCW3SXCpWP+mlIEkk2tP7jnHy9a3w=
+github.com/googleapis/gax-go/v2 v2.11.0 h1:9V9PWXEsWnPpQhu/PeQIkS4eGzMlTLGgt80cUUI8Ki4=
+github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5iydzRfb3peWZJI=
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw=
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y=
github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
-github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks=
github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/go-checkpoint v0.5.0 h1:MFYpPZCnQqQTE18jFwSII6eUQrD/oxMFp3mlgcqk5mU=
@@ -239,8 +168,6 @@ github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09
github.com/hashicorp/go-version v1.5.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek=
github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
-github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
-github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/hc-install v0.4.0 h1:cZkRFr1WVa0Ty6x5fTvL1TuO1flul231rWkGH92oYYk=
github.com/hashicorp/hc-install v0.4.0/go.mod h1:5d155H8EC5ewegao9A4PUTMNPZaq+TbOzkJJZ4vrXeI=
github.com/hashicorp/hcl/v2 v2.14.1 h1:x0BpjfZ+CYdbiz+8yZTQ+gdLO7IXvOut7Da+XJayx34=
@@ -253,6 +180,8 @@ github.com/hashicorp/terraform-json v0.14.0 h1:sh9iZ1Y8IFJLx+xQiKHGud6/TSUCM0N8e
github.com/hashicorp/terraform-json v0.14.0/go.mod h1:5A9HIWPkk4e5aeeXIBbkcOvaZbIYnAIkEyqP2pNSckM=
github.com/hashicorp/terraform-plugin-framework v1.1.1 h1:PbnEKHsIU8KTTzoztHQGgjZUWx7Kk8uGtpGMMc1p+oI=
github.com/hashicorp/terraform-plugin-framework v1.1.1/go.mod h1:DyZPxQA+4OKK5ELxFIIcqggcszqdWWUpTLPHAhS/tkY=
+github.com/hashicorp/terraform-plugin-framework-validators v0.9.0 h1:LYz4bXh3t7bTEydXOmPDPupRRnA480B/9+jV8yZvxBA=
+github.com/hashicorp/terraform-plugin-framework-validators v0.9.0/go.mod h1:+BVERsnfdlhYR2YkXMBtPnmn9UsL19U3qUtSZ+Y/5MY=
github.com/hashicorp/terraform-plugin-go v0.14.3 h1:nlnJ1GXKdMwsC8g1Nh05tK2wsC3+3BL/DBBxFEki+j0=
github.com/hashicorp/terraform-plugin-go v0.14.3/go.mod h1:7ees7DMZ263q8wQ6E4RdIdR6nHHJtrdt4ogX5lPkX1A=
github.com/hashicorp/terraform-plugin-log v0.7.0 h1:SDxJUyT8TwN4l5b5/VkiTIaQgY6R+Y2BQ0sRZftGKQs=
@@ -261,30 +190,25 @@ github.com/hashicorp/terraform-plugin-mux v0.8.0 h1:WCTP66mZ+iIaIrCNJnjPEYnVjawT
github.com/hashicorp/terraform-plugin-mux v0.8.0/go.mod h1:vdW0daEi8Kd4RFJmet5Ot+SIVB/B8SwQVJiYKQwdCy8=
github.com/hashicorp/terraform-plugin-sdk/v2 v2.24.0 h1:FtCLTiTcykdsURXPt/ku7fYXm3y19nbzbZcUxHx9RbI=
github.com/hashicorp/terraform-plugin-sdk/v2 v2.24.0/go.mod h1:80wf5oad1tW+oLnbXS4UTYmDCrl7BuN1Q+IA91X1a4Y=
-github.com/hashicorp/terraform-provider-google v1.20.1-0.20230327171628-0dc3bde12208 h1:vcmq3h7Nn2QK86EVNLeqTRcdmPD7r3mMJLdDUbCWa0Y=
-github.com/hashicorp/terraform-provider-google v1.20.1-0.20230327171628-0dc3bde12208/go.mod h1:Wn+5oEyIb0xoRzKqjLIZ8DE7bvH9WQ68mAb3G8RJrcE=
+github.com/hashicorp/terraform-provider-google v1.20.1-0.20230718215755-3edc574a3a8f h1:2sKkIdnfifwt0AHVjDQ25meweYxCiD4vb/0bXITerSA=
+github.com/hashicorp/terraform-provider-google v1.20.1-0.20230718215755-3edc574a3a8f/go.mod h1:U5Kc3m293wEkGpgbyrCsmVLQfty60myf2D+UslmqJBU=
github.com/hashicorp/terraform-registry-address v0.1.0 h1:W6JkV9wbum+m516rCl5/NjKxCyTVaaUBbzYcMzBDO3U=
github.com/hashicorp/terraform-registry-address v0.1.0/go.mod h1:EnyO2jYO6j29DTHbJcm00E5nQTFeTtyZH3H5ycydQ5A=
github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734 h1:HKLsbzeOsfXmKNpr3GiT18XAblV0BjCbzL8KQAMZGa0=
github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734/go.mod h1:kNDNcF7sN4DocDLBkQYz73HGKwN1ANB1blq4lIYLYvg=
github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d h1:kJCB4vdITiW1eC1vq2e6IsrXKrZit1bv/TDYFGMp4BQ=
github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM=
-github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho=
-github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU=
github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA=
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo=
github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4=
-github.com/jhump/protoreflect v1.6.1 h1:4/2yi5LyDPP7nN+Hiird1SAJ6YoxUm13/oxHGRnbPd8=
-github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
-github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
+github.com/jhump/protoreflect v1.6.0 h1:h5jfMVslIg6l29nsMs0D8Wj17RDVdNYti0vDN/PZZoE=
github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 h1:DowS9hvgyYSX4TO5NpyC606/Z4SxnNYbT+WX27or6Ck=
github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
-github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI=
@@ -296,7 +220,6 @@ github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k=
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
-github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA=
github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA=
github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40=
@@ -324,13 +247,10 @@ github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQ
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
-github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
-github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/sebdah/goldie v1.0.0/go.mod h1:jXP4hmWywNEwZzhMuv2ccnqTSFpuq8iyQhtQdkkZBH4=
github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ=
@@ -338,9 +258,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.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE=
github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
-github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
-github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4=
-github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
@@ -349,13 +266,12 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
-github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
-github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
+github.com/stretchr/testify v1.8.3 h1:RP3t2pwF7cMEbC1dqtB6poj3niw/9gnV4Cjg5oW5gtY=
github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk=
github.com/vmihailenco/msgpack v4.0.4+incompatible h1:dSLoQfGFAo3F6OoNhwUmLwVgaUXK79GlxNBwueZn0xI=
github.com/vmihailenco/msgpack v4.0.4+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk=
@@ -366,11 +282,8 @@ github.com/vmihailenco/tagparser v0.1.2 h1:gnjoVuB/kljJ5wICEEOpx98oXMWPLj22G67Vb
github.com/vmihailenco/tagparser v0.1.2/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI=
github.com/xanzy/ssh-agent v0.3.0 h1:wUMzuKtKilRgBAD1sUb8gOwwRr2FGoBVumcjoOACClI=
github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0=
-github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
-github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
-github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
github.com/zclconf/go-cty v1.1.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s=
github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8=
@@ -378,170 +291,68 @@ github.com/zclconf/go-cty v1.10.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uU
github.com/zclconf/go-cty v1.11.0 h1:726SxLdi2SDnjY+BStqB9J1hNp4+2WlzyXLuimibIe0=
github.com/zclconf/go-cty v1.11.0/go.mod h1:s9IfD1LK5ccNMSWCVFCE2rJfHiZgi7JijgeWIMfhLvA=
github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8=
-go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
-go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
-go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
-go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
-go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
-go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U=
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
-golang.org/x/crypto v0.0.0-20220517005047-85d78b3ac167 h1:O8uGbHCqlTp2P6QJSLmCojM4mN6UemYv8K+dCnmHmu0=
-golang.org/x/crypto v0.0.0-20220517005047-85d78b3ac167/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
+golang.org/x/crypto v0.11.0 h1:6Ewdq3tDic1mg5xRO4milcWCfMVQhI4NkqWWvqejpuA=
+golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
-golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
-golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
-golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek=
-golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY=
-golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
-golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
-golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
-golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
-golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
-golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
-golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
-golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs=
-golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
-golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
-golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
-golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
-golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
-golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
-golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
-golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
-golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
-golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ=
-golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
+golang.org/x/net v0.12.0 h1:cfawfvKITfUsFCeJIHJrbSxpeu/E81khclypR0GVT50=
+golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
-golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
-golang.org/x/oauth2 v0.6.0 h1:Lh8GPgSKBfWSwFvtuWOfeI3aAAnbXTSutYxJiOJFgIw=
-golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw=
+golang.org/x/oauth2 v0.9.0 h1:BPpt2kU7oMRq3kCHAA1tbSEshXRw1LpG2ztgDwrzuAs=
+golang.org/x/oauth2 v0.9.0/go.mod h1:qYgFZaFiu6Wg24azG8bdV52QJXJGbZzIIsRCdVKzbLw=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210502180810-71e4cd670f79/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ=
-golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
-golang.org/x/term v0.6.0 h1:clScbb1cHjoCkyRbWwBEUZ5H/tIFu5TAXIqaZD0Gcjw=
-golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
-golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68=
-golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
-golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/sys v0.10.0 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA=
+golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o=
+golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4=
+golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
-golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
-golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
-golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
-golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
-golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
-golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
-golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
-golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
-golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
-golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
-golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
-golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -550,87 +361,35 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk=
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
-google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
-google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
-google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
-google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
-google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
-google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
-google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
-google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
-google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
-google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
-google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
-google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
-google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
-google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
-google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM=
-google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc=
-google.golang.org/api v0.114.0 h1:1xQPji6cO2E2vLiI+C/XiFAnsn1WV3mjaEwGLhi3grE=
-google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg=
+google.golang.org/api v0.130.0 h1:A50ujooa1h9iizvfzA4rrJr2B7uRmWexwbekQ2+5FPQ=
+google.golang.org/api v0.130.0/go.mod h1:J/LCJMYSDFvAVREGCbrESb53n4++NMBDetSHGL5I5RY=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
-google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
-google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
-google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c=
google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
-google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
-google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
-google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA=
-google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U=
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
-google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA=
-google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
-google.golang.org/genproto v0.0.0-20220329172620-7be39ac1afc7/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
-google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4 h1:DdoeryqhaXp1LtT/emMP1BRJPHHKFi5akj/nbx/zNTA=
-google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s=
+google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc h1:8DyZCyvI8mE1IdLy/60bS+52xfymkE72wv1asokgtao=
+google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64=
+google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc h1:kVKPf/IiYSBWEWtkIn6wZXwWGCnLKcC8oWfZvXjsGnM=
+google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230629202037-9506855d4529 h1:DEH99RbiLZhMxrpEJCZ0A+wdTe0EOgou/poSLx9vWf4=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230629202037-9506855d4529/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
-google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
-google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
-google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
-google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
-google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60=
google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
-google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
-google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0=
google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
-google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
-google.golang.org/grpc v1.42.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 v1.53.0 h1:LAv2ds7cmFV/XTS3XG1NneeENYrXGmorPxsBbptIjNc=
-google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw=
+google.golang.org/grpc v1.56.1 h1:z0dNfjIl0VpaZ9iSVjA6daGatAYwPGstTjt5vkRMFkQ=
+google.golang.org/grpc v1.56.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
@@ -639,21 +398,17 @@ google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzi
google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
-google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
-google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
-google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
-google.golang.org/protobuf v1.29.1 h1:7QBf+IK2gx70Ap/hDsOmam3GE0v9HicjfEdAxE62UoM=
-google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
+google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
+google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
-gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME=
gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
@@ -661,18 +416,9 @@ gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
-gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
-honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
-honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
rsc.io/binaryregexp v0.2.0 h1:HfqmD5MEmC0zvwBuF187nq9mdnXjXsSivRiXN7SmRkE=
-rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
-rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
-rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
diff --git a/terraform/providers/google/vendor/cloud.google.com/go/.release-please-manifest-individual.json b/terraform/providers/google/vendor/cloud.google.com/go/.release-please-manifest-individual.json
index 3a9f008201..df63131eb5 100644
--- a/terraform/providers/google/vendor/cloud.google.com/go/.release-please-manifest-individual.json
+++ b/terraform/providers/google/vendor/cloud.google.com/go/.release-please-manifest-individual.json
@@ -1,13 +1,13 @@
{
- "bigquery": "1.46.0",
+ "bigquery": "1.51.2",
"bigtable": "1.18.1",
- "datastore": "1.10.0",
+ "datastore": "1.11.0",
"errorreporting": "0.3.0",
"firestore": "1.9.0",
- "logging": "1.6.1",
+ "logging": "1.7.0",
"profiler": "0.3.1",
- "pubsub": "1.28.0",
- "pubsublite": "1.6.0",
- "spanner": "1.44.0",
- "storage": "1.29.0"
+ "pubsub": "1.30.1",
+ "pubsublite": "1.8.0",
+ "spanner": "1.45.1",
+ "storage": "1.30.1"
}
diff --git a/terraform/providers/google/vendor/cloud.google.com/go/.release-please-manifest-submodules.json b/terraform/providers/google/vendor/cloud.google.com/go/.release-please-manifest-submodules.json
index 50a4d12bca..4e79b0916d 100644
--- a/terraform/providers/google/vendor/cloud.google.com/go/.release-please-manifest-submodules.json
+++ b/terraform/providers/google/vendor/cloud.google.com/go/.release-please-manifest-submodules.json
@@ -1,116 +1,123 @@
{
- "accessapproval": "1.6.0",
- "accesscontextmanager": "1.6.0",
- "aiplatform": "1.34.0",
- "analytics": "0.17.0",
- "apigateway": "1.5.0",
- "apigeeconnect": "1.5.0",
- "apigeeregistry": "0.3.0",
- "apikeys": "0.3.0",
- "appengine": "1.6.0",
- "area120": "0.7.0",
- "artifactregistry": "1.11.0",
- "asset": "1.11.1",
- "assuredworkloads": "1.10.0",
- "automl": "1.12.0",
- "baremetalsolution": "0.5.0",
- "batch": "0.7.0",
- "beyondcorp": "0.4.0",
- "billing": "1.12.0",
- "binaryauthorization": "1.5.0",
- "certificatemanager": "1.6.0",
- "channel": "1.11.0",
- "cloudbuild": "1.6.0",
- "clouddms": "1.5.0",
- "cloudtasks": "1.9.0",
- "compute": "1.18.0",
+ "accessapproval": "1.6.1",
+ "accesscontextmanager": "1.7.1",
+ "advisorynotifications": "0.2.1",
+ "aiplatform": "1.40.1",
+ "alloydb": "1.0.1",
+ "analytics": "0.19.1",
+ "apigateway": "1.5.1",
+ "apigeeconnect": "1.5.1",
+ "apigeeregistry": "0.6.1",
+ "apikeys": "1.0.1",
+ "appengine": "1.7.3",
+ "area120": "0.7.2",
+ "artifactregistry": "1.13.1",
+ "asset": "1.13.1",
+ "assuredworkloads": "1.10.1",
+ "automl": "1.12.1",
+ "baremetalsolution": "1.0.1",
+ "batch": "1.0.1",
+ "beyondcorp": "0.5.1",
+ "billing": "1.13.1",
+ "binaryauthorization": "1.5.1",
+ "certificatemanager": "1.6.1",
+ "channel": "1.12.1",
+ "cloudbuild": "1.9.1",
+ "clouddms": "1.5.1",
+ "cloudtasks": "1.10.1",
+ "compute": "1.19.2",
"compute/metadata": "0.2.3",
- "contactcenterinsights": "1.6.0",
- "container": "1.13.1",
- "containeranalysis": "0.7.0",
- "datacatalog": "1.12.0",
- "dataflow": "0.8.0",
- "dataform": "0.6.0",
- "datafusion": "1.6.0",
- "datalabeling": "0.7.0",
- "dataplex": "1.5.2",
- "dataproc": "1.12.0",
- "dataqna": "0.7.0",
- "datastream": "1.6.0",
- "deploy": "1.6.0",
- "dialogflow": "1.27.0",
- "dlp": "1.9.0",
- "documentai": "1.15.0",
- "domains": "0.8.0",
- "edgecontainer": "0.3.0",
- "essentialcontacts": "1.5.0",
- "eventarc": "1.10.0",
- "filestore": "1.5.0",
- "functions": "1.10.0",
- "gaming": "1.9.0",
- "gkebackup": "0.4.0",
- "gkeconnect": "0.7.0",
- "gkehub": "0.11.0",
- "gkemulticloud": "0.5.0",
- "grafeas": "0.2.0",
- "gsuiteaddons": "1.5.0",
- "iam": "0.10.0",
- "iap": "1.6.0",
- "ids": "1.3.0",
- "iot": "1.5.0",
- "kms": "1.8.0",
- "language": "1.9.0",
- "lifesciences": "0.8.0",
- "longrunning": "0.4.1",
- "managedidentities": "1.5.0",
- "maps": "0.6.0",
- "mediatranslation": "0.7.0",
- "memcache": "1.9.0",
- "metastore": "1.10.0",
- "monitoring": "1.12.0",
- "networkconnectivity": "1.10.0",
- "networkmanagement": "1.6.0",
- "networksecurity": "0.7.0",
- "notebooks": "1.7.0",
- "optimization": "1.3.1",
- "orchestration": "1.6.0",
- "orgpolicy": "1.10.0",
- "osconfig": "1.11.0",
- "oslogin": "1.9.0",
- "phishingprotection": "0.7.0",
- "policytroubleshooter": "1.5.0",
- "privatecatalog": "0.7.0",
- "recaptchaenterprise/v2": "2.6.0",
- "recommendationengine": "0.7.0",
- "recommender": "1.9.0",
- "redis": "1.11.0",
- "resourcemanager": "1.5.0",
- "resourcesettings": "1.5.0",
- "retail": "1.12.0",
- "run": "0.8.0",
- "scheduler": "1.8.0",
- "secretmanager": "1.10.0",
- "security": "1.12.0",
- "securitycenter": "1.18.1",
- "servicecontrol": "1.10.0",
- "servicedirectory": "1.8.0",
- "servicemanagement": "1.6.0",
- "serviceusage": "1.5.0",
- "shell": "1.6.0",
- "speech": "1.14.1",
- "storagetransfer": "1.7.0",
- "talent": "1.5.0",
- "texttospeech": "1.6.0",
- "tpu": "1.5.0",
- "trace": "1.8.0",
- "translate": "1.5.0",
- "video": "1.12.0",
- "videointelligence": "1.10.0",
- "vision/v2": "2.6.0",
- "vmmigration": "1.5.0",
- "vmwareengine": "0.2.2",
- "vpcaccess": "1.6.0",
- "webrisk": "1.8.0",
- "websecurityscanner": "1.5.0",
- "workflows": "1.10.0"
+ "confidentialcomputing": "0.2.1",
+ "contactcenterinsights": "1.7.1",
+ "container": "1.18.1",
+ "containeranalysis": "0.9.2",
+ "datacatalog": "1.13.1",
+ "dataflow": "0.8.1",
+ "dataform": "0.7.1",
+ "datafusion": "1.6.1",
+ "datalabeling": "0.7.1",
+ "dataplex": "1.7.1",
+ "dataproc": "2.0.0",
+ "dataqna": "0.7.1",
+ "datastream": "1.7.1",
+ "deploy": "1.8.1",
+ "dialogflow": "1.32.1",
+ "discoveryengine": "0.3.1",
+ "dlp": "1.9.1",
+ "documentai": "1.18.1",
+ "domains": "0.8.1",
+ "edgecontainer": "1.0.1",
+ "essentialcontacts": "1.5.1",
+ "eventarc": "1.11.1",
+ "filestore": "1.6.1",
+ "functions": "1.13.1",
+ "gaming": "1.9.1",
+ "gkebackup": "1.0.1",
+ "gkeconnect": "0.7.1",
+ "gkehub": "0.13.1",
+ "gkemulticloud": "0.5.1",
+ "grafeas": "0.2.1",
+ "gsuiteaddons": "1.5.1",
+ "iam": "1.0.1",
+ "iap": "1.7.3",
+ "ids": "1.3.1",
+ "iot": "1.6.1",
+ "kms": "1.10.2",
+ "language": "1.9.1",
+ "lifesciences": "0.8.1",
+ "longrunning": "0.4.2",
+ "managedidentities": "1.5.1",
+ "maps": "1.0.1",
+ "mediatranslation": "0.7.1",
+ "memcache": "1.9.1",
+ "metastore": "1.10.1",
+ "monitoring": "1.13.1",
+ "networkconnectivity": "1.11.1",
+ "networkmanagement": "1.6.1",
+ "networksecurity": "0.8.1",
+ "notebooks": "1.8.1",
+ "optimization": "1.3.2",
+ "orchestration": "1.6.1",
+ "orgpolicy": "1.10.1",
+ "osconfig": "1.11.1",
+ "oslogin": "1.9.1",
+ "phishingprotection": "0.7.1",
+ "policytroubleshooter": "1.6.1",
+ "privatecatalog": "0.8.1",
+ "recaptchaenterprise/v2": "2.7.1",
+ "recommendationengine": "0.7.1",
+ "recommender": "1.9.1",
+ "redis": "1.11.1",
+ "resourcemanager": "1.8.1",
+ "resourcesettings": "1.5.1",
+ "retail": "1.13.1",
+ "run": "1.0.1",
+ "scheduler": "1.9.1",
+ "secretmanager": "1.10.1",
+ "security": "1.14.1",
+ "securitycenter": "1.20.1",
+ "servicecontrol": "1.11.2",
+ "servicedirectory": "1.9.1",
+ "servicemanagement": "1.8.1",
+ "serviceusage": "1.6.1",
+ "shell": "1.6.1",
+ "speech": "1.15.1",
+ "storageinsights": "0.1.0",
+ "storagetransfer": "1.8.1",
+ "support": "0.1.0",
+ "talent": "1.5.2",
+ "texttospeech": "1.6.1",
+ "tpu": "1.5.1",
+ "trace": "1.9.1",
+ "translate": "1.7.1",
+ "video": "1.16.1",
+ "videointelligence": "1.10.1",
+ "vision/v2": "2.7.1",
+ "vmmigration": "1.6.1",
+ "vmwareengine": "0.3.1",
+ "vpcaccess": "1.6.1",
+ "webrisk": "1.8.1",
+ "websecurityscanner": "1.5.1",
+ "workflows": "1.10.1",
+ "workstations": "0.2.1"
}
diff --git a/terraform/providers/google/vendor/cloud.google.com/go/.release-please-manifest.json b/terraform/providers/google/vendor/cloud.google.com/go/.release-please-manifest.json
index d077941155..b1cef4f2c0 100644
--- a/terraform/providers/google/vendor/cloud.google.com/go/.release-please-manifest.json
+++ b/terraform/providers/google/vendor/cloud.google.com/go/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "0.110.0"
+ ".": "0.110.2"
}
diff --git a/terraform/providers/google/vendor/cloud.google.com/go/CHANGES.md b/terraform/providers/google/vendor/cloud.google.com/go/CHANGES.md
index 34209ce0c1..0feae98e34 100644
--- a/terraform/providers/google/vendor/cloud.google.com/go/CHANGES.md
+++ b/terraform/providers/google/vendor/cloud.google.com/go/CHANGES.md
@@ -1,5 +1,19 @@
# Changes
+## [0.110.2](https://github.com/googleapis/google-cloud-go/compare/v0.110.1...v0.110.2) (2023-05-08)
+
+
+### Bug Fixes
+
+* **deps:** Update grpc to v1.55.0 ([#7885](https://github.com/googleapis/google-cloud-go/issues/7885)) ([9fc48a9](https://github.com/googleapis/google-cloud-go/commit/9fc48a921428c94c725ea90415d55ff0c177dd81))
+
+## [0.110.1](https://github.com/googleapis/google-cloud-go/compare/v0.110.0...v0.110.1) (2023-05-03)
+
+
+### Bug Fixes
+
+* **httpreplay:** Add ignore-header flag, fix tests ([#7865](https://github.com/googleapis/google-cloud-go/issues/7865)) ([1829706](https://github.com/googleapis/google-cloud-go/commit/1829706c5ade36cc786b2e6780fda5e7302f965b))
+
## [0.110.0](https://github.com/googleapis/google-cloud-go/compare/v0.109.0...v0.110.0) (2023-02-15)
diff --git a/terraform/providers/google/vendor/cloud.google.com/go/bigtable/CHANGES.md b/terraform/providers/google/vendor/cloud.google.com/go/bigtable/CHANGES.md
index 60eac78f1e..bfd8b32510 100644
--- a/terraform/providers/google/vendor/cloud.google.com/go/bigtable/CHANGES.md
+++ b/terraform/providers/google/vendor/cloud.google.com/go/bigtable/CHANGES.md
@@ -1,5 +1,35 @@
# Changes
+## [1.19.0](https://github.com/googleapis/google-cloud-go/compare/bigtable/v1.18.1...bigtable/v1.19.0) (2023-07-06)
+
+
+### Features
+
+* **bigtable:** Add change stream config to create and update table ([#8180](https://github.com/googleapis/google-cloud-go/issues/8180)) ([32897ce](https://github.com/googleapis/google-cloud-go/commit/32897cec9be7413fa09b403199980e782ae52107))
+* **bigtable:** Update all direct dependencies ([b340d03](https://github.com/googleapis/google-cloud-go/commit/b340d030f2b52a4ce48846ce63984b28583abde6))
+* **bigtable:** Update iam and longrunning deps ([91a1f78](https://github.com/googleapis/google-cloud-go/commit/91a1f784a109da70f63b96414bba8a9b4254cddd))
+
+
+### Bug Fixes
+
+* **bigtable:** REST query UpdateMask bug ([df52820](https://github.com/googleapis/google-cloud-go/commit/df52820b0e7721954809a8aa8700b93c5662dc9b))
+* **bigtable:** Update grpc to v1.55.0 ([1147ce0](https://github.com/googleapis/google-cloud-go/commit/1147ce02a990276ca4f8ab7a1ab65c14da4450ef))
+* **bigtable:** Use fieldmask directly instead of field_mask genproto alias ([#8032](https://github.com/googleapis/google-cloud-go/issues/8032)) ([cae6cd6](https://github.com/googleapis/google-cloud-go/commit/cae6cd6d0e09e98157879fb03fb23f718f4d2bb3))
+
+## [1.18.1](https://github.com/googleapis/google-cloud-go/compare/bigtable/v1.18.0...bigtable/v1.18.1) (2022-12-02)
+
+
+### Bug Fixes
+
+* **bigtable:** downgrade some dependencies ([7540152](https://github.com/googleapis/google-cloud-go/commit/754015236d5af7c82a75da218b71a87b9ead6eb5))
+
+## [1.18.0](https://github.com/googleapis/google-cloud-go/compare/bigtable/v1.17.0...bigtable/v1.18.0) (2022-11-10)
+
+
+### Features
+
+* **bigtable:** Add support for request stats ([#6991](https://github.com/googleapis/google-cloud-go/issues/6991)) ([609421e](https://github.com/googleapis/google-cloud-go/commit/609421e87ff25971f3fc29e15dbcdaa7fba02d11))
+
## [1.17.0](https://github.com/googleapis/google-cloud-go/compare/bigtable/v1.16.0...bigtable/v1.17.0) (2022-11-03)
diff --git a/terraform/providers/google/vendor/cloud.google.com/go/bigtable/admin.go b/terraform/providers/google/vendor/cloud.google.com/go/bigtable/admin.go
index 920197d319..d62dea9288 100644
--- a/terraform/providers/google/vendor/cloud.google.com/go/bigtable/admin.go
+++ b/terraform/providers/google/vendor/cloud.google.com/go/bigtable/admin.go
@@ -40,8 +40,9 @@ import (
gtransport "google.golang.org/api/transport/grpc"
btapb "google.golang.org/genproto/googleapis/bigtable/admin/v2"
"google.golang.org/genproto/googleapis/rpc/status"
- "google.golang.org/genproto/protobuf/field_mask"
"google.golang.org/grpc/metadata"
+ "google.golang.org/protobuf/types/known/durationpb"
+ field_mask "google.golang.org/protobuf/types/known/fieldmaskpb"
)
const adminAddr = "bigtableadmin.googleapis.com:443"
@@ -211,6 +212,11 @@ func (ac *AdminClient) Tables(ctx context.Context) ([]string, error) {
return names, nil
}
+// ChangeStreamRetention indicates how long bigtable should retain change data.
+// Minimum is 1 day. Maximum is 7. nil to not change the retention period. 0 to
+// disable change stream retention.
+type ChangeStreamRetention optional.Duration
+
// DeletionProtection indicates whether the table is protected against data loss
// i.e. when set to protected, deleting the table, the column families in the table,
// and the instance containing the table would be prohibited.
@@ -233,13 +239,14 @@ type TableConf struct {
Families map[string]GCPolicy
// DeletionProtection can be none, protected or unprotected
// set to protected to make the table protected against data loss
- DeletionProtection DeletionProtection
+ DeletionProtection DeletionProtection
+ ChangeStreamRetention ChangeStreamRetention
}
// CreateTable creates a new table in the instance.
// This method may return before the table's creation is complete.
func (ac *AdminClient) CreateTable(ctx context.Context, table string) error {
- return ac.CreateTableFromConf(ctx, &TableConf{TableID: table, DeletionProtection: None})
+ return ac.CreateTableFromConf(ctx, &TableConf{TableID: table, ChangeStreamRetention: nil, DeletionProtection: None})
}
// CreatePresplitTable creates a new table in the instance.
@@ -248,7 +255,7 @@ func (ac *AdminClient) CreateTable(ctx context.Context, table string) error {
// spanning the key ranges: [, s1), [s1, s2), [s2, ).
// This method may return before the table's creation is complete.
func (ac *AdminClient) CreatePresplitTable(ctx context.Context, table string, splitKeys []string) error {
- return ac.CreateTableFromConf(ctx, &TableConf{TableID: table, SplitKeys: splitKeys, DeletionProtection: None})
+ return ac.CreateTableFromConf(ctx, &TableConf{TableID: table, SplitKeys: splitKeys, ChangeStreamRetention: nil, DeletionProtection: None})
}
// CreateTableFromConf creates a new table in the instance from the given configuration.
@@ -269,6 +276,10 @@ func (ac *AdminClient) CreateTableFromConf(ctx context.Context, conf *TableConf)
} else if conf.DeletionProtection == Unprotected {
tbl.DeletionProtection = false
}
+ if conf.ChangeStreamRetention != nil && conf.ChangeStreamRetention.(time.Duration) != 0 {
+ tbl.ChangeStreamConfig = &btapb.ChangeStreamConfig{}
+ tbl.ChangeStreamConfig.RetentionPeriod = durationpb.New(conf.ChangeStreamRetention.(time.Duration))
+ }
if conf.Families != nil {
tbl.ColumnFamilies = make(map[string]*btapb.ColumnFamily)
for fam, policy := range conf.Families {
@@ -307,12 +318,23 @@ type UpdateTableConf struct {
tableID string
// deletionProtection can be unset, true or false
// set to true to make the table protected against data loss
- deletionProtection DeletionProtection
+ deletionProtection DeletionProtection
+ changeStreamRetention ChangeStreamRetention
+}
+
+// UpdateTableDisableChangeStream updates a table to disable change stream for table ID.
+func (ac *AdminClient) UpdateTableDisableChangeStream(ctx context.Context, tableID string) error {
+ return ac.updateTableWithConf(ctx, &UpdateTableConf{tableID, None, time.Duration(0)})
+}
+
+// UpdateTableWithChangeStream updates a table to with the given table ID and change stream config.
+func (ac *AdminClient) UpdateTableWithChangeStream(ctx context.Context, tableID string, changeStreamRetention ChangeStreamRetention) error {
+ return ac.updateTableWithConf(ctx, &UpdateTableConf{tableID, None, changeStreamRetention})
}
// UpdateTableWithDeletionProtection updates a table with the given table ID and deletion protection parameter.
func (ac *AdminClient) UpdateTableWithDeletionProtection(ctx context.Context, tableID string, deletionProtection DeletionProtection) error {
- return ac.updateTableWithConf(ctx, &UpdateTableConf{tableID, deletionProtection})
+ return ac.updateTableWithConf(ctx, &UpdateTableConf{tableID, deletionProtection, nil})
}
// updateTableWithConf updates a table in the instance from the given configuration.
@@ -323,30 +345,34 @@ func (ac *AdminClient) updateTableWithConf(ctx context.Context, conf *UpdateTabl
return errors.New("TableID is required")
}
- if conf.deletionProtection == None {
- return errors.New("deletion protection is required")
- }
-
ctx = mergeOutgoingMetadata(ctx, ac.md)
updateMask := &field_mask.FieldMask{
- Paths: []string{
- "deletion_protection",
- },
- }
-
- deletionProtection := true
- if conf.deletionProtection == Unprotected {
- deletionProtection = false
+ Paths: []string{},
}
prefix := ac.instancePrefix()
req := &btapb.UpdateTableRequest{
Table: &btapb.Table{
- Name: prefix + "/tables/" + conf.tableID,
- DeletionProtection: deletionProtection,
+ Name: prefix + "/tables/" + conf.tableID,
},
UpdateMask: updateMask,
}
+
+ if conf.deletionProtection != None {
+ updateMask.Paths = append(updateMask.Paths, "deletion_protection")
+ req.Table.DeletionProtection = conf.deletionProtection != Unprotected
+ }
+
+ if conf.changeStreamRetention != nil {
+ if conf.changeStreamRetention.(time.Duration) == time.Duration(0) {
+ updateMask.Paths = append(updateMask.Paths, "change_stream_config")
+ } else {
+ updateMask.Paths = append(updateMask.Paths, "change_stream_config.retention_period")
+ req.Table.ChangeStreamConfig = &btapb.ChangeStreamConfig{}
+ req.Table.ChangeStreamConfig.RetentionPeriod = durationpb.New(conf.changeStreamRetention.(time.Duration))
+ }
+ }
+
lro, err := ac.tClient.UpdateTable(ctx, req)
if err != nil {
return fmt.Errorf("error from update: %w", err)
@@ -394,7 +420,8 @@ type TableInfo struct {
// DeletionProtection indicates whether the table is protected against data loss
// DeletionProtection could be None depending on the table view
// for example when using NAME_ONLY, the response does not contain DeletionProtection and the value should be None
- DeletionProtection DeletionProtection
+ DeletionProtection DeletionProtection
+ ChangeStreamRetention ChangeStreamRetention
}
// FamilyInfo represents information about a column family.
@@ -450,6 +477,10 @@ func (ac *AdminClient) TableInfo(ctx context.Context, table string) (*TableInfo,
} else {
ti.DeletionProtection = Unprotected
}
+ if res.ChangeStreamConfig != nil && res.ChangeStreamConfig.RetentionPeriod != nil {
+ ti.ChangeStreamRetention = res.ChangeStreamConfig.RetentionPeriod.AsDuration()
+ }
+
return ti, nil
}
diff --git a/terraform/providers/google/vendor/cloud.google.com/go/bigtable/bigtable.go b/terraform/providers/google/vendor/cloud.google.com/go/bigtable/bigtable.go
index 307f8f43bc..24a3e20fa8 100644
--- a/terraform/providers/google/vendor/cloud.google.com/go/bigtable/bigtable.go
+++ b/terraform/providers/google/vendor/cloud.google.com/go/bigtable/bigtable.go
@@ -37,6 +37,11 @@ import (
"google.golang.org/grpc/codes"
"google.golang.org/grpc/metadata"
"google.golang.org/grpc/status"
+
+ // Install google-c2p resolver, which is required for direct path.
+ _ "google.golang.org/grpc/xds/googledirectpath"
+ // Install RLS load balancer policy, which is needed for gRPC RLS.
+ _ "google.golang.org/grpc/balancer/rls"
)
const prodAddr = "bigtable.googleapis.com:443"
@@ -187,8 +192,9 @@ func (t *Table) ReadRows(ctx context.Context, arg RowSet, f func(Row) bool, opts
AppProfileId: t.c.appProfile,
Rows: arg.proto(),
}
+ settings := makeReadSettings(req)
for _, opt := range opts {
- opt.set(req)
+ opt.set(&settings)
}
ctx, cancel := context.WithCancel(ctx) // for aborting the stream
defer cancel()
@@ -239,6 +245,13 @@ func (t *Table) ReadRows(ctx context.Context, arg RowSet, f func(Row) bool, opts
}
}
}
+
+ // Handle any incoming RequestStats. This should happen at most once.
+ if res.RequestStats != nil && settings.fullReadStatsFunc != nil {
+ stats := makeFullReadStats(res.RequestStats)
+ settings.fullReadStatsFunc(&stats)
+ }
+
if err := cr.Close(); err != nil {
// No need to prepare for a retry, this is an unretryable error.
return err
@@ -453,9 +466,78 @@ func prefixSuccessor(prefix string) string {
return string(ans)
}
+// ReadIterationStats captures information about the iteration of rows or cells over the course of
+// a read, e.g. how many results were scanned in a read operation versus the results returned.
+type ReadIterationStats struct {
+ // The cells returned as part of the request.
+ CellsReturnedCount int64
+
+ // The cells seen (scanned) as part of the request. This includes the count of cells returned, as
+ // captured below.
+ CellsSeenCount int64
+
+ // The rows returned as part of the request.
+ RowsReturnedCount int64
+
+ // The rows seen (scanned) as part of the request. This includes the count of rows returned, as
+ // captured below.
+ RowsSeenCount int64
+}
+
+// RequestLatencyStats provides a measurement of the latency of the request as it interacts with
+// different systems over its lifetime, e.g. how long the request took to execute within a frontend
+// server.
+type RequestLatencyStats struct {
+ // The latency measured by the frontend server handling this request, from when the request was
+ // received, to when this value is sent back in the response. For more context on the component
+ // that is measuring this latency, see: https://cloud.google.com/bigtable/docs/overview
+ FrontendServerLatency time.Duration
+}
+
+// FullReadStats captures all known information about a read.
+type FullReadStats struct {
+ // Iteration stats describe how efficient the read is, e.g. comparing rows seen vs. rows
+ // returned or cells seen vs cells returned can provide an indication of read efficiency
+ // (the higher the ratio of seen to retuned the better).
+ ReadIterationStats ReadIterationStats
+
+ // Request latency stats describe the time taken to complete a request, from the server
+ // side.
+ RequestLatencyStats RequestLatencyStats
+}
+
+// Returns a FullReadStats populated from a RequestStats. This assumes the stats view is
+// REQUEST_STATS_FULL. That is the only stats view currently supported.
+func makeFullReadStats(reqStats *btpb.RequestStats) FullReadStats {
+ statsView := reqStats.GetFullReadStatsView()
+ readStats := statsView.ReadIterationStats
+ latencyStats := statsView.RequestLatencyStats
+ return FullReadStats{
+ ReadIterationStats: ReadIterationStats{
+ CellsReturnedCount: readStats.CellsReturnedCount,
+ CellsSeenCount: readStats.CellsSeenCount,
+ RowsReturnedCount: readStats.RowsReturnedCount,
+ RowsSeenCount: readStats.RowsSeenCount},
+ RequestLatencyStats: RequestLatencyStats{
+ FrontendServerLatency: latencyStats.FrontendServerLatency.AsDuration()}}
+}
+
+// FullReadStatsFunc describes a callback that receives a FullReadStats for evaluation.
+type FullReadStatsFunc func(*FullReadStats)
+
+// readSettings is a collection of objects that can be modified by ReadOption instances to apply settings.
+type readSettings struct {
+ req *btpb.ReadRowsRequest
+ fullReadStatsFunc FullReadStatsFunc
+}
+
+func makeReadSettings(req *btpb.ReadRowsRequest) readSettings {
+ return readSettings{req, nil}
+}
+
// A ReadOption is an optional argument to ReadRows.
type ReadOption interface {
- set(req *btpb.ReadRowsRequest)
+ set(settings *readSettings)
}
// RowFilter returns a ReadOption that applies f to the contents of read rows.
@@ -466,14 +548,27 @@ func RowFilter(f Filter) ReadOption { return rowFilter{f} }
type rowFilter struct{ f Filter }
-func (rf rowFilter) set(req *btpb.ReadRowsRequest) { req.Filter = rf.f.proto() }
+func (rf rowFilter) set(settings *readSettings) { settings.req.Filter = rf.f.proto() }
// LimitRows returns a ReadOption that will limit the number of rows to be read.
func LimitRows(limit int64) ReadOption { return limitRows{limit} }
type limitRows struct{ limit int64 }
-func (lr limitRows) set(req *btpb.ReadRowsRequest) { req.RowsLimit = lr.limit }
+func (lr limitRows) set(settings *readSettings) { settings.req.RowsLimit = lr.limit }
+
+// WithFullReadStats returns a ReadOption that will request FullReadStats
+// and invoke the given callback on the resulting FullReadStats.
+func WithFullReadStats(f FullReadStatsFunc) ReadOption { return withFullReadStats{f} }
+
+type withFullReadStats struct {
+ f FullReadStatsFunc
+}
+
+func (wrs withFullReadStats) set(settings *readSettings) {
+ settings.req.RequestStatsView = btpb.ReadRowsRequest_REQUEST_STATS_FULL
+ settings.fullReadStatsFunc = wrs.f
+}
// mutationsAreRetryable returns true if all mutations are idempotent
// and therefore retryable. A mutation is idempotent iff all cell timestamps
diff --git a/terraform/providers/google/vendor/cloud.google.com/go/bigtable/bigtable_enablexds.go b/terraform/providers/google/vendor/cloud.google.com/go/bigtable/bigtable_enablexds.go
deleted file mode 100644
index 08a9d9b40d..0000000000
--- a/terraform/providers/google/vendor/cloud.google.com/go/bigtable/bigtable_enablexds.go
+++ /dev/null
@@ -1,22 +0,0 @@
-// 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.
-
-//go:build enablexds
-// +build enablexds
-
-package bigtable
-
-import (
- // Install google-c2p resolver, which is required for direct path.
- _ "google.golang.org/grpc/xds/googledirectpath"
-)
diff --git a/terraform/providers/google/vendor/cloud.google.com/go/bigtable/internal/version.go b/terraform/providers/google/vendor/cloud.google.com/go/bigtable/internal/version.go
index 6607c695d5..ac02a3ce12 100644
--- a/terraform/providers/google/vendor/cloud.google.com/go/bigtable/internal/version.go
+++ b/terraform/providers/google/vendor/cloud.google.com/go/bigtable/internal/version.go
@@ -15,4 +15,4 @@
package internal
// Version is the current tagged release of the library.
-const Version = "1.17.0"
+const Version = "1.19.0"
diff --git a/terraform/providers/google/vendor/cloud.google.com/go/compute/internal/version.go b/terraform/providers/google/vendor/cloud.google.com/go/compute/internal/version.go
index ddddbd21f2..7513e24cc7 100644
--- a/terraform/providers/google/vendor/cloud.google.com/go/compute/internal/version.go
+++ b/terraform/providers/google/vendor/cloud.google.com/go/compute/internal/version.go
@@ -15,4 +15,4 @@
package internal
// Version is the current tagged release of the library.
-const Version = "1.18.0"
+const Version = "1.19.3"
diff --git a/terraform/providers/google/vendor/cloud.google.com/go/go.work b/terraform/providers/google/vendor/cloud.google.com/go/go.work
new file mode 100644
index 0000000000..ae8a14b957
--- /dev/null
+++ b/terraform/providers/google/vendor/cloud.google.com/go/go.work
@@ -0,0 +1,149 @@
+go 1.18
+
+use (
+ .
+ ./accessapproval
+ ./accesscontextmanager
+ ./advisorynotifications
+ ./aiplatform
+ ./alloydb
+ ./analytics
+ ./apigateway
+ ./apigeeconnect
+ ./apigeeregistry
+ ./apikeys
+ ./appengine
+ ./area120
+ ./artifactregistry
+ ./asset
+ ./assuredworkloads
+ ./automl
+ ./baremetalsolution
+ ./batch
+ ./beyondcorp
+ ./bigquery
+ ./bigtable
+ ./billing
+ ./binaryauthorization
+ ./certificatemanager
+ ./channel
+ ./cloudbuild
+ ./clouddms
+ ./cloudtasks
+ ./compute
+ ./compute/metadata
+ ./confidentialcomputing
+ ./contactcenterinsights
+ ./container
+ ./containeranalysis
+ ./datacatalog
+ ./dataflow
+ ./dataform
+ ./datafusion
+ ./datalabeling
+ ./dataplex
+ ./dataproc
+ ./dataqna
+ ./datastore
+ ./datastream
+ ./deploy
+ ./dialogflow
+ ./discoveryengine
+ ./dlp
+ ./documentai
+ ./domains
+ ./edgecontainer
+ ./errorreporting
+ ./essentialcontacts
+ ./eventarc
+ ./filestore
+ ./firestore
+ ./functions
+ ./gaming
+ ./gkebackup
+ ./gkeconnect
+ ./gkehub
+ ./gkemulticloud
+ ./grafeas
+ ./gsuiteaddons
+ ./iam
+ ./iap
+ ./ids
+ ./internal/actions
+ ./internal/aliasfix
+ ./internal/aliasgen
+ ./internal/carver
+ ./internal/examples/fake
+ ./internal/examples/mock
+ ./internal/gapicgen
+ ./internal/generated/snippets
+ ./internal/gensnippets
+ ./internal/godocfx
+ ./internal/postprocessor
+ ./iot
+ ./kms
+ ./language
+ ./lifesciences
+ ./logging
+ ./longrunning
+ ./managedidentities
+ ./maps
+ ./mediatranslation
+ ./memcache
+ ./metastore
+ ./monitoring
+ ./networkconnectivity
+ ./networkmanagement
+ ./networksecurity
+ ./notebooks
+ ./optimization
+ ./orchestration
+ ./orgpolicy
+ ./osconfig
+ ./oslogin
+ ./phishingprotection
+ ./policytroubleshooter
+ ./privatecatalog
+ ./profiler
+ ./pubsub
+ ./pubsublite
+ ./recaptchaenterprise
+ ./recaptchaenterprise/v2
+ ./recommendationengine
+ ./recommender
+ ./redis
+ ./resourcemanager
+ ./resourcesettings
+ ./retail
+ ./run
+ ./scheduler
+ ./secretmanager
+ ./security
+ ./securitycenter
+ ./servicecontrol
+ ./servicedirectory
+ ./servicemanagement
+ ./serviceusage
+ ./shell
+ ./spanner
+ ./speech
+ ./storage
+ ./storage/internal/benchmarks
+ ./storagetransfer
+ ./talent
+ ./texttospeech
+ ./tpu
+ ./trace
+ ./translate
+ ./video
+ ./videointelligence
+ ./vision
+ ./vision/v2
+ ./vmmigration
+ ./vmwareengine
+ ./vpcaccess
+ ./webrisk
+ ./websecurityscanner
+ ./workflows
+ ./workstations
+)
diff --git a/terraform/providers/google/vendor/cloud.google.com/go/go.work.sum b/terraform/providers/google/vendor/cloud.google.com/go/go.work.sum
new file mode 100644
index 0000000000..24a40570f2
--- /dev/null
+++ b/terraform/providers/google/vendor/cloud.google.com/go/go.work.sum
@@ -0,0 +1,43 @@
+github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
+github.com/cncf/xds/go v0.0.0-20230310173818-32f1caf87195 h1:58f1tJ1ra+zFINPlwLWvQsR9CzAKt2e+EWV2yX9oXQ4=
+github.com/cncf/xds/go v0.0.0-20230310173818-32f1caf87195/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
+github.com/envoyproxy/go-control-plane v0.11.0 h1:jtLewhRR2vMRNnq2ZZUoCjUlgut+Y0+sDDWPOfwOi1o=
+github.com/envoyproxy/go-control-plane v0.11.0/go.mod h1:VnHyVMpzcLvCFt9yUz1UnCwHLhwx1WguiVDV7pTG/tI=
+github.com/envoyproxy/protoc-gen-validate v0.10.0 h1:oIfnZFdC0YhpNNEX+SuIqko4cqqVZeN9IGTrhZje83Y=
+github.com/envoyproxy/protoc-gen-validate v0.10.0/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss=
+github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ=
+github.com/lyft/protoc-gen-star/v2 v2.0.1/go.mod h1:RcCdONR2ScXaYnQC5tUzxzlpA3WVYF7/opLeUgcQs/o=
+github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
+github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
+github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w=
+github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
+github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c=
+go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U=
+golang.org/x/mod v0.9.0 h1:KENHtAZL2y3NLMYZeHY9DW8HW8V+kQyJsY/V9JlKvCs=
+golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE=
+golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw=
+golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA=
+golang.org/x/tools v0.7.0 h1:W4OVu8VVOaIO0yzWMNdepAulS7YfoS3Zabrm8DOXXU4=
+golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s=
+google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
+google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s=
+google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY=
+modernc.org/cc/v3 v3.37.0/go.mod h1:vtL+3mdHx/wcj3iEGz84rQa8vEqR6XM84v5Lcvfph20=
+modernc.org/cc/v3 v3.40.0/go.mod h1:/bTg4dnWkSXowUO6ssQKnOV0yMVxDYNIsIrzqTFDGH0=
+modernc.org/ccgo/v3 v3.0.0-20220904174949-82d86e1b6d56/go.mod h1:YSXjPL62P2AMSxBphRHPn7IkzhVHqkvOnRKAKh+W6ZI=
+modernc.org/ccgo/v3 v3.16.13-0.20221017192402-261537637ce8/go.mod h1:fUB3Vn0nVPReA+7IG7yZDfjv1TMWjhQP8gCxrFAtL5g=
+modernc.org/ccgo/v3 v3.16.13/go.mod h1:2Quk+5YgpImhPjv2Qsob1DnZ/4som1lJTodubIcoUkY=
+modernc.org/libc v1.17.4/go.mod h1:WNg2ZH56rDEwdropAJeZPQkXmDwh+JCA1s/htl6r2fA=
+modernc.org/libc v1.18.0/go.mod h1:vj6zehR5bfc98ipowQOM2nIDUZnVew/wNC/2tOGS+q0=
+modernc.org/libc v1.20.3/go.mod h1:ZRfIaEkgrYgZDl6pa4W39HgN5G/yDW+NRmNKZBDFrk0=
+modernc.org/libc v1.21.4/go.mod h1:przBsL5RDOZajTVslkugzLBj1evTue36jEomFQOoYuI=
+modernc.org/libc v1.22.2/go.mod h1:uvQavJ1pZ0hIoC/jfqNoMLURIMhKzINIWypNM17puug=
+modernc.org/memory v1.3.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
+modernc.org/memory v1.4.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
+modernc.org/memory v1.5.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
+modernc.org/sqlite v1.18.2/go.mod h1:kvrTLEWgxUcHa2GfHBQtanR1H9ht3hTJNtKpzH9k1u0=
+modernc.org/tcl v1.13.2/go.mod h1:7CLiGIPo1M8Rv1Mitpv5akc2+8fxUd2y2UzC/MfMzy0=
+modernc.org/token v1.0.1/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
+modernc.org/token v1.1.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
diff --git a/terraform/providers/google/vendor/cloud.google.com/go/iam/CHANGES.md b/terraform/providers/google/vendor/cloud.google.com/go/iam/CHANGES.md
index 9d39f98060..d18a339ae1 100644
--- a/terraform/providers/google/vendor/cloud.google.com/go/iam/CHANGES.md
+++ b/terraform/providers/google/vendor/cloud.google.com/go/iam/CHANGES.md
@@ -1,5 +1,34 @@
# Changes
+
+## [1.1.0](https://github.com/googleapis/google-cloud-go/compare/iam/v1.0.1...iam/v1.1.0) (2023-05-30)
+
+
+### Features
+
+* **iam:** Update all direct dependencies ([b340d03](https://github.com/googleapis/google-cloud-go/commit/b340d030f2b52a4ce48846ce63984b28583abde6))
+
+## [1.0.1](https://github.com/googleapis/google-cloud-go/compare/iam/v1.0.0...iam/v1.0.1) (2023-05-08)
+
+
+### Bug Fixes
+
+* **iam:** Update grpc to v1.55.0 ([1147ce0](https://github.com/googleapis/google-cloud-go/commit/1147ce02a990276ca4f8ab7a1ab65c14da4450ef))
+
+## [1.0.0](https://github.com/googleapis/google-cloud-go/compare/iam/v0.13.0...iam/v1.0.0) (2023-04-04)
+
+
+### Features
+
+* **iam:** Promote to GA ([#7627](https://github.com/googleapis/google-cloud-go/issues/7627)) ([b351906](https://github.com/googleapis/google-cloud-go/commit/b351906a10e17a02d7f7e2551bc1585fd9dc3742))
+
+## [0.13.0](https://github.com/googleapis/google-cloud-go/compare/iam/v0.12.0...iam/v0.13.0) (2023-03-15)
+
+
+### Features
+
+* **iam:** Update iam and longrunning deps ([91a1f78](https://github.com/googleapis/google-cloud-go/commit/91a1f784a109da70f63b96414bba8a9b4254cddd))
+
## [0.12.0](https://github.com/googleapis/google-cloud-go/compare/iam/v0.11.0...iam/v0.12.0) (2023-02-17)
diff --git a/terraform/providers/google/vendor/cloud.google.com/go/iam/apiv1/iampb/iam_policy.pb.go b/terraform/providers/google/vendor/cloud.google.com/go/iam/apiv1/iampb/iam_policy.pb.go
index 9ef7373d2c..fdcca8a52b 100644
--- a/terraform/providers/google/vendor/cloud.google.com/go/iam/apiv1/iampb/iam_policy.pb.go
+++ b/terraform/providers/google/vendor/cloud.google.com/go/iam/apiv1/iampb/iam_policy.pb.go
@@ -14,8 +14,8 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.26.0
-// protoc v3.21.12
+// protoc-gen-go v1.30.0
+// protoc v4.23.1
// source: google/iam/v1/iam_policy.proto
package iampb
@@ -342,37 +342,37 @@ var file_google_iam_v1_iam_policy_proto_rawDesc = []byte{
0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d,
0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93,
- 0x02, 0x23, 0x22, 0x1e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
- 0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69,
- 0x63, 0x79, 0x3a, 0x01, 0x2a, 0x12, 0x74, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50,
+ 0x02, 0x23, 0x3a, 0x01, 0x2a, 0x22, 0x1e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50,
+ 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x74, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50,
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69,
0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69,
0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
- 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x22, 0x1e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72,
- 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x74, 0x49,
- 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x3a, 0x01, 0x2a, 0x12, 0x9a, 0x01, 0x0a, 0x12,
+ 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x3a, 0x01, 0x2a, 0x22, 0x1e, 0x2f, 0x76, 0x31,
+ 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x3a, 0x67,
+ 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x9a, 0x01, 0x0a, 0x12,
0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
0x6e, 0x73, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e,
0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x22,
- 0x24, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x2a,
- 0x2a, 0x7d, 0x3a, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
- 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x01, 0x2a, 0x1a, 0x1e, 0xca, 0x41, 0x1b, 0x69, 0x61, 0x6d,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x3a,
+ 0x01, 0x2a, 0x22, 0x24, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x3a, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72,
+ 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x1e, 0xca, 0x41, 0x1b, 0x69, 0x61, 0x6d,
0x2d, 0x6d, 0x65, 0x74, 0x61, 0x2d, 0x61, 0x70, 0x69, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x42, 0x86, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d,
- 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x42, 0x0e,
- 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01,
- 0x5a, 0x30, 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, 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x3b, 0x69,
- 0x61, 0x6d, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43,
- 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x49, 0x61, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x47, 0x6f,
- 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x49, 0x61, 0x6d, 0x5c, 0x56,
- 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x42, 0x7f, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x42, 0x0e, 0x49,
+ 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
+ 0x29, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f,
+ 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x69,
+ 0x61, 0x6d, 0x70, 0x62, 0x3b, 0x69, 0x61, 0x6d, 0x70, 0x62, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x13,
+ 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x49, 0x61, 0x6d,
+ 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f,
+ 0x75, 0x64, 0x5c, 0x49, 0x61, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
}
var (
diff --git a/terraform/providers/google/vendor/cloud.google.com/go/iam/apiv1/iampb/options.pb.go b/terraform/providers/google/vendor/cloud.google.com/go/iam/apiv1/iampb/options.pb.go
index 026c115c27..7c91cc59af 100644
--- a/terraform/providers/google/vendor/cloud.google.com/go/iam/apiv1/iampb/options.pb.go
+++ b/terraform/providers/google/vendor/cloud.google.com/go/iam/apiv1/iampb/options.pb.go
@@ -14,8 +14,8 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.26.0
-// protoc v3.21.12
+// protoc-gen-go v1.30.0
+// protoc v4.23.1
// source: google/iam/v1/options.proto
package iampb
@@ -111,16 +111,16 @@ var file_google_iam_v1_options_proto_rawDesc = []byte{
0x12, 0x38, 0x0a, 0x18, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f,
0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x6c,
- 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x84, 0x01, 0x0a, 0x11, 0x63,
- 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31,
- 0x42, 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01,
- 0x5a, 0x30, 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, 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x3b, 0x69,
- 0x61, 0x6d, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43,
- 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x49, 0x61, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x47, 0x6f,
- 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x49, 0x61, 0x6d, 0x5c, 0x56,
- 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x7d, 0x0a, 0x11, 0x63, 0x6f,
+ 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x42,
+ 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
+ 0x29, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f,
+ 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x69,
+ 0x61, 0x6d, 0x70, 0x62, 0x3b, 0x69, 0x61, 0x6d, 0x70, 0x62, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x13,
+ 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x49, 0x61, 0x6d,
+ 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f,
+ 0x75, 0x64, 0x5c, 0x49, 0x61, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
}
var (
diff --git a/terraform/providers/google/vendor/cloud.google.com/go/iam/apiv1/iampb/policy.pb.go b/terraform/providers/google/vendor/cloud.google.com/go/iam/apiv1/iampb/policy.pb.go
index 16bed436c6..8b82b0f58b 100644
--- a/terraform/providers/google/vendor/cloud.google.com/go/iam/apiv1/iampb/policy.pb.go
+++ b/terraform/providers/google/vendor/cloud.google.com/go/iam/apiv1/iampb/policy.pb.go
@@ -14,8 +14,8 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.26.0
-// protoc v3.21.12
+// protoc-gen-go v1.30.0
+// protoc v4.23.1
// source: google/iam/v1/policy.proto
package iampb
@@ -214,7 +214,8 @@ func (AuditConfigDelta_Action) EnumDescriptor() ([]byte, []int) {
// only if the expression evaluates to `true`. A condition can add constraints
// based on attributes of the request, the resource, or both. To learn which
// resources support conditions in their IAM policies, see the
-// [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+// [IAM
+// documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
//
// **JSON example:**
//
@@ -237,7 +238,8 @@ func (AuditConfigDelta_Action) EnumDescriptor() ([]byte, []int) {
// "condition": {
// "title": "expirable access",
// "description": "Does not grant access after Sep 2020",
-// "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')",
+// "expression": "request.time <
+// timestamp('2020-10-01T00:00:00.000Z')",
// }
// }
// ],
@@ -279,11 +281,11 @@ type Policy struct {
// Any operation that affects conditional role bindings must specify version
// `3`. This requirement applies to the following operations:
//
- // - Getting a policy that includes a conditional role binding
- // - Adding a conditional role binding to a policy
- // - Changing a conditional role binding in a policy
- // - Removing any role binding, with or without a condition, from a policy
- // that includes conditions
+ // * Getting a policy that includes a conditional role binding
+ // * Adding a conditional role binding to a policy
+ // * Changing a conditional role binding in a policy
+ // * Removing any role binding, with or without a condition, from a policy
+ // that includes conditions
//
// **Important:** If you use IAM Conditions, you must include the `etag` field
// whenever you call `setIamPolicy`. If you omit this field, then IAM allows
@@ -294,7 +296,8 @@ type Policy struct {
// specify any valid version or leave the field unset.
//
// To learn which resources support conditions in their IAM policies, see the
- // [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+ // [IAM
+ // documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
// Associates a list of `members`, or principals, with a `role`. Optionally,
// may specify a `condition` that determines how and when the `bindings` are
@@ -396,43 +399,47 @@ type Binding struct {
// Specifies the principals requesting access for a Cloud Platform resource.
// `members` can have the following values:
//
- // - `allUsers`: A special identifier that represents anyone who is
- // on the internet; with or without a Google account.
+ // * `allUsers`: A special identifier that represents anyone who is
+ // on the internet; with or without a Google account.
+ //
+ // * `allAuthenticatedUsers`: A special identifier that represents anyone
+ // who is authenticated with a Google account or a service account.
+ //
+ // * `user:{emailid}`: An email address that represents a specific Google
+ // account. For example, `alice@example.com` .
+ //
+ //
+ // * `serviceAccount:{emailid}`: An email address that represents a service
+ // account. For example, `my-other-app@appspot.gserviceaccount.com`.
//
- // - `allAuthenticatedUsers`: A special identifier that represents anyone
- // who is authenticated with a Google account or a service account.
+ // * `group:{emailid}`: An email address that represents a Google group.
+ // For example, `admins@example.com`.
//
- // - `user:{emailid}`: An email address that represents a specific Google
- // account. For example, `alice@example.com` .
+ // * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
+ // identifier) representing a user that has been recently deleted. For
+ // example, `alice@example.com?uid=123456789012345678901`. If the user is
+ // recovered, this value reverts to `user:{emailid}` and the recovered user
+ // retains the role in the binding.
//
- // - `serviceAccount:{emailid}`: An email address that represents a service
- // account. For example, `my-other-app@appspot.gserviceaccount.com`.
+ // * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
+ // unique identifier) representing a service account that has been recently
+ // deleted. For example,
+ // `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
+ // If the service account is undeleted, this value reverts to
+ // `serviceAccount:{emailid}` and the undeleted service account retains the
+ // role in the binding.
//
- // - `group:{emailid}`: An email address that represents a Google group.
- // For example, `admins@example.com`.
+ // * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
+ // identifier) representing a Google group that has been recently
+ // deleted. For example, `admins@example.com?uid=123456789012345678901`. If
+ // the group is recovered, this value reverts to `group:{emailid}` and the
+ // recovered group retains the role in the binding.
//
- // - `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
- // identifier) representing a user that has been recently deleted. For
- // example, `alice@example.com?uid=123456789012345678901`. If the user is
- // recovered, this value reverts to `user:{emailid}` and the recovered user
- // retains the role in the binding.
//
- // - `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
- // unique identifier) representing a service account that has been recently
- // deleted. For example,
- // `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
- // If the service account is undeleted, this value reverts to
- // `serviceAccount:{emailid}` and the undeleted service account retains the
- // role in the binding.
+ // * `domain:{domain}`: The G Suite domain (primary) that represents all the
+ // users of that domain. For example, `google.com` or `example.com`.
//
- // - `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
- // identifier) representing a Google group that has been recently
- // deleted. For example, `admins@example.com?uid=123456789012345678901`. If
- // the group is recovered, this value reverts to `group:{emailid}` and the
- // recovered group retains the role in the binding.
//
- // - `domain:{domain}`: The G Suite domain (primary) that represents all the
- // users of that domain. For example, `google.com` or `example.com`.
Members []string `protobuf:"bytes,2,rep,name=members,proto3" json:"members,omitempty"`
// The condition that is associated with this binding.
//
@@ -640,7 +647,8 @@ type AuditLogConfig struct {
LogType AuditLogConfig_LogType `protobuf:"varint,1,opt,name=log_type,json=logType,proto3,enum=google.iam.v1.AuditLogConfig_LogType" json:"log_type,omitempty"`
// Specifies the identities that do not cause logging for this type of
// permission.
- // Follows the same format of [Binding.members][google.iam.v1.Binding.members].
+ // Follows the same format of
+ // [Binding.members][google.iam.v1.Binding.members].
ExemptedMembers []string `protobuf:"bytes,2,rep,name=exempted_members,json=exemptedMembers,proto3" json:"exempted_members,omitempty"`
}
@@ -999,16 +1007,15 @@ var file_google_iam_v1_policy_proto_rawDesc = []byte{
0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e,
0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07,
0x0a, 0x03, 0x41, 0x44, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x4d, 0x4f, 0x56,
- 0x45, 0x10, 0x02, 0x42, 0x83, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
- 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x50, 0x6f, 0x6c, 0x69, 0x63,
- 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x30, 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,
- 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x3b, 0x69, 0x61, 0x6d, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x13,
- 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x49, 0x61, 0x6d,
- 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f,
- 0x75, 0x64, 0x5c, 0x49, 0x61, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x33,
+ 0x45, 0x10, 0x02, 0x42, 0x7c, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
+ 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x29, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x69, 0x61, 0x6d,
+ 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x69, 0x61, 0x6d, 0x70, 0x62, 0x3b, 0x69, 0x61, 0x6d,
+ 0x70, 0x62, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43,
+ 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x49, 0x61, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x47, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x49, 0x61, 0x6d, 0x5c, 0x56,
+ 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
diff --git a/terraform/providers/google/vendor/cloud.google.com/go/longrunning/CHANGES.md b/terraform/providers/google/vendor/cloud.google.com/go/longrunning/CHANGES.md
index d4b44b09ac..9c793afa7c 100644
--- a/terraform/providers/google/vendor/cloud.google.com/go/longrunning/CHANGES.md
+++ b/terraform/providers/google/vendor/cloud.google.com/go/longrunning/CHANGES.md
@@ -1,5 +1,19 @@
# Changes
+## [0.5.0](https://github.com/googleapis/google-cloud-go/compare/longrunning/v0.4.2...longrunning/v0.5.0) (2023-05-30)
+
+
+### Features
+
+* **longrunning:** Update all direct dependencies ([b340d03](https://github.com/googleapis/google-cloud-go/commit/b340d030f2b52a4ce48846ce63984b28583abde6))
+
+## [0.4.2](https://github.com/googleapis/google-cloud-go/compare/longrunning/v0.4.1...longrunning/v0.4.2) (2023-05-08)
+
+
+### Bug Fixes
+
+* **longrunning:** Update grpc to v1.55.0 ([1147ce0](https://github.com/googleapis/google-cloud-go/commit/1147ce02a990276ca4f8ab7a1ab65c14da4450ef))
+
## [0.4.1](https://github.com/googleapis/google-cloud-go/compare/longrunning/v0.4.0...longrunning/v0.4.1) (2023-02-14)
diff --git a/terraform/providers/google/vendor/cloud.google.com/go/longrunning/autogen/doc.go b/terraform/providers/google/vendor/cloud.google.com/go/longrunning/autogen/doc.go
index 58b74d9605..57b1bbf2cb 100644
--- a/terraform/providers/google/vendor/cloud.google.com/go/longrunning/autogen/doc.go
+++ b/terraform/providers/google/vendor/cloud.google.com/go/longrunning/autogen/doc.go
@@ -17,8 +17,6 @@
// Package longrunning is an auto-generated package for the
// Long Running Operations API.
//
-// NOTE: This package is in alpha. It is not stable, and is likely to change.
-//
// # General documentation
//
// For information about setting deadlines, reusing contexts, and more
diff --git a/terraform/providers/google/vendor/cloud.google.com/go/longrunning/autogen/longrunningpb/operations.pb.go b/terraform/providers/google/vendor/cloud.google.com/go/longrunning/autogen/longrunningpb/operations.pb.go
index 18f7147604..23ec5ee28d 100644
--- a/terraform/providers/google/vendor/cloud.google.com/go/longrunning/autogen/longrunningpb/operations.pb.go
+++ b/terraform/providers/google/vendor/cloud.google.com/go/longrunning/autogen/longrunningpb/operations.pb.go
@@ -14,8 +14,8 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.26.0
-// protoc v3.21.12
+// protoc-gen-go v1.30.0
+// protoc v4.23.1
// source: google/longrunning/operations.proto
package longrunningpb
@@ -70,7 +70,6 @@ type Operation struct {
// If `done` == `true`, exactly one of `error` or `response` is set.
//
// Types that are assignable to Result:
- //
// *Operation_Error
// *Operation_Response
Result isOperation_Result `protobuf_oneof:"result"`
@@ -697,34 +696,34 @@ var file_google_longrunning_operations_proto_rawDesc = []byte{
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4c, 0x69, 0x73,
0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x76, 0x31,
- 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x73, 0x7d, 0xda, 0x41, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
+ 0x6e, 0x73, 0x65, 0x22, 0x2b, 0xda, 0x41, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x66, 0x69, 0x6c,
+ 0x74, 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x76, 0x31, 0x2f, 0x7b,
+ 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x7d,
0x12, 0x7f, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75,
0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f,
- 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a,
- 0x12, 0x18, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x70, 0x65, 0x72,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d,
- 0x65, 0x12, 0x7e, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61,
+ 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x27, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d,
+ 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61,
+ 0x6d, 0x65, 0x3d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2a,
+ 0x7d, 0x12, 0x7e, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f,
0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
- 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a,
- 0x2a, 0x18, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x70, 0x65, 0x72,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d,
- 0x65, 0x12, 0x88, 0x01, 0x0a, 0x0f, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72,
+ 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x27, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d,
+ 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x2a, 0x18, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61,
+ 0x6d, 0x65, 0x3d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2a,
+ 0x7d, 0x12, 0x88, 0x01, 0x0a, 0x0f, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c,
0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65,
0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02,
- 0x24, 0x22, 0x1f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x70, 0x65,
- 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x63, 0x61, 0x6e, 0x63,
- 0x65, 0x6c, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5a, 0x0a, 0x0d,
+ 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x31, 0xda, 0x41, 0x04, 0x6e, 0x61,
+ 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x3a, 0x01, 0x2a, 0x22, 0x1f, 0x2f, 0x76, 0x31,
+ 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x5a, 0x0a, 0x0d,
0x57, 0x61, 0x69, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69,
0x6e, 0x67, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
@@ -739,17 +738,17 @@ var file_google_longrunning_operations_proto_rawDesc = []byte{
0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75,
0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49,
0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e,
- 0x66, 0x6f, 0x42, 0x97, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x66, 0x6f, 0x42, 0x9d, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x42, 0x0f, 0x4f,
0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01,
- 0x5a, 0x3d, 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, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e,
- 0x69, 0x6e, 0x67, 0x3b, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0xf8,
- 0x01, 0x01, 0xaa, 0x02, 0x12, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x4c, 0x6f, 0x6e, 0x67,
- 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0xca, 0x02, 0x12, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x5c, 0x4c, 0x6f, 0x6e, 0x67, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x62, 0x06, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x33,
+ 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e,
+ 0x67, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x67, 0x65, 0x6e, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75,
+ 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x70, 0x62, 0x3b, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e,
+ 0x69, 0x6e, 0x67, 0x70, 0x62, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x12, 0x47, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x4c, 0x6f, 0x6e, 0x67, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0xca, 0x02, 0x12,
+ 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x4c, 0x6f, 0x6e, 0x67, 0x52, 0x75, 0x6e, 0x6e, 0x69,
+ 0x6e, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
diff --git a/terraform/providers/google/vendor/cloud.google.com/go/release-please-config-yoshi-submodules.json b/terraform/providers/google/vendor/cloud.google.com/go/release-please-config-yoshi-submodules.json
index 7d1d51f0ea..d074fb234f 100644
--- a/terraform/providers/google/vendor/cloud.google.com/go/release-please-config-yoshi-submodules.json
+++ b/terraform/providers/google/vendor/cloud.google.com/go/release-please-config-yoshi-submodules.json
@@ -9,9 +9,15 @@
"accesscontextmanager": {
"component": "accesscontextmanager"
},
+ "advisorynotifications": {
+ "component": "advisorynotifications"
+ },
"aiplatform": {
"component": "aiplatform"
},
+ "alloydb": {
+ "component": "alloydb"
+ },
"analytics": {
"component": "analytics"
},
@@ -81,6 +87,9 @@
"compute/metadata": {
"component": "compute/metadata"
},
+ "confidentialcomputing": {
+ "component": "confidentialcomputing"
+ },
"contactcenterinsights": {
"component": "contactcenterinsights"
},
@@ -123,6 +132,9 @@
"dialogflow": {
"component": "dialogflow"
},
+ "discoveryengine": {
+ "component": "discoveryengine"
+ },
"dlp": {
"component": "dlp"
},
@@ -300,12 +312,18 @@
"speech": {
"component": "speech"
},
+ "storageinsights": {
+ "component": "storageinsights"
+ },
"storagetransfer": {
"component": "storagetransfer"
},
"talent": {
"component": "talent"
},
+ "support": {
+ "component": "support"
+ },
"texttospeech": {
"component": "texttospeech"
},
@@ -344,6 +362,9 @@
},
"workflows": {
"component": "workflows"
+ },
+ "workstations": {
+ "component": "workstations"
}
},
"plugins": ["sentence-case"]
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/assuredworkloads/workload.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/assuredworkloads/workload.go
index caf3c57e58..80aa07f346 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/assuredworkloads/workload.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/assuredworkloads/workload.go
@@ -85,7 +85,7 @@ func (v WorkloadComplianceRegimeEnum) Validate() error {
// Empty enum is okay.
return nil
}
- for _, s := range []string{"COMPLIANCE_REGIME_UNSPECIFIED", "IL4", "CJIS", "FEDRAMP_HIGH", "FEDRAMP_MODERATE", "US_REGIONAL_ACCESS"} {
+ for _, s := range []string{"COMPLIANCE_REGIME_UNSPECIFIED", "IL4", "CJIS", "FEDRAMP_HIGH", "FEDRAMP_MODERATE", "US_REGIONAL_ACCESS", "HIPAA", "EU_REGIONS_AND_SUPPORT", "CA_REGIONS_AND_SUPPORT", "ITAR", "AU_REGIONS_AND_US_SUPPORT", "ASSURED_WORKLOADS_FOR_PARTNERS"} {
if string(v) == s {
return nil
}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/assuredworkloads/workload.yaml b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/assuredworkloads/workload.yaml
index 7c8c1e8416..55a52794b0 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/assuredworkloads/workload.yaml
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/assuredworkloads/workload.yaml
@@ -98,7 +98,8 @@ components:
x-dcl-go-type: WorkloadComplianceRegimeEnum
description: 'Required. Immutable. Compliance Regime associated with this
workload. Possible values: COMPLIANCE_REGIME_UNSPECIFIED, IL4, CJIS, FEDRAMP_HIGH,
- FEDRAMP_MODERATE, US_REGIONAL_ACCESS'
+ FEDRAMP_MODERATE, US_REGIONAL_ACCESS, HIPAA, EU_REGIONS_AND_SUPPORT, CA_REGIONS_AND_SUPPORT,
+ ITAR, AU_REGIONS_AND_US_SUPPORT, ASSURED_WORKLOADS_FOR_PARTNERS'
x-kubernetes-immutable: true
enum:
- COMPLIANCE_REGIME_UNSPECIFIED
@@ -107,6 +108,12 @@ components:
- FEDRAMP_HIGH
- FEDRAMP_MODERATE
- US_REGIONAL_ACCESS
+ - HIPAA
+ - EU_REGIONS_AND_SUPPORT
+ - CA_REGIONS_AND_SUPPORT
+ - ITAR
+ - AU_REGIONS_AND_US_SUPPORT
+ - ASSURED_WORKLOADS_FOR_PARTNERS
createTime:
type: string
format: date-time
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/assuredworkloads/workload_schema.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/assuredworkloads/workload_schema.go
index 0f4dc6de54..d14e40b7a5 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/assuredworkloads/workload_schema.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/assuredworkloads/workload_schema.go
@@ -130,7 +130,7 @@ func DCLWorkloadSchema() *dcl.Schema {
Type: "string",
GoName: "ComplianceRegime",
GoType: "WorkloadComplianceRegimeEnum",
- Description: "Required. Immutable. Compliance Regime associated with this workload. Possible values: COMPLIANCE_REGIME_UNSPECIFIED, IL4, CJIS, FEDRAMP_HIGH, FEDRAMP_MODERATE, US_REGIONAL_ACCESS",
+ Description: "Required. Immutable. Compliance Regime associated with this workload. Possible values: COMPLIANCE_REGIME_UNSPECIFIED, IL4, CJIS, FEDRAMP_HIGH, FEDRAMP_MODERATE, US_REGIONAL_ACCESS, HIPAA, EU_REGIONS_AND_SUPPORT, CA_REGIONS_AND_SUPPORT, ITAR, AU_REGIONS_AND_US_SUPPORT, ASSURED_WORKLOADS_FOR_PARTNERS",
Immutable: true,
Enum: []string{
"COMPLIANCE_REGIME_UNSPECIFIED",
@@ -139,6 +139,12 @@ func DCLWorkloadSchema() *dcl.Schema {
"FEDRAMP_HIGH",
"FEDRAMP_MODERATE",
"US_REGIONAL_ACCESS",
+ "HIPAA",
+ "EU_REGIONS_AND_SUPPORT",
+ "CA_REGIONS_AND_SUPPORT",
+ "ITAR",
+ "AU_REGIONS_AND_US_SUPPORT",
+ "ASSURED_WORKLOADS_FOR_PARTNERS",
},
},
"createTime": &dcl.Property{
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/assuredworkloads/workload_yaml_embed.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/assuredworkloads/workload_yaml_embed.go
index e1662d5795..8c0ce3a5ad 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/assuredworkloads/workload_yaml_embed.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/assuredworkloads/workload_yaml_embed.go
@@ -17,7 +17,7 @@
package assuredworkloads
// blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/assuredworkloads/workload.yaml
-var YAML_workload = []byte("info:\n title: AssuredWorkloads/Workload\n description: The AssuredWorkloads Workload resource\n x-dcl-struct-name: Workload\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a Workload\n parameters:\n - name: workload\n required: true\n description: A full instance of a Workload\n apply:\n description: The function used to apply information about a Workload\n parameters:\n - name: workload\n required: true\n description: A full instance of a Workload\n delete:\n description: The function used to delete a Workload\n parameters:\n - name: workload\n required: true\n description: A full instance of a Workload\n deleteAll:\n description: The function used to delete all Workload\n parameters:\n - name: organization\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many Workload\n parameters:\n - name: organization\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n Workload:\n title: Workload\n x-dcl-id: organizations/{{organization}}/locations/{{location}}/workloads/{{name}}\n x-dcl-uses-state-hint: true\n x-dcl-parent-container: organization\n x-dcl-labels: labels\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - displayName\n - complianceRegime\n - billingAccount\n - organization\n - location\n properties:\n billingAccount:\n type: string\n x-dcl-go-name: BillingAccount\n description: Required. Input only. The billing account used for the resources\n which are direct children of workload. This billing account is initially\n associated with the resources created as part of Workload creation. After\n the initial creation of these resources, the customer can change the assigned\n billing account. The resource name has the form `billingAccounts/{billing_account_id}`.\n For example, 'billingAccounts/012345-567890-ABCDEF`.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/BillingAccount\n field: name\n x-dcl-mutable-unreadable: true\n complianceRegime:\n type: string\n x-dcl-go-name: ComplianceRegime\n x-dcl-go-type: WorkloadComplianceRegimeEnum\n description: 'Required. Immutable. Compliance Regime associated with this\n workload. Possible values: COMPLIANCE_REGIME_UNSPECIFIED, IL4, CJIS, FEDRAMP_HIGH,\n FEDRAMP_MODERATE, US_REGIONAL_ACCESS'\n x-kubernetes-immutable: true\n enum:\n - COMPLIANCE_REGIME_UNSPECIFIED\n - IL4\n - CJIS\n - FEDRAMP_HIGH\n - FEDRAMP_MODERATE\n - US_REGIONAL_ACCESS\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Output only. Immutable. The Workload creation timestamp.\n x-kubernetes-immutable: true\n displayName:\n type: string\n x-dcl-go-name: DisplayName\n description: 'Required. The user-assigned display name of the Workload.\n When present it must be between 4 to 30 characters. Allowed characters\n are: lowercase and uppercase letters, numbers, hyphen, and spaces. Example:\n My Workload'\n kmsSettings:\n type: object\n x-dcl-go-name: KmsSettings\n x-dcl-go-type: WorkloadKmsSettings\n description: Input only. Settings used to create a CMEK crypto key. When\n set a project with a KMS CMEK key is provisioned. This field is mandatory\n for a subset of Compliance Regimes.\n x-kubernetes-immutable: true\n x-dcl-mutable-unreadable: true\n required:\n - nextRotationTime\n - rotationPeriod\n properties:\n nextRotationTime:\n type: string\n format: date-time\n x-dcl-go-name: NextRotationTime\n description: Required. Input only. Immutable. The time at which the\n Key Management Service will automatically create a new version of\n the crypto key and mark it as the primary.\n x-kubernetes-immutable: true\n rotationPeriod:\n type: string\n x-dcl-go-name: RotationPeriod\n description: Required. Input only. Immutable. will be advanced by this\n period when the Key Management Service automatically rotates a key.\n Must be at least 24 hours and at most 876,000 hours.\n x-kubernetes-immutable: true\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: Optional. Labels applied to the workload.\n location:\n type: string\n x-dcl-go-name: Location\n description: The location for the resource\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: Output only. The resource name of the workload.\n x-kubernetes-immutable: true\n x-dcl-server-generated-parameter: true\n organization:\n type: string\n x-dcl-go-name: Organization\n description: The organization for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Organization\n field: name\n parent: true\n provisionedResourcesParent:\n type: string\n x-dcl-go-name: ProvisionedResourcesParent\n description: 'Input only. The parent resource for the resources managed\n by this Assured Workload. May be either an organization or a folder. Must\n be the same or a child of the Workload parent. If not specified all resources\n are created under the Workload parent. Formats: folders/{folder_id}, organizations/{organization_id}'\n x-kubernetes-immutable: true\n x-dcl-mutable-unreadable: true\n resourceSettings:\n type: array\n x-dcl-go-name: ResourceSettings\n description: Input only. Resource properties that are used to customize\n workload resources. These properties (such as custom project id) will\n be used to create workload resources if possible. This field is optional.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkloadResourceSettings\n properties:\n resourceId:\n type: string\n x-dcl-go-name: ResourceId\n description: Resource identifier. For a project this represents project_number.\n If the project is already taken, the workload creation will fail.\n x-kubernetes-immutable: true\n resourceType:\n type: string\n x-dcl-go-name: ResourceType\n x-dcl-go-type: WorkloadResourceSettingsResourceTypeEnum\n description: 'Indicates the type of resource. This field should be\n specified to correspond the id to the right project type (CONSUMER_PROJECT\n or ENCRYPTION_KEYS_PROJECT) Possible values: RESOURCE_TYPE_UNSPECIFIED,\n CONSUMER_PROJECT, ENCRYPTION_KEYS_PROJECT, KEYRING, CONSUMER_FOLDER'\n x-kubernetes-immutable: true\n enum:\n - RESOURCE_TYPE_UNSPECIFIED\n - CONSUMER_PROJECT\n - ENCRYPTION_KEYS_PROJECT\n - KEYRING\n - CONSUMER_FOLDER\n x-dcl-mutable-unreadable: true\n resources:\n type: array\n x-dcl-go-name: Resources\n readOnly: true\n description: Output only. The resources associated with this workload. These\n resources will be created when creating the workload. If any of the projects\n already exist, the workload creation will fail. Always read only.\n x-kubernetes-immutable: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkloadResources\n properties:\n resourceId:\n type: integer\n format: int64\n x-dcl-go-name: ResourceId\n description: Resource identifier. For a project this represents project_number.\n x-kubernetes-immutable: true\n resourceType:\n type: string\n x-dcl-go-name: ResourceType\n x-dcl-go-type: WorkloadResourcesResourceTypeEnum\n description: 'Indicates the type of resource. Possible values: RESOURCE_TYPE_UNSPECIFIED,\n CONSUMER_PROJECT, ENCRYPTION_KEYS_PROJECT, KEYRING, CONSUMER_FOLDER'\n x-kubernetes-immutable: true\n enum:\n - RESOURCE_TYPE_UNSPECIFIED\n - CONSUMER_PROJECT\n - ENCRYPTION_KEYS_PROJECT\n - KEYRING\n - CONSUMER_FOLDER\n")
+var YAML_workload = []byte("info:\n title: AssuredWorkloads/Workload\n description: The AssuredWorkloads Workload resource\n x-dcl-struct-name: Workload\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a Workload\n parameters:\n - name: workload\n required: true\n description: A full instance of a Workload\n apply:\n description: The function used to apply information about a Workload\n parameters:\n - name: workload\n required: true\n description: A full instance of a Workload\n delete:\n description: The function used to delete a Workload\n parameters:\n - name: workload\n required: true\n description: A full instance of a Workload\n deleteAll:\n description: The function used to delete all Workload\n parameters:\n - name: organization\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many Workload\n parameters:\n - name: organization\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n Workload:\n title: Workload\n x-dcl-id: organizations/{{organization}}/locations/{{location}}/workloads/{{name}}\n x-dcl-uses-state-hint: true\n x-dcl-parent-container: organization\n x-dcl-labels: labels\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - displayName\n - complianceRegime\n - billingAccount\n - organization\n - location\n properties:\n billingAccount:\n type: string\n x-dcl-go-name: BillingAccount\n description: Required. Input only. The billing account used for the resources\n which are direct children of workload. This billing account is initially\n associated with the resources created as part of Workload creation. After\n the initial creation of these resources, the customer can change the assigned\n billing account. The resource name has the form `billingAccounts/{billing_account_id}`.\n For example, 'billingAccounts/012345-567890-ABCDEF`.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/BillingAccount\n field: name\n x-dcl-mutable-unreadable: true\n complianceRegime:\n type: string\n x-dcl-go-name: ComplianceRegime\n x-dcl-go-type: WorkloadComplianceRegimeEnum\n description: 'Required. Immutable. Compliance Regime associated with this\n workload. Possible values: COMPLIANCE_REGIME_UNSPECIFIED, IL4, CJIS, FEDRAMP_HIGH,\n FEDRAMP_MODERATE, US_REGIONAL_ACCESS, HIPAA, EU_REGIONS_AND_SUPPORT, CA_REGIONS_AND_SUPPORT,\n ITAR, AU_REGIONS_AND_US_SUPPORT, ASSURED_WORKLOADS_FOR_PARTNERS'\n x-kubernetes-immutable: true\n enum:\n - COMPLIANCE_REGIME_UNSPECIFIED\n - IL4\n - CJIS\n - FEDRAMP_HIGH\n - FEDRAMP_MODERATE\n - US_REGIONAL_ACCESS\n - HIPAA\n - EU_REGIONS_AND_SUPPORT\n - CA_REGIONS_AND_SUPPORT\n - ITAR\n - AU_REGIONS_AND_US_SUPPORT\n - ASSURED_WORKLOADS_FOR_PARTNERS\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Output only. Immutable. The Workload creation timestamp.\n x-kubernetes-immutable: true\n displayName:\n type: string\n x-dcl-go-name: DisplayName\n description: 'Required. The user-assigned display name of the Workload.\n When present it must be between 4 to 30 characters. Allowed characters\n are: lowercase and uppercase letters, numbers, hyphen, and spaces. Example:\n My Workload'\n kmsSettings:\n type: object\n x-dcl-go-name: KmsSettings\n x-dcl-go-type: WorkloadKmsSettings\n description: Input only. Settings used to create a CMEK crypto key. When\n set a project with a KMS CMEK key is provisioned. This field is mandatory\n for a subset of Compliance Regimes.\n x-kubernetes-immutable: true\n x-dcl-mutable-unreadable: true\n required:\n - nextRotationTime\n - rotationPeriod\n properties:\n nextRotationTime:\n type: string\n format: date-time\n x-dcl-go-name: NextRotationTime\n description: Required. Input only. Immutable. The time at which the\n Key Management Service will automatically create a new version of\n the crypto key and mark it as the primary.\n x-kubernetes-immutable: true\n rotationPeriod:\n type: string\n x-dcl-go-name: RotationPeriod\n description: Required. Input only. Immutable. will be advanced by this\n period when the Key Management Service automatically rotates a key.\n Must be at least 24 hours and at most 876,000 hours.\n x-kubernetes-immutable: true\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: Optional. Labels applied to the workload.\n location:\n type: string\n x-dcl-go-name: Location\n description: The location for the resource\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: Output only. The resource name of the workload.\n x-kubernetes-immutable: true\n x-dcl-server-generated-parameter: true\n organization:\n type: string\n x-dcl-go-name: Organization\n description: The organization for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Organization\n field: name\n parent: true\n provisionedResourcesParent:\n type: string\n x-dcl-go-name: ProvisionedResourcesParent\n description: 'Input only. The parent resource for the resources managed\n by this Assured Workload. May be either an organization or a folder. Must\n be the same or a child of the Workload parent. If not specified all resources\n are created under the Workload parent. Formats: folders/{folder_id}, organizations/{organization_id}'\n x-kubernetes-immutable: true\n x-dcl-mutable-unreadable: true\n resourceSettings:\n type: array\n x-dcl-go-name: ResourceSettings\n description: Input only. Resource properties that are used to customize\n workload resources. These properties (such as custom project id) will\n be used to create workload resources if possible. This field is optional.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkloadResourceSettings\n properties:\n resourceId:\n type: string\n x-dcl-go-name: ResourceId\n description: Resource identifier. For a project this represents project_number.\n If the project is already taken, the workload creation will fail.\n x-kubernetes-immutable: true\n resourceType:\n type: string\n x-dcl-go-name: ResourceType\n x-dcl-go-type: WorkloadResourceSettingsResourceTypeEnum\n description: 'Indicates the type of resource. This field should be\n specified to correspond the id to the right project type (CONSUMER_PROJECT\n or ENCRYPTION_KEYS_PROJECT) Possible values: RESOURCE_TYPE_UNSPECIFIED,\n CONSUMER_PROJECT, ENCRYPTION_KEYS_PROJECT, KEYRING, CONSUMER_FOLDER'\n x-kubernetes-immutable: true\n enum:\n - RESOURCE_TYPE_UNSPECIFIED\n - CONSUMER_PROJECT\n - ENCRYPTION_KEYS_PROJECT\n - KEYRING\n - CONSUMER_FOLDER\n x-dcl-mutable-unreadable: true\n resources:\n type: array\n x-dcl-go-name: Resources\n readOnly: true\n description: Output only. The resources associated with this workload. These\n resources will be created when creating the workload. If any of the projects\n already exist, the workload creation will fail. Always read only.\n x-kubernetes-immutable: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkloadResources\n properties:\n resourceId:\n type: integer\n format: int64\n x-dcl-go-name: ResourceId\n description: Resource identifier. For a project this represents project_number.\n x-kubernetes-immutable: true\n resourceType:\n type: string\n x-dcl-go-name: ResourceType\n x-dcl-go-type: WorkloadResourcesResourceTypeEnum\n description: 'Indicates the type of resource. Possible values: RESOURCE_TYPE_UNSPECIFIED,\n CONSUMER_PROJECT, ENCRYPTION_KEYS_PROJECT, KEYRING, CONSUMER_FOLDER'\n x-kubernetes-immutable: true\n enum:\n - RESOURCE_TYPE_UNSPECIFIED\n - CONSUMER_PROJECT\n - ENCRYPTION_KEYS_PROJECT\n - KEYRING\n - CONSUMER_FOLDER\n")
-// 9623 bytes
-// MD5: dd68fa5affc7ba301aff1c33c5e65c87
+// 9941 bytes
+// MD5: e84d640a769006efc0dd28ce22b54bf5
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/client.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/client.go
new file mode 100644
index 0000000000..cab9e49b9e
--- /dev/null
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/client.go
@@ -0,0 +1,32 @@
+// Copyright 2023 Google LLC. All Rights Reserved.
+//
+// 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 cloudbuildv2 defines operations in the declarative SDK.
+package cloudbuildv2
+
+import (
+ "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
+)
+
+// The Client is the base struct of all operations. This will receive the
+// Get, Delete, List, and Apply operations on all resources.
+type Client struct {
+ Config *dcl.Config
+}
+
+// NewClient creates a client that retries all operations a few times each.
+func NewClient(c *dcl.Config) *Client {
+ return &Client{
+ Config: c,
+ }
+}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/connection.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/connection.go
new file mode 100644
index 0000000000..53944ac935
--- /dev/null
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/connection.go
@@ -0,0 +1,885 @@
+// Copyright 2023 Google LLC. All Rights Reserved.
+//
+// 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 cloudbuildv2
+
+import (
+ "context"
+ "crypto/sha256"
+ "encoding/json"
+ "fmt"
+ "time"
+
+ "google.golang.org/api/googleapi"
+ "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
+)
+
+type Connection struct {
+ Name *string `json:"name"`
+ CreateTime *string `json:"createTime"`
+ UpdateTime *string `json:"updateTime"`
+ GithubConfig *ConnectionGithubConfig `json:"githubConfig"`
+ GithubEnterpriseConfig *ConnectionGithubEnterpriseConfig `json:"githubEnterpriseConfig"`
+ GitlabConfig *ConnectionGitlabConfig `json:"gitlabConfig"`
+ InstallationState *ConnectionInstallationState `json:"installationState"`
+ Disabled *bool `json:"disabled"`
+ Reconciling *bool `json:"reconciling"`
+ Annotations map[string]string `json:"annotations"`
+ Etag *string `json:"etag"`
+ Project *string `json:"project"`
+ Location *string `json:"location"`
+}
+
+func (r *Connection) String() string {
+ return dcl.SprintResource(r)
+}
+
+// The enum ConnectionInstallationStateStageEnum.
+type ConnectionInstallationStateStageEnum string
+
+// ConnectionInstallationStateStageEnumRef returns a *ConnectionInstallationStateStageEnum with the value of string s
+// If the empty string is provided, nil is returned.
+func ConnectionInstallationStateStageEnumRef(s string) *ConnectionInstallationStateStageEnum {
+ v := ConnectionInstallationStateStageEnum(s)
+ return &v
+}
+
+func (v ConnectionInstallationStateStageEnum) Validate() error {
+ if string(v) == "" {
+ // Empty enum is okay.
+ return nil
+ }
+ for _, s := range []string{"STAGE_UNSPECIFIED", "PENDING_CREATE_APP", "PENDING_USER_OAUTH", "PENDING_INSTALL_APP", "COMPLETE"} {
+ if string(v) == s {
+ return nil
+ }
+ }
+ return &dcl.EnumInvalidError{
+ Enum: "ConnectionInstallationStateStageEnum",
+ Value: string(v),
+ Valid: []string{},
+ }
+}
+
+type ConnectionGithubConfig struct {
+ empty bool `json:"-"`
+ AuthorizerCredential *ConnectionGithubConfigAuthorizerCredential `json:"authorizerCredential"`
+ AppInstallationId *int64 `json:"appInstallationId"`
+}
+
+type jsonConnectionGithubConfig ConnectionGithubConfig
+
+func (r *ConnectionGithubConfig) UnmarshalJSON(data []byte) error {
+ var res jsonConnectionGithubConfig
+ if err := json.Unmarshal(data, &res); err != nil {
+ return err
+ }
+
+ var m map[string]interface{}
+ json.Unmarshal(data, &m)
+
+ if len(m) == 0 {
+ *r = *EmptyConnectionGithubConfig
+ } else {
+
+ r.AuthorizerCredential = res.AuthorizerCredential
+
+ r.AppInstallationId = res.AppInstallationId
+
+ }
+ return nil
+}
+
+// This object is used to assert a desired state where this ConnectionGithubConfig is
+// empty. Go lacks global const objects, but this object should be treated
+// as one. Modifying this object will have undesirable results.
+var EmptyConnectionGithubConfig *ConnectionGithubConfig = &ConnectionGithubConfig{empty: true}
+
+func (r *ConnectionGithubConfig) Empty() bool {
+ return r.empty
+}
+
+func (r *ConnectionGithubConfig) String() string {
+ return dcl.SprintResource(r)
+}
+
+func (r *ConnectionGithubConfig) HashCode() string {
+ // Placeholder for a more complex hash method that handles ordering, etc
+ // Hash resource body for easy comparison later
+ hash := sha256.New().Sum([]byte(r.String()))
+ return fmt.Sprintf("%x", hash)
+}
+
+type ConnectionGithubConfigAuthorizerCredential struct {
+ empty bool `json:"-"`
+ OAuthTokenSecretVersion *string `json:"oauthTokenSecretVersion"`
+ Username *string `json:"username"`
+}
+
+type jsonConnectionGithubConfigAuthorizerCredential ConnectionGithubConfigAuthorizerCredential
+
+func (r *ConnectionGithubConfigAuthorizerCredential) UnmarshalJSON(data []byte) error {
+ var res jsonConnectionGithubConfigAuthorizerCredential
+ if err := json.Unmarshal(data, &res); err != nil {
+ return err
+ }
+
+ var m map[string]interface{}
+ json.Unmarshal(data, &m)
+
+ if len(m) == 0 {
+ *r = *EmptyConnectionGithubConfigAuthorizerCredential
+ } else {
+
+ r.OAuthTokenSecretVersion = res.OAuthTokenSecretVersion
+
+ r.Username = res.Username
+
+ }
+ return nil
+}
+
+// This object is used to assert a desired state where this ConnectionGithubConfigAuthorizerCredential is
+// empty. Go lacks global const objects, but this object should be treated
+// as one. Modifying this object will have undesirable results.
+var EmptyConnectionGithubConfigAuthorizerCredential *ConnectionGithubConfigAuthorizerCredential = &ConnectionGithubConfigAuthorizerCredential{empty: true}
+
+func (r *ConnectionGithubConfigAuthorizerCredential) Empty() bool {
+ return r.empty
+}
+
+func (r *ConnectionGithubConfigAuthorizerCredential) String() string {
+ return dcl.SprintResource(r)
+}
+
+func (r *ConnectionGithubConfigAuthorizerCredential) HashCode() string {
+ // Placeholder for a more complex hash method that handles ordering, etc
+ // Hash resource body for easy comparison later
+ hash := sha256.New().Sum([]byte(r.String()))
+ return fmt.Sprintf("%x", hash)
+}
+
+type ConnectionGithubEnterpriseConfig struct {
+ empty bool `json:"-"`
+ HostUri *string `json:"hostUri"`
+ AppId *int64 `json:"appId"`
+ AppSlug *string `json:"appSlug"`
+ PrivateKeySecretVersion *string `json:"privateKeySecretVersion"`
+ WebhookSecretSecretVersion *string `json:"webhookSecretSecretVersion"`
+ AppInstallationId *int64 `json:"appInstallationId"`
+ ServiceDirectoryConfig *ConnectionGithubEnterpriseConfigServiceDirectoryConfig `json:"serviceDirectoryConfig"`
+ SslCa *string `json:"sslCa"`
+}
+
+type jsonConnectionGithubEnterpriseConfig ConnectionGithubEnterpriseConfig
+
+func (r *ConnectionGithubEnterpriseConfig) UnmarshalJSON(data []byte) error {
+ var res jsonConnectionGithubEnterpriseConfig
+ if err := json.Unmarshal(data, &res); err != nil {
+ return err
+ }
+
+ var m map[string]interface{}
+ json.Unmarshal(data, &m)
+
+ if len(m) == 0 {
+ *r = *EmptyConnectionGithubEnterpriseConfig
+ } else {
+
+ r.HostUri = res.HostUri
+
+ r.AppId = res.AppId
+
+ r.AppSlug = res.AppSlug
+
+ r.PrivateKeySecretVersion = res.PrivateKeySecretVersion
+
+ r.WebhookSecretSecretVersion = res.WebhookSecretSecretVersion
+
+ r.AppInstallationId = res.AppInstallationId
+
+ r.ServiceDirectoryConfig = res.ServiceDirectoryConfig
+
+ r.SslCa = res.SslCa
+
+ }
+ return nil
+}
+
+// This object is used to assert a desired state where this ConnectionGithubEnterpriseConfig is
+// empty. Go lacks global const objects, but this object should be treated
+// as one. Modifying this object will have undesirable results.
+var EmptyConnectionGithubEnterpriseConfig *ConnectionGithubEnterpriseConfig = &ConnectionGithubEnterpriseConfig{empty: true}
+
+func (r *ConnectionGithubEnterpriseConfig) Empty() bool {
+ return r.empty
+}
+
+func (r *ConnectionGithubEnterpriseConfig) String() string {
+ return dcl.SprintResource(r)
+}
+
+func (r *ConnectionGithubEnterpriseConfig) HashCode() string {
+ // Placeholder for a more complex hash method that handles ordering, etc
+ // Hash resource body for easy comparison later
+ hash := sha256.New().Sum([]byte(r.String()))
+ return fmt.Sprintf("%x", hash)
+}
+
+type ConnectionGithubEnterpriseConfigServiceDirectoryConfig struct {
+ empty bool `json:"-"`
+ Service *string `json:"service"`
+}
+
+type jsonConnectionGithubEnterpriseConfigServiceDirectoryConfig ConnectionGithubEnterpriseConfigServiceDirectoryConfig
+
+func (r *ConnectionGithubEnterpriseConfigServiceDirectoryConfig) UnmarshalJSON(data []byte) error {
+ var res jsonConnectionGithubEnterpriseConfigServiceDirectoryConfig
+ if err := json.Unmarshal(data, &res); err != nil {
+ return err
+ }
+
+ var m map[string]interface{}
+ json.Unmarshal(data, &m)
+
+ if len(m) == 0 {
+ *r = *EmptyConnectionGithubEnterpriseConfigServiceDirectoryConfig
+ } else {
+
+ r.Service = res.Service
+
+ }
+ return nil
+}
+
+// This object is used to assert a desired state where this ConnectionGithubEnterpriseConfigServiceDirectoryConfig is
+// empty. Go lacks global const objects, but this object should be treated
+// as one. Modifying this object will have undesirable results.
+var EmptyConnectionGithubEnterpriseConfigServiceDirectoryConfig *ConnectionGithubEnterpriseConfigServiceDirectoryConfig = &ConnectionGithubEnterpriseConfigServiceDirectoryConfig{empty: true}
+
+func (r *ConnectionGithubEnterpriseConfigServiceDirectoryConfig) Empty() bool {
+ return r.empty
+}
+
+func (r *ConnectionGithubEnterpriseConfigServiceDirectoryConfig) String() string {
+ return dcl.SprintResource(r)
+}
+
+func (r *ConnectionGithubEnterpriseConfigServiceDirectoryConfig) HashCode() string {
+ // Placeholder for a more complex hash method that handles ordering, etc
+ // Hash resource body for easy comparison later
+ hash := sha256.New().Sum([]byte(r.String()))
+ return fmt.Sprintf("%x", hash)
+}
+
+type ConnectionGitlabConfig struct {
+ empty bool `json:"-"`
+ HostUri *string `json:"hostUri"`
+ WebhookSecretSecretVersion *string `json:"webhookSecretSecretVersion"`
+ ReadAuthorizerCredential *ConnectionGitlabConfigReadAuthorizerCredential `json:"readAuthorizerCredential"`
+ AuthorizerCredential *ConnectionGitlabConfigAuthorizerCredential `json:"authorizerCredential"`
+ ServiceDirectoryConfig *ConnectionGitlabConfigServiceDirectoryConfig `json:"serviceDirectoryConfig"`
+ SslCa *string `json:"sslCa"`
+ ServerVersion *string `json:"serverVersion"`
+}
+
+type jsonConnectionGitlabConfig ConnectionGitlabConfig
+
+func (r *ConnectionGitlabConfig) UnmarshalJSON(data []byte) error {
+ var res jsonConnectionGitlabConfig
+ if err := json.Unmarshal(data, &res); err != nil {
+ return err
+ }
+
+ var m map[string]interface{}
+ json.Unmarshal(data, &m)
+
+ if len(m) == 0 {
+ *r = *EmptyConnectionGitlabConfig
+ } else {
+
+ r.HostUri = res.HostUri
+
+ r.WebhookSecretSecretVersion = res.WebhookSecretSecretVersion
+
+ r.ReadAuthorizerCredential = res.ReadAuthorizerCredential
+
+ r.AuthorizerCredential = res.AuthorizerCredential
+
+ r.ServiceDirectoryConfig = res.ServiceDirectoryConfig
+
+ r.SslCa = res.SslCa
+
+ r.ServerVersion = res.ServerVersion
+
+ }
+ return nil
+}
+
+// This object is used to assert a desired state where this ConnectionGitlabConfig is
+// empty. Go lacks global const objects, but this object should be treated
+// as one. Modifying this object will have undesirable results.
+var EmptyConnectionGitlabConfig *ConnectionGitlabConfig = &ConnectionGitlabConfig{empty: true}
+
+func (r *ConnectionGitlabConfig) Empty() bool {
+ return r.empty
+}
+
+func (r *ConnectionGitlabConfig) String() string {
+ return dcl.SprintResource(r)
+}
+
+func (r *ConnectionGitlabConfig) HashCode() string {
+ // Placeholder for a more complex hash method that handles ordering, etc
+ // Hash resource body for easy comparison later
+ hash := sha256.New().Sum([]byte(r.String()))
+ return fmt.Sprintf("%x", hash)
+}
+
+type ConnectionGitlabConfigReadAuthorizerCredential struct {
+ empty bool `json:"-"`
+ UserTokenSecretVersion *string `json:"userTokenSecretVersion"`
+ Username *string `json:"username"`
+}
+
+type jsonConnectionGitlabConfigReadAuthorizerCredential ConnectionGitlabConfigReadAuthorizerCredential
+
+func (r *ConnectionGitlabConfigReadAuthorizerCredential) UnmarshalJSON(data []byte) error {
+ var res jsonConnectionGitlabConfigReadAuthorizerCredential
+ if err := json.Unmarshal(data, &res); err != nil {
+ return err
+ }
+
+ var m map[string]interface{}
+ json.Unmarshal(data, &m)
+
+ if len(m) == 0 {
+ *r = *EmptyConnectionGitlabConfigReadAuthorizerCredential
+ } else {
+
+ r.UserTokenSecretVersion = res.UserTokenSecretVersion
+
+ r.Username = res.Username
+
+ }
+ return nil
+}
+
+// This object is used to assert a desired state where this ConnectionGitlabConfigReadAuthorizerCredential is
+// empty. Go lacks global const objects, but this object should be treated
+// as one. Modifying this object will have undesirable results.
+var EmptyConnectionGitlabConfigReadAuthorizerCredential *ConnectionGitlabConfigReadAuthorizerCredential = &ConnectionGitlabConfigReadAuthorizerCredential{empty: true}
+
+func (r *ConnectionGitlabConfigReadAuthorizerCredential) Empty() bool {
+ return r.empty
+}
+
+func (r *ConnectionGitlabConfigReadAuthorizerCredential) String() string {
+ return dcl.SprintResource(r)
+}
+
+func (r *ConnectionGitlabConfigReadAuthorizerCredential) HashCode() string {
+ // Placeholder for a more complex hash method that handles ordering, etc
+ // Hash resource body for easy comparison later
+ hash := sha256.New().Sum([]byte(r.String()))
+ return fmt.Sprintf("%x", hash)
+}
+
+type ConnectionGitlabConfigAuthorizerCredential struct {
+ empty bool `json:"-"`
+ UserTokenSecretVersion *string `json:"userTokenSecretVersion"`
+ Username *string `json:"username"`
+}
+
+type jsonConnectionGitlabConfigAuthorizerCredential ConnectionGitlabConfigAuthorizerCredential
+
+func (r *ConnectionGitlabConfigAuthorizerCredential) UnmarshalJSON(data []byte) error {
+ var res jsonConnectionGitlabConfigAuthorizerCredential
+ if err := json.Unmarshal(data, &res); err != nil {
+ return err
+ }
+
+ var m map[string]interface{}
+ json.Unmarshal(data, &m)
+
+ if len(m) == 0 {
+ *r = *EmptyConnectionGitlabConfigAuthorizerCredential
+ } else {
+
+ r.UserTokenSecretVersion = res.UserTokenSecretVersion
+
+ r.Username = res.Username
+
+ }
+ return nil
+}
+
+// This object is used to assert a desired state where this ConnectionGitlabConfigAuthorizerCredential is
+// empty. Go lacks global const objects, but this object should be treated
+// as one. Modifying this object will have undesirable results.
+var EmptyConnectionGitlabConfigAuthorizerCredential *ConnectionGitlabConfigAuthorizerCredential = &ConnectionGitlabConfigAuthorizerCredential{empty: true}
+
+func (r *ConnectionGitlabConfigAuthorizerCredential) Empty() bool {
+ return r.empty
+}
+
+func (r *ConnectionGitlabConfigAuthorizerCredential) String() string {
+ return dcl.SprintResource(r)
+}
+
+func (r *ConnectionGitlabConfigAuthorizerCredential) HashCode() string {
+ // Placeholder for a more complex hash method that handles ordering, etc
+ // Hash resource body for easy comparison later
+ hash := sha256.New().Sum([]byte(r.String()))
+ return fmt.Sprintf("%x", hash)
+}
+
+type ConnectionGitlabConfigServiceDirectoryConfig struct {
+ empty bool `json:"-"`
+ Service *string `json:"service"`
+}
+
+type jsonConnectionGitlabConfigServiceDirectoryConfig ConnectionGitlabConfigServiceDirectoryConfig
+
+func (r *ConnectionGitlabConfigServiceDirectoryConfig) UnmarshalJSON(data []byte) error {
+ var res jsonConnectionGitlabConfigServiceDirectoryConfig
+ if err := json.Unmarshal(data, &res); err != nil {
+ return err
+ }
+
+ var m map[string]interface{}
+ json.Unmarshal(data, &m)
+
+ if len(m) == 0 {
+ *r = *EmptyConnectionGitlabConfigServiceDirectoryConfig
+ } else {
+
+ r.Service = res.Service
+
+ }
+ return nil
+}
+
+// This object is used to assert a desired state where this ConnectionGitlabConfigServiceDirectoryConfig is
+// empty. Go lacks global const objects, but this object should be treated
+// as one. Modifying this object will have undesirable results.
+var EmptyConnectionGitlabConfigServiceDirectoryConfig *ConnectionGitlabConfigServiceDirectoryConfig = &ConnectionGitlabConfigServiceDirectoryConfig{empty: true}
+
+func (r *ConnectionGitlabConfigServiceDirectoryConfig) Empty() bool {
+ return r.empty
+}
+
+func (r *ConnectionGitlabConfigServiceDirectoryConfig) String() string {
+ return dcl.SprintResource(r)
+}
+
+func (r *ConnectionGitlabConfigServiceDirectoryConfig) HashCode() string {
+ // Placeholder for a more complex hash method that handles ordering, etc
+ // Hash resource body for easy comparison later
+ hash := sha256.New().Sum([]byte(r.String()))
+ return fmt.Sprintf("%x", hash)
+}
+
+type ConnectionInstallationState struct {
+ empty bool `json:"-"`
+ Stage *ConnectionInstallationStateStageEnum `json:"stage"`
+ Message *string `json:"message"`
+ ActionUri *string `json:"actionUri"`
+}
+
+type jsonConnectionInstallationState ConnectionInstallationState
+
+func (r *ConnectionInstallationState) UnmarshalJSON(data []byte) error {
+ var res jsonConnectionInstallationState
+ if err := json.Unmarshal(data, &res); err != nil {
+ return err
+ }
+
+ var m map[string]interface{}
+ json.Unmarshal(data, &m)
+
+ if len(m) == 0 {
+ *r = *EmptyConnectionInstallationState
+ } else {
+
+ r.Stage = res.Stage
+
+ r.Message = res.Message
+
+ r.ActionUri = res.ActionUri
+
+ }
+ return nil
+}
+
+// This object is used to assert a desired state where this ConnectionInstallationState is
+// empty. Go lacks global const objects, but this object should be treated
+// as one. Modifying this object will have undesirable results.
+var EmptyConnectionInstallationState *ConnectionInstallationState = &ConnectionInstallationState{empty: true}
+
+func (r *ConnectionInstallationState) Empty() bool {
+ return r.empty
+}
+
+func (r *ConnectionInstallationState) String() string {
+ return dcl.SprintResource(r)
+}
+
+func (r *ConnectionInstallationState) HashCode() string {
+ // Placeholder for a more complex hash method that handles ordering, etc
+ // Hash resource body for easy comparison later
+ hash := sha256.New().Sum([]byte(r.String()))
+ return fmt.Sprintf("%x", hash)
+}
+
+// Describe returns a simple description of this resource to ensure that automated tools
+// can identify it.
+func (r *Connection) Describe() dcl.ServiceTypeVersion {
+ return dcl.ServiceTypeVersion{
+ Service: "cloudbuildv2",
+ Type: "Connection",
+ Version: "cloudbuildv2",
+ }
+}
+
+func (r *Connection) ID() (string, error) {
+ if err := extractConnectionFields(r); err != nil {
+ return "", err
+ }
+ nr := r.urlNormalized()
+ params := map[string]interface{}{
+ "name": dcl.ValueOrEmptyString(nr.Name),
+ "create_time": dcl.ValueOrEmptyString(nr.CreateTime),
+ "update_time": dcl.ValueOrEmptyString(nr.UpdateTime),
+ "github_config": dcl.ValueOrEmptyString(nr.GithubConfig),
+ "github_enterprise_config": dcl.ValueOrEmptyString(nr.GithubEnterpriseConfig),
+ "gitlab_config": dcl.ValueOrEmptyString(nr.GitlabConfig),
+ "installation_state": dcl.ValueOrEmptyString(nr.InstallationState),
+ "disabled": dcl.ValueOrEmptyString(nr.Disabled),
+ "reconciling": dcl.ValueOrEmptyString(nr.Reconciling),
+ "annotations": dcl.ValueOrEmptyString(nr.Annotations),
+ "etag": dcl.ValueOrEmptyString(nr.Etag),
+ "project": dcl.ValueOrEmptyString(nr.Project),
+ "location": dcl.ValueOrEmptyString(nr.Location),
+ }
+ return dcl.Nprintf("projects/{{project}}/locations/{{location}}/connections/{{name}}", params), nil
+}
+
+const ConnectionMaxPage = -1
+
+type ConnectionList struct {
+ Items []*Connection
+
+ nextToken string
+
+ pageSize int32
+
+ resource *Connection
+}
+
+func (l *ConnectionList) HasNext() bool {
+ return l.nextToken != ""
+}
+
+func (l *ConnectionList) Next(ctx context.Context, c *Client) error {
+ ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
+ defer cancel()
+
+ if !l.HasNext() {
+ return fmt.Errorf("no next page")
+ }
+ items, token, err := c.listConnection(ctx, l.resource, l.nextToken, l.pageSize)
+ if err != nil {
+ return err
+ }
+ l.Items = items
+ l.nextToken = token
+ return err
+}
+
+func (c *Client) ListConnection(ctx context.Context, project, location string) (*ConnectionList, error) {
+ ctx = dcl.ContextWithRequestID(ctx)
+ ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
+ defer cancel()
+
+ return c.ListConnectionWithMaxResults(ctx, project, location, ConnectionMaxPage)
+
+}
+
+func (c *Client) ListConnectionWithMaxResults(ctx context.Context, project, location string, pageSize int32) (*ConnectionList, error) {
+ ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
+ defer cancel()
+
+ // Create a resource object so that we can use proper url normalization methods.
+ r := &Connection{
+ Project: &project,
+ Location: &location,
+ }
+ items, token, err := c.listConnection(ctx, r, "", pageSize)
+ if err != nil {
+ return nil, err
+ }
+ return &ConnectionList{
+ Items: items,
+ nextToken: token,
+ pageSize: pageSize,
+ resource: r,
+ }, nil
+}
+
+func (c *Client) GetConnection(ctx context.Context, r *Connection) (*Connection, error) {
+ ctx = dcl.ContextWithRequestID(ctx)
+ ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
+ defer cancel()
+
+ // This is *purposefully* supressing errors.
+ // This function is used with url-normalized values + not URL normalized values.
+ // URL Normalized values will throw unintentional errors, since those values are not of the proper parent form.
+ extractConnectionFields(r)
+
+ b, err := c.getConnectionRaw(ctx, r)
+ if err != nil {
+ if dcl.IsNotFound(err) {
+ return nil, &googleapi.Error{
+ Code: 404,
+ Message: err.Error(),
+ }
+ }
+ return nil, err
+ }
+ result, err := unmarshalConnection(b, c, r)
+ if err != nil {
+ return nil, err
+ }
+ result.Project = r.Project
+ result.Location = r.Location
+ result.Name = r.Name
+
+ c.Config.Logger.InfoWithContextf(ctx, "Retrieved raw result state: %v", result)
+ c.Config.Logger.InfoWithContextf(ctx, "Canonicalizing with specified state: %v", r)
+ result, err = canonicalizeConnectionNewState(c, result, r)
+ if err != nil {
+ return nil, err
+ }
+ if err := postReadExtractConnectionFields(result); err != nil {
+ return result, err
+ }
+ c.Config.Logger.InfoWithContextf(ctx, "Created result state: %v", result)
+
+ return result, nil
+}
+
+func (c *Client) DeleteConnection(ctx context.Context, r *Connection) error {
+ ctx = dcl.ContextWithRequestID(ctx)
+ ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
+ defer cancel()
+
+ if r == nil {
+ return fmt.Errorf("Connection resource is nil")
+ }
+ c.Config.Logger.InfoWithContext(ctx, "Deleting Connection...")
+ deleteOp := deleteConnectionOperation{}
+ return deleteOp.do(ctx, r, c)
+}
+
+// DeleteAllConnection deletes all resources that the filter functions returns true on.
+func (c *Client) DeleteAllConnection(ctx context.Context, project, location string, filter func(*Connection) bool) error {
+ listObj, err := c.ListConnection(ctx, project, location)
+ if err != nil {
+ return err
+ }
+
+ err = c.deleteAllConnection(ctx, filter, listObj.Items)
+ if err != nil {
+ return err
+ }
+ for listObj.HasNext() {
+ err = listObj.Next(ctx, c)
+ if err != nil {
+ return nil
+ }
+ err = c.deleteAllConnection(ctx, filter, listObj.Items)
+ if err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func (c *Client) ApplyConnection(ctx context.Context, rawDesired *Connection, opts ...dcl.ApplyOption) (*Connection, error) {
+ ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
+ defer cancel()
+
+ ctx = dcl.ContextWithRequestID(ctx)
+ var resultNewState *Connection
+ err := dcl.Do(ctx, func(ctx context.Context) (*dcl.RetryDetails, error) {
+ newState, err := applyConnectionHelper(c, ctx, rawDesired, opts...)
+ resultNewState = newState
+ if err != nil {
+ // If the error is 409, there is conflict in resource update.
+ // Here we want to apply changes based on latest state.
+ if dcl.IsConflictError(err) {
+ return &dcl.RetryDetails{}, dcl.OperationNotDone{Err: err}
+ }
+ return nil, err
+ }
+ return nil, nil
+ }, c.Config.RetryProvider)
+ return resultNewState, err
+}
+
+func applyConnectionHelper(c *Client, ctx context.Context, rawDesired *Connection, opts ...dcl.ApplyOption) (*Connection, error) {
+ c.Config.Logger.InfoWithContext(ctx, "Beginning ApplyConnection...")
+ c.Config.Logger.InfoWithContextf(ctx, "User specified desired state: %v", rawDesired)
+
+ // 1.1: Validation of user-specified fields in desired state.
+ if err := rawDesired.validate(); err != nil {
+ return nil, err
+ }
+
+ if err := extractConnectionFields(rawDesired); err != nil {
+ return nil, err
+ }
+
+ initial, desired, fieldDiffs, err := c.connectionDiffsForRawDesired(ctx, rawDesired, opts...)
+ if err != nil {
+ return nil, fmt.Errorf("failed to create a diff: %w", err)
+ }
+
+ diffs, err := convertFieldDiffsToConnectionDiffs(c.Config, fieldDiffs, opts)
+ if err != nil {
+ return nil, err
+ }
+
+ // TODO(magic-modules-eng): 2.2 Feasibility check (all updates are feasible so far).
+
+ // 2.3: Lifecycle Directive Check
+ var create bool
+ lp := dcl.FetchLifecycleParams(opts)
+ if initial == nil {
+ if dcl.HasLifecycleParam(lp, dcl.BlockCreation) {
+ return nil, dcl.ApplyInfeasibleError{Message: fmt.Sprintf("Creation blocked by lifecycle params: %#v.", desired)}
+ }
+ create = true
+ } else if dcl.HasLifecycleParam(lp, dcl.BlockAcquire) {
+ return nil, dcl.ApplyInfeasibleError{
+ Message: fmt.Sprintf("Resource already exists - apply blocked by lifecycle params: %#v.", initial),
+ }
+ } else {
+ for _, d := range diffs {
+ if d.RequiresRecreate {
+ return nil, dcl.ApplyInfeasibleError{
+ Message: fmt.Sprintf("infeasible update: (%v) would require recreation", d),
+ }
+ }
+ if dcl.HasLifecycleParam(lp, dcl.BlockModification) {
+ return nil, dcl.ApplyInfeasibleError{Message: fmt.Sprintf("Modification blocked, diff (%v) unresolvable.", d)}
+ }
+ }
+ }
+
+ // 2.4 Imperative Request Planning
+ var ops []connectionApiOperation
+ if create {
+ ops = append(ops, &createConnectionOperation{})
+ } else {
+ for _, d := range diffs {
+ ops = append(ops, d.UpdateOp)
+ }
+ }
+ c.Config.Logger.InfoWithContextf(ctx, "Created plan: %#v", ops)
+
+ // 2.5 Request Actuation
+ for _, op := range ops {
+ c.Config.Logger.InfoWithContextf(ctx, "Performing operation %T %+v", op, op)
+ if err := op.do(ctx, desired, c); err != nil {
+ c.Config.Logger.InfoWithContextf(ctx, "Failed operation %T %+v: %v", op, op, err)
+ return nil, err
+ }
+ c.Config.Logger.InfoWithContextf(ctx, "Finished operation %T %+v", op, op)
+ }
+ return applyConnectionDiff(c, ctx, desired, rawDesired, ops, opts...)
+}
+
+func applyConnectionDiff(c *Client, ctx context.Context, desired *Connection, rawDesired *Connection, ops []connectionApiOperation, opts ...dcl.ApplyOption) (*Connection, error) {
+ // 3.1, 3.2a Retrieval of raw new state & canonicalization with desired state
+ c.Config.Logger.InfoWithContext(ctx, "Retrieving raw new state...")
+ rawNew, err := c.GetConnection(ctx, desired)
+ if err != nil {
+ return nil, err
+ }
+ // Get additional values from the first response.
+ // These values should be merged into the newState above.
+ if len(ops) > 0 {
+ lastOp := ops[len(ops)-1]
+ if o, ok := lastOp.(*createConnectionOperation); ok {
+ if r, hasR := o.FirstResponse(); hasR {
+
+ c.Config.Logger.InfoWithContext(ctx, "Retrieving raw new state from operation...")
+
+ fullResp, err := unmarshalMapConnection(r, c, rawDesired)
+ if err != nil {
+ return nil, err
+ }
+
+ rawNew, err = canonicalizeConnectionNewState(c, rawNew, fullResp)
+ if err != nil {
+ return nil, err
+ }
+ }
+ }
+ }
+
+ c.Config.Logger.InfoWithContextf(ctx, "Canonicalizing with raw desired state: %v", rawDesired)
+ // 3.2b Canonicalization of raw new state using raw desired state
+ newState, err := canonicalizeConnectionNewState(c, rawNew, rawDesired)
+ if err != nil {
+ return rawNew, err
+ }
+
+ c.Config.Logger.InfoWithContextf(ctx, "Created canonical new state: %v", newState)
+ // 3.3 Comparison of the new state and raw desired state.
+ // TODO(magic-modules-eng): EVENTUALLY_CONSISTENT_UPDATE
+ newDesired, err := canonicalizeConnectionDesiredState(rawDesired, newState)
+ if err != nil {
+ return newState, err
+ }
+
+ if err := postReadExtractConnectionFields(newState); err != nil {
+ return newState, err
+ }
+
+ // Need to ensure any transformations made here match acceptably in differ.
+ if err := postReadExtractConnectionFields(newDesired); err != nil {
+ return newState, err
+ }
+
+ c.Config.Logger.InfoWithContextf(ctx, "Diffing using canonicalized desired state: %v", newDesired)
+ newDiffs, err := diffConnection(c, newDesired, newState)
+ if err != nil {
+ return newState, err
+ }
+
+ if len(newDiffs) == 0 {
+ c.Config.Logger.InfoWithContext(ctx, "No diffs found. Apply was successful.")
+ } else {
+ c.Config.Logger.InfoWithContextf(ctx, "Found diffs: %v", newDiffs)
+ diffMessages := make([]string, len(newDiffs))
+ for i, d := range newDiffs {
+ diffMessages[i] = fmt.Sprintf("%v", d)
+ }
+ return newState, dcl.DiffAfterApplyError{Diffs: diffMessages}
+ }
+ c.Config.Logger.InfoWithContext(ctx, "Done Apply.")
+ return newState, nil
+}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/connection.yaml b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/connection.yaml
new file mode 100644
index 0000000000..6ba403978e
--- /dev/null
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/connection.yaml
@@ -0,0 +1,387 @@
+# Copyright 2023 Google LLC. All Rights Reserved.
+#
+# 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.
+info:
+ title: Cloudbuildv2/Connection
+ description: The Cloudbuildv2 Connection resource
+ x-dcl-struct-name: Connection
+ x-dcl-has-iam: false
+paths:
+ get:
+ description: The function used to get information about a Connection
+ parameters:
+ - name: connection
+ required: true
+ description: A full instance of a Connection
+ apply:
+ description: The function used to apply information about a Connection
+ parameters:
+ - name: connection
+ required: true
+ description: A full instance of a Connection
+ delete:
+ description: The function used to delete a Connection
+ parameters:
+ - name: connection
+ required: true
+ description: A full instance of a Connection
+ deleteAll:
+ description: The function used to delete all Connection
+ parameters:
+ - name: project
+ required: true
+ schema:
+ type: string
+ - name: location
+ required: true
+ schema:
+ type: string
+ list:
+ description: The function used to list information about many Connection
+ parameters:
+ - name: project
+ required: true
+ schema:
+ type: string
+ - name: location
+ required: true
+ schema:
+ type: string
+components:
+ schemas:
+ Connection:
+ title: Connection
+ x-dcl-id: projects/{{project}}/locations/{{location}}/connections/{{name}}
+ x-dcl-parent-container: project
+ x-dcl-has-create: true
+ x-dcl-has-iam: false
+ x-dcl-read-timeout: 0
+ x-dcl-apply-timeout: 0
+ x-dcl-delete-timeout: 0
+ type: object
+ required:
+ - name
+ - project
+ - location
+ properties:
+ annotations:
+ type: object
+ additionalProperties:
+ type: string
+ x-dcl-go-name: Annotations
+ description: Allows clients to store small amounts of arbitrary data.
+ createTime:
+ type: string
+ format: date-time
+ x-dcl-go-name: CreateTime
+ readOnly: true
+ description: Output only. Server assigned timestamp for when the connection
+ was created.
+ x-kubernetes-immutable: true
+ disabled:
+ type: boolean
+ x-dcl-go-name: Disabled
+ description: If disabled is set to true, functionality is disabled for this
+ connection. Repository based API methods and webhooks processing for repositories
+ in this connection will be disabled.
+ etag:
+ type: string
+ x-dcl-go-name: Etag
+ readOnly: true
+ description: This checksum is computed by the server based on the value
+ of other fields, and may be sent on update and delete requests to ensure
+ the client has an up-to-date value before proceeding.
+ x-kubernetes-immutable: true
+ githubConfig:
+ type: object
+ x-dcl-go-name: GithubConfig
+ x-dcl-go-type: ConnectionGithubConfig
+ description: Configuration for connections to github.com.
+ x-dcl-conflicts:
+ - githubEnterpriseConfig
+ - gitlabConfig
+ properties:
+ appInstallationId:
+ type: integer
+ format: int64
+ x-dcl-go-name: AppInstallationId
+ description: GitHub App installation id.
+ authorizerCredential:
+ type: object
+ x-dcl-go-name: AuthorizerCredential
+ x-dcl-go-type: ConnectionGithubConfigAuthorizerCredential
+ description: OAuth credential of the account that authorized the Cloud
+ Build GitHub App. It is recommended to use a robot account instead
+ of a human user account. The OAuth token must be tied to the Cloud
+ Build GitHub App.
+ properties:
+ oauthTokenSecretVersion:
+ type: string
+ x-dcl-go-name: OAuthTokenSecretVersion
+ description: 'A SecretManager resource containing the OAuth token
+ that authorizes the Cloud Build connection. Format: `projects/*/secrets/*/versions/*`.'
+ x-dcl-references:
+ - resource: Secretmanager/SecretVersion
+ field: selfLink
+ username:
+ type: string
+ x-dcl-go-name: Username
+ readOnly: true
+ description: Output only. The username associated to this token.
+ githubEnterpriseConfig:
+ type: object
+ x-dcl-go-name: GithubEnterpriseConfig
+ x-dcl-go-type: ConnectionGithubEnterpriseConfig
+ description: Configuration for connections to an instance of GitHub Enterprise.
+ x-dcl-conflicts:
+ - githubConfig
+ - gitlabConfig
+ required:
+ - hostUri
+ properties:
+ appId:
+ type: integer
+ format: int64
+ x-dcl-go-name: AppId
+ description: Id of the GitHub App created from the manifest.
+ appInstallationId:
+ type: integer
+ format: int64
+ x-dcl-go-name: AppInstallationId
+ description: ID of the installation of the GitHub App.
+ appSlug:
+ type: string
+ x-dcl-go-name: AppSlug
+ description: The URL-friendly name of the GitHub App.
+ hostUri:
+ type: string
+ x-dcl-go-name: HostUri
+ description: Required. The URI of the GitHub Enterprise host this connection
+ is for.
+ privateKeySecretVersion:
+ type: string
+ x-dcl-go-name: PrivateKeySecretVersion
+ description: SecretManager resource containing the private key of the
+ GitHub App, formatted as `projects/*/secrets/*/versions/*`.
+ x-dcl-references:
+ - resource: Secretmanager/SecretVersion
+ field: selfLink
+ serviceDirectoryConfig:
+ type: object
+ x-dcl-go-name: ServiceDirectoryConfig
+ x-dcl-go-type: ConnectionGithubEnterpriseConfigServiceDirectoryConfig
+ description: Configuration for using Service Directory to privately
+ connect to a GitHub Enterprise server. This should only be set if
+ the GitHub Enterprise server is hosted on-premises and not reachable
+ by public internet. If this field is left empty, calls to the GitHub
+ Enterprise server will be made over the public internet.
+ required:
+ - service
+ properties:
+ service:
+ type: string
+ x-dcl-go-name: Service
+ description: 'Required. The Service Directory service name. Format:
+ projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}.'
+ x-dcl-references:
+ - resource: Servicedirectory/Service
+ field: selfLink
+ sslCa:
+ type: string
+ x-dcl-go-name: SslCa
+ description: SSL certificate to use for requests to GitHub Enterprise.
+ webhookSecretSecretVersion:
+ type: string
+ x-dcl-go-name: WebhookSecretSecretVersion
+ description: SecretManager resource containing the webhook secret of
+ the GitHub App, formatted as `projects/*/secrets/*/versions/*`.
+ x-dcl-references:
+ - resource: Secretmanager/SecretVersion
+ field: selfLink
+ gitlabConfig:
+ type: object
+ x-dcl-go-name: GitlabConfig
+ x-dcl-go-type: ConnectionGitlabConfig
+ description: Configuration for connections to gitlab.com or an instance
+ of GitLab Enterprise.
+ x-dcl-conflicts:
+ - githubConfig
+ - githubEnterpriseConfig
+ required:
+ - webhookSecretSecretVersion
+ - readAuthorizerCredential
+ - authorizerCredential
+ properties:
+ authorizerCredential:
+ type: object
+ x-dcl-go-name: AuthorizerCredential
+ x-dcl-go-type: ConnectionGitlabConfigAuthorizerCredential
+ description: Required. A GitLab personal access token with the `api`
+ scope access.
+ required:
+ - userTokenSecretVersion
+ properties:
+ userTokenSecretVersion:
+ type: string
+ x-dcl-go-name: UserTokenSecretVersion
+ description: 'Required. A SecretManager resource containing the
+ user token that authorizes the Cloud Build connection. Format:
+ `projects/*/secrets/*/versions/*`.'
+ x-dcl-references:
+ - resource: Secretmanager/SecretVersion
+ field: selfLink
+ username:
+ type: string
+ x-dcl-go-name: Username
+ readOnly: true
+ description: Output only. The username associated to this token.
+ hostUri:
+ type: string
+ x-dcl-go-name: HostUri
+ description: The URI of the GitLab Enterprise host this connection is
+ for. If not specified, the default value is https://gitlab.com.
+ x-dcl-server-default: true
+ readAuthorizerCredential:
+ type: object
+ x-dcl-go-name: ReadAuthorizerCredential
+ x-dcl-go-type: ConnectionGitlabConfigReadAuthorizerCredential
+ description: Required. A GitLab personal access token with the minimum
+ `read_api` scope access.
+ required:
+ - userTokenSecretVersion
+ properties:
+ userTokenSecretVersion:
+ type: string
+ x-dcl-go-name: UserTokenSecretVersion
+ description: 'Required. A SecretManager resource containing the
+ user token that authorizes the Cloud Build connection. Format:
+ `projects/*/secrets/*/versions/*`.'
+ x-dcl-references:
+ - resource: Secretmanager/SecretVersion
+ field: selfLink
+ username:
+ type: string
+ x-dcl-go-name: Username
+ readOnly: true
+ description: Output only. The username associated to this token.
+ serverVersion:
+ type: string
+ x-dcl-go-name: ServerVersion
+ readOnly: true
+ description: Output only. Version of the GitLab Enterprise server running
+ on the `host_uri`.
+ serviceDirectoryConfig:
+ type: object
+ x-dcl-go-name: ServiceDirectoryConfig
+ x-dcl-go-type: ConnectionGitlabConfigServiceDirectoryConfig
+ description: Configuration for using Service Directory to privately
+ connect to a GitLab Enterprise server. This should only be set if
+ the GitLab Enterprise server is hosted on-premises and not reachable
+ by public internet. If this field is left empty, calls to the GitLab
+ Enterprise server will be made over the public internet.
+ required:
+ - service
+ properties:
+ service:
+ type: string
+ x-dcl-go-name: Service
+ description: 'Required. The Service Directory service name. Format:
+ projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}.'
+ x-dcl-references:
+ - resource: Servicedirectory/Service
+ field: selfLink
+ sslCa:
+ type: string
+ x-dcl-go-name: SslCa
+ description: SSL certificate to use for requests to GitLab Enterprise.
+ webhookSecretSecretVersion:
+ type: string
+ x-dcl-go-name: WebhookSecretSecretVersion
+ description: Required. Immutable. SecretManager resource containing
+ the webhook secret of a GitLab Enterprise project, formatted as `projects/*/secrets/*/versions/*`.
+ x-dcl-references:
+ - resource: Secretmanager/SecretVersion
+ field: selfLink
+ installationState:
+ type: object
+ x-dcl-go-name: InstallationState
+ x-dcl-go-type: ConnectionInstallationState
+ readOnly: true
+ description: Output only. Installation state of the Connection.
+ x-kubernetes-immutable: true
+ properties:
+ actionUri:
+ type: string
+ x-dcl-go-name: ActionUri
+ readOnly: true
+ description: Output only. Link to follow for next action. Empty string
+ if the installation is already complete.
+ x-kubernetes-immutable: true
+ message:
+ type: string
+ x-dcl-go-name: Message
+ readOnly: true
+ description: Output only. Message of what the user should do next to
+ continue the installation. Empty string if the installation is already
+ complete.
+ x-kubernetes-immutable: true
+ stage:
+ type: string
+ x-dcl-go-name: Stage
+ x-dcl-go-type: ConnectionInstallationStateStageEnum
+ readOnly: true
+ description: 'Output only. Current step of the installation process.
+ Possible values: STAGE_UNSPECIFIED, PENDING_CREATE_APP, PENDING_USER_OAUTH,
+ PENDING_INSTALL_APP, COMPLETE'
+ x-kubernetes-immutable: true
+ enum:
+ - STAGE_UNSPECIFIED
+ - PENDING_CREATE_APP
+ - PENDING_USER_OAUTH
+ - PENDING_INSTALL_APP
+ - COMPLETE
+ location:
+ type: string
+ x-dcl-go-name: Location
+ description: The location for the resource
+ x-kubernetes-immutable: true
+ name:
+ type: string
+ x-dcl-go-name: Name
+ description: Immutable. The resource name of the connection, in the format
+ `projects/{project}/locations/{location}/connections/{connection_id}`.
+ x-kubernetes-immutable: true
+ project:
+ type: string
+ x-dcl-go-name: Project
+ description: The project for the resource
+ x-kubernetes-immutable: true
+ x-dcl-references:
+ - resource: Cloudresourcemanager/Project
+ field: name
+ parent: true
+ reconciling:
+ type: boolean
+ x-dcl-go-name: Reconciling
+ readOnly: true
+ description: Output only. Set to true when the connection is being set up
+ or updated in the background.
+ x-kubernetes-immutable: true
+ updateTime:
+ type: string
+ format: date-time
+ x-dcl-go-name: UpdateTime
+ readOnly: true
+ description: Output only. Server assigned timestamp for when the connection
+ was updated.
+ x-kubernetes-immutable: true
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/connection_internal.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/connection_internal.go
new file mode 100644
index 0000000000..9a8f4e2c02
--- /dev/null
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/connection_internal.go
@@ -0,0 +1,3979 @@
+// Copyright 2023 Google LLC. All Rights Reserved.
+//
+// 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 cloudbuildv2
+
+import (
+ "bytes"
+ "context"
+ "encoding/json"
+ "fmt"
+ "io/ioutil"
+ "strings"
+
+ "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
+ "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl/operations"
+)
+
+func (r *Connection) validate() error {
+
+ if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"GithubConfig", "GithubEnterpriseConfig", "GitlabConfig"}, r.GithubConfig, r.GithubEnterpriseConfig, r.GitlabConfig); err != nil {
+ return err
+ }
+ if err := dcl.RequiredParameter(r.Name, "Name"); err != nil {
+ return err
+ }
+ if err := dcl.RequiredParameter(r.Project, "Project"); err != nil {
+ return err
+ }
+ if err := dcl.RequiredParameter(r.Location, "Location"); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(r.GithubConfig) {
+ if err := r.GithubConfig.validate(); err != nil {
+ return err
+ }
+ }
+ if !dcl.IsEmptyValueIndirect(r.GithubEnterpriseConfig) {
+ if err := r.GithubEnterpriseConfig.validate(); err != nil {
+ return err
+ }
+ }
+ if !dcl.IsEmptyValueIndirect(r.GitlabConfig) {
+ if err := r.GitlabConfig.validate(); err != nil {
+ return err
+ }
+ }
+ if !dcl.IsEmptyValueIndirect(r.InstallationState) {
+ if err := r.InstallationState.validate(); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+func (r *ConnectionGithubConfig) validate() error {
+ if !dcl.IsEmptyValueIndirect(r.AuthorizerCredential) {
+ if err := r.AuthorizerCredential.validate(); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+func (r *ConnectionGithubConfigAuthorizerCredential) validate() error {
+ return nil
+}
+func (r *ConnectionGithubEnterpriseConfig) validate() error {
+ if err := dcl.Required(r, "hostUri"); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(r.ServiceDirectoryConfig) {
+ if err := r.ServiceDirectoryConfig.validate(); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+func (r *ConnectionGithubEnterpriseConfigServiceDirectoryConfig) validate() error {
+ if err := dcl.Required(r, "service"); err != nil {
+ return err
+ }
+ return nil
+}
+func (r *ConnectionGitlabConfig) validate() error {
+ if err := dcl.Required(r, "webhookSecretSecretVersion"); err != nil {
+ return err
+ }
+ if err := dcl.Required(r, "readAuthorizerCredential"); err != nil {
+ return err
+ }
+ if err := dcl.Required(r, "authorizerCredential"); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(r.ReadAuthorizerCredential) {
+ if err := r.ReadAuthorizerCredential.validate(); err != nil {
+ return err
+ }
+ }
+ if !dcl.IsEmptyValueIndirect(r.AuthorizerCredential) {
+ if err := r.AuthorizerCredential.validate(); err != nil {
+ return err
+ }
+ }
+ if !dcl.IsEmptyValueIndirect(r.ServiceDirectoryConfig) {
+ if err := r.ServiceDirectoryConfig.validate(); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+func (r *ConnectionGitlabConfigReadAuthorizerCredential) validate() error {
+ if err := dcl.Required(r, "userTokenSecretVersion"); err != nil {
+ return err
+ }
+ return nil
+}
+func (r *ConnectionGitlabConfigAuthorizerCredential) validate() error {
+ if err := dcl.Required(r, "userTokenSecretVersion"); err != nil {
+ return err
+ }
+ return nil
+}
+func (r *ConnectionGitlabConfigServiceDirectoryConfig) validate() error {
+ if err := dcl.Required(r, "service"); err != nil {
+ return err
+ }
+ return nil
+}
+func (r *ConnectionInstallationState) validate() error {
+ return nil
+}
+func (r *Connection) basePath() string {
+ params := map[string]interface{}{}
+ return dcl.Nprintf("https://cloudbuild.googleapis.com/v2/", params)
+}
+
+func (r *Connection) getURL(userBasePath string) (string, error) {
+ nr := r.urlNormalized()
+ params := map[string]interface{}{
+ "project": dcl.ValueOrEmptyString(nr.Project),
+ "location": dcl.ValueOrEmptyString(nr.Location),
+ "name": dcl.ValueOrEmptyString(nr.Name),
+ }
+ return dcl.URL("projects/{{project}}/locations/{{location}}/connections/{{name}}", nr.basePath(), userBasePath, params), nil
+}
+
+func (r *Connection) listURL(userBasePath string) (string, error) {
+ nr := r.urlNormalized()
+ params := map[string]interface{}{
+ "project": dcl.ValueOrEmptyString(nr.Project),
+ "location": dcl.ValueOrEmptyString(nr.Location),
+ }
+ return dcl.URL("projects/{{project}}/locations/{{location}}/connections", nr.basePath(), userBasePath, params), nil
+
+}
+
+func (r *Connection) createURL(userBasePath string) (string, error) {
+ nr := r.urlNormalized()
+ params := map[string]interface{}{
+ "project": dcl.ValueOrEmptyString(nr.Project),
+ "location": dcl.ValueOrEmptyString(nr.Location),
+ "name": dcl.ValueOrEmptyString(nr.Name),
+ }
+ return dcl.URL("projects/{{project}}/locations/{{location}}/connections?connectionId={{name}}", nr.basePath(), userBasePath, params), nil
+
+}
+
+func (r *Connection) deleteURL(userBasePath string) (string, error) {
+ nr := r.urlNormalized()
+ params := map[string]interface{}{
+ "project": dcl.ValueOrEmptyString(nr.Project),
+ "location": dcl.ValueOrEmptyString(nr.Location),
+ "name": dcl.ValueOrEmptyString(nr.Name),
+ }
+ return dcl.URL("projects/{{project}}/locations/{{location}}/connections/{{name}}", nr.basePath(), userBasePath, params), nil
+}
+
+// connectionApiOperation represents a mutable operation in the underlying REST
+// API such as Create, Update, or Delete.
+type connectionApiOperation interface {
+ do(context.Context, *Connection, *Client) error
+}
+
+// newUpdateConnectionUpdateConnectionRequest creates a request for an
+// Connection resource's UpdateConnection update type by filling in the update
+// fields based on the intended state of the resource.
+func newUpdateConnectionUpdateConnectionRequest(ctx context.Context, f *Connection, c *Client) (map[string]interface{}, error) {
+ req := map[string]interface{}{}
+ res := f
+ _ = res
+
+ if v, err := expandConnectionGithubConfig(c, f.GithubConfig, res); err != nil {
+ return nil, fmt.Errorf("error expanding GithubConfig into githubConfig: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ req["githubConfig"] = v
+ }
+ if v, err := expandConnectionGithubEnterpriseConfig(c, f.GithubEnterpriseConfig, res); err != nil {
+ return nil, fmt.Errorf("error expanding GithubEnterpriseConfig into githubEnterpriseConfig: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ req["githubEnterpriseConfig"] = v
+ }
+ if v, err := expandConnectionGitlabConfig(c, f.GitlabConfig, res); err != nil {
+ return nil, fmt.Errorf("error expanding GitlabConfig into gitlabConfig: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ req["gitlabConfig"] = v
+ }
+ if v := f.Disabled; !dcl.IsEmptyValueIndirect(v) {
+ req["disabled"] = v
+ }
+ if v := f.Annotations; !dcl.IsEmptyValueIndirect(v) {
+ req["annotations"] = v
+ }
+ b, err := c.getConnectionRaw(ctx, f)
+ if err != nil {
+ return nil, err
+ }
+ var m map[string]interface{}
+ if err := json.Unmarshal(b, &m); err != nil {
+ return nil, err
+ }
+ rawEtag, err := dcl.GetMapEntry(
+ m,
+ []string{"etag"},
+ )
+ if err != nil {
+ c.Config.Logger.WarningWithContextf(ctx, "Failed to fetch from JSON Path: %v", err)
+ } else {
+ req["etag"] = rawEtag.(string)
+ }
+ req["name"] = fmt.Sprintf("projects/%s/locations/%s/connections/%s", *f.Project, *f.Location, *f.Name)
+
+ return req, nil
+}
+
+// marshalUpdateConnectionUpdateConnectionRequest converts the update into
+// the final JSON request body.
+func marshalUpdateConnectionUpdateConnectionRequest(c *Client, m map[string]interface{}) ([]byte, error) {
+
+ return json.Marshal(m)
+}
+
+type updateConnectionUpdateConnectionOperation struct {
+ // If the update operation has the REQUIRES_APPLY_OPTIONS trait, this will be populated.
+ // Usually it will be nil - this is to prevent us from accidentally depending on apply
+ // options, which should usually be unnecessary.
+ ApplyOptions []dcl.ApplyOption
+ FieldDiffs []*dcl.FieldDiff
+}
+
+// do creates a request and sends it to the appropriate URL. In most operations,
+// do will transcribe a subset of the resource into a request object and send a
+// PUT request to a single URL.
+
+func (op *updateConnectionUpdateConnectionOperation) do(ctx context.Context, r *Connection, c *Client) error {
+ _, err := c.GetConnection(ctx, r)
+ if err != nil {
+ return err
+ }
+
+ u, err := r.updateURL(c.Config.BasePath, "UpdateConnection")
+ if err != nil {
+ return err
+ }
+ mask := dcl.UpdateMask(op.FieldDiffs)
+ u, err = dcl.AddQueryParams(u, map[string]string{"updateMask": mask})
+ if err != nil {
+ return err
+ }
+
+ req, err := newUpdateConnectionUpdateConnectionRequest(ctx, r, c)
+ if err != nil {
+ return err
+ }
+
+ c.Config.Logger.InfoWithContextf(ctx, "Created update: %#v", req)
+ body, err := marshalUpdateConnectionUpdateConnectionRequest(c, req)
+ if err != nil {
+ return err
+ }
+ resp, err := dcl.SendRequest(ctx, c.Config, "PATCH", u, bytes.NewBuffer(body), c.Config.RetryProvider)
+ if err != nil {
+ return err
+ }
+
+ var o operations.StandardGCPOperation
+ if err := dcl.ParseResponse(resp.Response, &o); err != nil {
+ return err
+ }
+ err = o.Wait(context.WithValue(ctx, dcl.DoNotLogRequestsKey, true), c.Config, r.basePath(), "GET")
+
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (c *Client) listConnectionRaw(ctx context.Context, r *Connection, pageToken string, pageSize int32) ([]byte, error) {
+ u, err := r.urlNormalized().listURL(c.Config.BasePath)
+ if err != nil {
+ return nil, err
+ }
+
+ m := make(map[string]string)
+ if pageToken != "" {
+ m["pageToken"] = pageToken
+ }
+
+ if pageSize != ConnectionMaxPage {
+ m["pageSize"] = fmt.Sprintf("%v", pageSize)
+ }
+
+ u, err = dcl.AddQueryParams(u, m)
+ if err != nil {
+ return nil, err
+ }
+ resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
+ if err != nil {
+ return nil, err
+ }
+ defer resp.Response.Body.Close()
+ return ioutil.ReadAll(resp.Response.Body)
+}
+
+type listConnectionOperation struct {
+ Connections []map[string]interface{} `json:"connections"`
+ Token string `json:"nextPageToken"`
+}
+
+func (c *Client) listConnection(ctx context.Context, r *Connection, pageToken string, pageSize int32) ([]*Connection, string, error) {
+ b, err := c.listConnectionRaw(ctx, r, pageToken, pageSize)
+ if err != nil {
+ return nil, "", err
+ }
+
+ var m listConnectionOperation
+ if err := json.Unmarshal(b, &m); err != nil {
+ return nil, "", err
+ }
+
+ var l []*Connection
+ for _, v := range m.Connections {
+ res, err := unmarshalMapConnection(v, c, r)
+ if err != nil {
+ return nil, m.Token, err
+ }
+ res.Project = r.Project
+ res.Location = r.Location
+ l = append(l, res)
+ }
+
+ return l, m.Token, nil
+}
+
+func (c *Client) deleteAllConnection(ctx context.Context, f func(*Connection) bool, resources []*Connection) error {
+ var errors []string
+ for _, res := range resources {
+ if f(res) {
+ // We do not want deleteAll to fail on a deletion or else it will stop deleting other resources.
+ err := c.DeleteConnection(ctx, res)
+ if err != nil {
+ errors = append(errors, err.Error())
+ }
+ }
+ }
+ if len(errors) > 0 {
+ return fmt.Errorf("%v", strings.Join(errors, "\n"))
+ } else {
+ return nil
+ }
+}
+
+type deleteConnectionOperation struct{}
+
+func (op *deleteConnectionOperation) do(ctx context.Context, r *Connection, c *Client) error {
+ r, err := c.GetConnection(ctx, r)
+ if err != nil {
+ if dcl.IsNotFound(err) {
+ c.Config.Logger.InfoWithContextf(ctx, "Connection not found, returning. Original error: %v", err)
+ return nil
+ }
+ c.Config.Logger.WarningWithContextf(ctx, "GetConnection checking for existence. error: %v", err)
+ return err
+ }
+
+ u, err := r.deleteURL(c.Config.BasePath)
+ if err != nil {
+ return err
+ }
+
+ // Delete should never have a body
+ body := &bytes.Buffer{}
+ resp, err := dcl.SendRequest(ctx, c.Config, "DELETE", u, body, c.Config.RetryProvider)
+ if err != nil {
+ return err
+ }
+
+ // wait for object to be deleted.
+ var o operations.StandardGCPOperation
+ if err := dcl.ParseResponse(resp.Response, &o); err != nil {
+ return err
+ }
+ if err := o.Wait(context.WithValue(ctx, dcl.DoNotLogRequestsKey, true), c.Config, r.basePath(), "GET"); err != nil {
+ return err
+ }
+
+ // We saw a race condition where for some successful delete operation, the Get calls returned resources for a short duration.
+ // This is the reason we are adding retry to handle that case.
+ retriesRemaining := 10
+ dcl.Do(ctx, func(ctx context.Context) (*dcl.RetryDetails, error) {
+ _, err := c.GetConnection(ctx, r)
+ if dcl.IsNotFound(err) {
+ return nil, nil
+ }
+ if retriesRemaining > 0 {
+ retriesRemaining--
+ return &dcl.RetryDetails{}, dcl.OperationNotDone{}
+ }
+ return nil, dcl.NotDeletedError{ExistingResource: r}
+ }, c.Config.RetryProvider)
+ return nil
+}
+
+// Create operations are similar to Update operations, although they do not have
+// specific request objects. The Create request object is the json encoding of
+// the resource, which is modified by res.marshal to form the base request body.
+type createConnectionOperation struct {
+ response map[string]interface{}
+}
+
+func (op *createConnectionOperation) FirstResponse() (map[string]interface{}, bool) {
+ return op.response, len(op.response) > 0
+}
+
+func (op *createConnectionOperation) do(ctx context.Context, r *Connection, c *Client) error {
+ c.Config.Logger.InfoWithContextf(ctx, "Attempting to create %v", r)
+ u, err := r.createURL(c.Config.BasePath)
+ if err != nil {
+ return err
+ }
+
+ req, err := r.marshal(c)
+ if err != nil {
+ return err
+ }
+ resp, err := dcl.SendRequest(ctx, c.Config, "POST", u, bytes.NewBuffer(req), c.Config.RetryProvider)
+ if err != nil {
+ return err
+ }
+ // wait for object to be created.
+ var o operations.StandardGCPOperation
+ if err := dcl.ParseResponse(resp.Response, &o); err != nil {
+ return err
+ }
+ if err := o.Wait(context.WithValue(ctx, dcl.DoNotLogRequestsKey, true), c.Config, r.basePath(), "GET"); err != nil {
+ c.Config.Logger.Warningf("Creation failed after waiting for operation: %v", err)
+ return err
+ }
+ c.Config.Logger.InfoWithContextf(ctx, "Successfully waited for operation")
+ op.response, _ = o.FirstResponse()
+
+ if _, err := c.GetConnection(ctx, r); err != nil {
+ c.Config.Logger.WarningWithContextf(ctx, "get returned error: %v", err)
+ return err
+ }
+
+ return nil
+}
+
+func (c *Client) getConnectionRaw(ctx context.Context, r *Connection) ([]byte, error) {
+
+ u, err := r.getURL(c.Config.BasePath)
+ if err != nil {
+ return nil, err
+ }
+ resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
+ if err != nil {
+ return nil, err
+ }
+ defer resp.Response.Body.Close()
+ b, err := ioutil.ReadAll(resp.Response.Body)
+ if err != nil {
+ return nil, err
+ }
+
+ return b, nil
+}
+
+func (c *Client) connectionDiffsForRawDesired(ctx context.Context, rawDesired *Connection, opts ...dcl.ApplyOption) (initial, desired *Connection, diffs []*dcl.FieldDiff, err error) {
+ c.Config.Logger.InfoWithContext(ctx, "Fetching initial state...")
+ // First, let us see if the user provided a state hint. If they did, we will start fetching based on that.
+ var fetchState *Connection
+ if sh := dcl.FetchStateHint(opts); sh != nil {
+ if r, ok := sh.(*Connection); !ok {
+ c.Config.Logger.WarningWithContextf(ctx, "Initial state hint was of the wrong type; expected Connection, got %T", sh)
+ } else {
+ fetchState = r
+ }
+ }
+ if fetchState == nil {
+ fetchState = rawDesired
+ }
+
+ // 1.2: Retrieval of raw initial state from API
+ rawInitial, err := c.GetConnection(ctx, fetchState)
+ if rawInitial == nil {
+ if !dcl.IsNotFound(err) {
+ c.Config.Logger.WarningWithContextf(ctx, "Failed to retrieve whether a Connection resource already exists: %s", err)
+ return nil, nil, nil, fmt.Errorf("failed to retrieve Connection resource: %v", err)
+ }
+ c.Config.Logger.InfoWithContext(ctx, "Found that Connection resource did not exist.")
+ // Perform canonicalization to pick up defaults.
+ desired, err = canonicalizeConnectionDesiredState(rawDesired, rawInitial)
+ return nil, desired, nil, err
+ }
+ c.Config.Logger.InfoWithContextf(ctx, "Found initial state for Connection: %v", rawInitial)
+ c.Config.Logger.InfoWithContextf(ctx, "Initial desired state for Connection: %v", rawDesired)
+
+ // The Get call applies postReadExtract and so the result may contain fields that are not part of API version.
+ if err := extractConnectionFields(rawInitial); err != nil {
+ return nil, nil, nil, err
+ }
+
+ // 1.3: Canonicalize raw initial state into initial state.
+ initial, err = canonicalizeConnectionInitialState(rawInitial, rawDesired)
+ if err != nil {
+ return nil, nil, nil, err
+ }
+ c.Config.Logger.InfoWithContextf(ctx, "Canonicalized initial state for Connection: %v", initial)
+
+ // 1.4: Canonicalize raw desired state into desired state.
+ desired, err = canonicalizeConnectionDesiredState(rawDesired, rawInitial, opts...)
+ if err != nil {
+ return nil, nil, nil, err
+ }
+ c.Config.Logger.InfoWithContextf(ctx, "Canonicalized desired state for Connection: %v", desired)
+
+ // 2.1: Comparison of initial and desired state.
+ diffs, err = diffConnection(c, desired, initial, opts...)
+ return initial, desired, diffs, err
+}
+
+func canonicalizeConnectionInitialState(rawInitial, rawDesired *Connection) (*Connection, error) {
+ // TODO(magic-modules-eng): write canonicalizer once relevant traits are added.
+
+ if !dcl.IsZeroValue(rawInitial.GithubConfig) {
+ // Check if anything else is set.
+ if dcl.AnySet(rawInitial.GithubEnterpriseConfig, rawInitial.GitlabConfig) {
+ rawInitial.GithubConfig = EmptyConnectionGithubConfig
+ }
+ }
+
+ if !dcl.IsZeroValue(rawInitial.GithubEnterpriseConfig) {
+ // Check if anything else is set.
+ if dcl.AnySet(rawInitial.GithubConfig, rawInitial.GitlabConfig) {
+ rawInitial.GithubEnterpriseConfig = EmptyConnectionGithubEnterpriseConfig
+ }
+ }
+
+ if !dcl.IsZeroValue(rawInitial.GitlabConfig) {
+ // Check if anything else is set.
+ if dcl.AnySet(rawInitial.GithubConfig, rawInitial.GithubEnterpriseConfig) {
+ rawInitial.GitlabConfig = EmptyConnectionGitlabConfig
+ }
+ }
+
+ return rawInitial, nil
+}
+
+/*
+* Canonicalizers
+*
+* These are responsible for converting either a user-specified config or a
+* GCP API response to a standard format that can be used for difference checking.
+* */
+
+func canonicalizeConnectionDesiredState(rawDesired, rawInitial *Connection, opts ...dcl.ApplyOption) (*Connection, error) {
+
+ if rawInitial == nil {
+ // Since the initial state is empty, the desired state is all we have.
+ // We canonicalize the remaining nested objects with nil to pick up defaults.
+ rawDesired.GithubConfig = canonicalizeConnectionGithubConfig(rawDesired.GithubConfig, nil, opts...)
+ rawDesired.GithubEnterpriseConfig = canonicalizeConnectionGithubEnterpriseConfig(rawDesired.GithubEnterpriseConfig, nil, opts...)
+ rawDesired.GitlabConfig = canonicalizeConnectionGitlabConfig(rawDesired.GitlabConfig, nil, opts...)
+ rawDesired.InstallationState = canonicalizeConnectionInstallationState(rawDesired.InstallationState, nil, opts...)
+
+ return rawDesired, nil
+ }
+ canonicalDesired := &Connection{}
+ if dcl.NameToSelfLink(rawDesired.Name, rawInitial.Name) {
+ canonicalDesired.Name = rawInitial.Name
+ } else {
+ canonicalDesired.Name = rawDesired.Name
+ }
+ canonicalDesired.GithubConfig = canonicalizeConnectionGithubConfig(rawDesired.GithubConfig, rawInitial.GithubConfig, opts...)
+ canonicalDesired.GithubEnterpriseConfig = canonicalizeConnectionGithubEnterpriseConfig(rawDesired.GithubEnterpriseConfig, rawInitial.GithubEnterpriseConfig, opts...)
+ canonicalDesired.GitlabConfig = canonicalizeConnectionGitlabConfig(rawDesired.GitlabConfig, rawInitial.GitlabConfig, opts...)
+ if dcl.BoolCanonicalize(rawDesired.Disabled, rawInitial.Disabled) {
+ canonicalDesired.Disabled = rawInitial.Disabled
+ } else {
+ canonicalDesired.Disabled = rawDesired.Disabled
+ }
+ if dcl.IsZeroValue(rawDesired.Annotations) || (dcl.IsEmptyValueIndirect(rawDesired.Annotations) && dcl.IsEmptyValueIndirect(rawInitial.Annotations)) {
+ // Desired and initial values are equivalent, so set canonical desired value to initial value.
+ canonicalDesired.Annotations = rawInitial.Annotations
+ } else {
+ canonicalDesired.Annotations = rawDesired.Annotations
+ }
+ if dcl.NameToSelfLink(rawDesired.Project, rawInitial.Project) {
+ canonicalDesired.Project = rawInitial.Project
+ } else {
+ canonicalDesired.Project = rawDesired.Project
+ }
+ if dcl.NameToSelfLink(rawDesired.Location, rawInitial.Location) {
+ canonicalDesired.Location = rawInitial.Location
+ } else {
+ canonicalDesired.Location = rawDesired.Location
+ }
+
+ if canonicalDesired.GithubConfig != nil {
+ // Check if anything else is set.
+ if dcl.AnySet(rawDesired.GithubEnterpriseConfig, rawDesired.GitlabConfig) {
+ canonicalDesired.GithubConfig = EmptyConnectionGithubConfig
+ }
+ }
+
+ if canonicalDesired.GithubEnterpriseConfig != nil {
+ // Check if anything else is set.
+ if dcl.AnySet(rawDesired.GithubConfig, rawDesired.GitlabConfig) {
+ canonicalDesired.GithubEnterpriseConfig = EmptyConnectionGithubEnterpriseConfig
+ }
+ }
+
+ if canonicalDesired.GitlabConfig != nil {
+ // Check if anything else is set.
+ if dcl.AnySet(rawDesired.GithubConfig, rawDesired.GithubEnterpriseConfig) {
+ canonicalDesired.GitlabConfig = EmptyConnectionGitlabConfig
+ }
+ }
+
+ return canonicalDesired, nil
+}
+
+func canonicalizeConnectionNewState(c *Client, rawNew, rawDesired *Connection) (*Connection, error) {
+
+ rawNew.Name = rawDesired.Name
+
+ if dcl.IsEmptyValueIndirect(rawNew.CreateTime) && dcl.IsEmptyValueIndirect(rawDesired.CreateTime) {
+ rawNew.CreateTime = rawDesired.CreateTime
+ } else {
+ }
+
+ if dcl.IsEmptyValueIndirect(rawNew.UpdateTime) && dcl.IsEmptyValueIndirect(rawDesired.UpdateTime) {
+ rawNew.UpdateTime = rawDesired.UpdateTime
+ } else {
+ }
+
+ if dcl.IsEmptyValueIndirect(rawNew.GithubConfig) && dcl.IsEmptyValueIndirect(rawDesired.GithubConfig) {
+ rawNew.GithubConfig = rawDesired.GithubConfig
+ } else {
+ rawNew.GithubConfig = canonicalizeNewConnectionGithubConfig(c, rawDesired.GithubConfig, rawNew.GithubConfig)
+ }
+
+ if dcl.IsEmptyValueIndirect(rawNew.GithubEnterpriseConfig) && dcl.IsEmptyValueIndirect(rawDesired.GithubEnterpriseConfig) {
+ rawNew.GithubEnterpriseConfig = rawDesired.GithubEnterpriseConfig
+ } else {
+ rawNew.GithubEnterpriseConfig = canonicalizeNewConnectionGithubEnterpriseConfig(c, rawDesired.GithubEnterpriseConfig, rawNew.GithubEnterpriseConfig)
+ }
+
+ if dcl.IsEmptyValueIndirect(rawNew.GitlabConfig) && dcl.IsEmptyValueIndirect(rawDesired.GitlabConfig) {
+ rawNew.GitlabConfig = rawDesired.GitlabConfig
+ } else {
+ rawNew.GitlabConfig = canonicalizeNewConnectionGitlabConfig(c, rawDesired.GitlabConfig, rawNew.GitlabConfig)
+ }
+
+ if dcl.IsEmptyValueIndirect(rawNew.InstallationState) && dcl.IsEmptyValueIndirect(rawDesired.InstallationState) {
+ rawNew.InstallationState = rawDesired.InstallationState
+ } else {
+ rawNew.InstallationState = canonicalizeNewConnectionInstallationState(c, rawDesired.InstallationState, rawNew.InstallationState)
+ }
+
+ if dcl.IsEmptyValueIndirect(rawNew.Disabled) && dcl.IsEmptyValueIndirect(rawDesired.Disabled) {
+ rawNew.Disabled = rawDesired.Disabled
+ } else {
+ if dcl.BoolCanonicalize(rawDesired.Disabled, rawNew.Disabled) {
+ rawNew.Disabled = rawDesired.Disabled
+ }
+ }
+
+ if dcl.IsEmptyValueIndirect(rawNew.Reconciling) && dcl.IsEmptyValueIndirect(rawDesired.Reconciling) {
+ rawNew.Reconciling = rawDesired.Reconciling
+ } else {
+ if dcl.BoolCanonicalize(rawDesired.Reconciling, rawNew.Reconciling) {
+ rawNew.Reconciling = rawDesired.Reconciling
+ }
+ }
+
+ if dcl.IsEmptyValueIndirect(rawNew.Annotations) && dcl.IsEmptyValueIndirect(rawDesired.Annotations) {
+ rawNew.Annotations = rawDesired.Annotations
+ } else {
+ }
+
+ if dcl.IsEmptyValueIndirect(rawNew.Etag) && dcl.IsEmptyValueIndirect(rawDesired.Etag) {
+ rawNew.Etag = rawDesired.Etag
+ } else {
+ if dcl.StringCanonicalize(rawDesired.Etag, rawNew.Etag) {
+ rawNew.Etag = rawDesired.Etag
+ }
+ }
+
+ rawNew.Project = rawDesired.Project
+
+ rawNew.Location = rawDesired.Location
+
+ return rawNew, nil
+}
+
+func canonicalizeConnectionGithubConfig(des, initial *ConnectionGithubConfig, opts ...dcl.ApplyOption) *ConnectionGithubConfig {
+ if des == nil {
+ return initial
+ }
+ if des.empty {
+ return des
+ }
+
+ if initial == nil {
+ return des
+ }
+
+ cDes := &ConnectionGithubConfig{}
+
+ cDes.AuthorizerCredential = canonicalizeConnectionGithubConfigAuthorizerCredential(des.AuthorizerCredential, initial.AuthorizerCredential, opts...)
+ if dcl.IsZeroValue(des.AppInstallationId) || (dcl.IsEmptyValueIndirect(des.AppInstallationId) && dcl.IsEmptyValueIndirect(initial.AppInstallationId)) {
+ // Desired and initial values are equivalent, so set canonical desired value to initial value.
+ cDes.AppInstallationId = initial.AppInstallationId
+ } else {
+ cDes.AppInstallationId = des.AppInstallationId
+ }
+
+ return cDes
+}
+
+func canonicalizeConnectionGithubConfigSlice(des, initial []ConnectionGithubConfig, opts ...dcl.ApplyOption) []ConnectionGithubConfig {
+ if dcl.IsEmptyValueIndirect(des) {
+ return initial
+ }
+
+ if len(des) != len(initial) {
+
+ items := make([]ConnectionGithubConfig, 0, len(des))
+ for _, d := range des {
+ cd := canonicalizeConnectionGithubConfig(&d, nil, opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+ }
+
+ items := make([]ConnectionGithubConfig, 0, len(des))
+ for i, d := range des {
+ cd := canonicalizeConnectionGithubConfig(&d, &initial[i], opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+
+}
+
+func canonicalizeNewConnectionGithubConfig(c *Client, des, nw *ConnectionGithubConfig) *ConnectionGithubConfig {
+
+ if des == nil {
+ return nw
+ }
+
+ if nw == nil {
+ if dcl.IsEmptyValueIndirect(des) {
+ c.Config.Logger.Info("Found explicitly empty value for ConnectionGithubConfig while comparing non-nil desired to nil actual. Returning desired object.")
+ return des
+ }
+ return nil
+ }
+
+ nw.AuthorizerCredential = canonicalizeNewConnectionGithubConfigAuthorizerCredential(c, des.AuthorizerCredential, nw.AuthorizerCredential)
+
+ return nw
+}
+
+func canonicalizeNewConnectionGithubConfigSet(c *Client, des, nw []ConnectionGithubConfig) []ConnectionGithubConfig {
+ if des == nil {
+ return nw
+ }
+
+ // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
+ var items []ConnectionGithubConfig
+ for _, d := range des {
+ matchedIndex := -1
+ for i, n := range nw {
+ if diffs, _ := compareConnectionGithubConfigNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
+ matchedIndex = i
+ break
+ }
+ }
+ if matchedIndex != -1 {
+ items = append(items, *canonicalizeNewConnectionGithubConfig(c, &d, &nw[matchedIndex]))
+ nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
+ }
+ }
+ // Also include elements in nw that are not matched in des.
+ items = append(items, nw...)
+
+ return items
+}
+
+func canonicalizeNewConnectionGithubConfigSlice(c *Client, des, nw []ConnectionGithubConfig) []ConnectionGithubConfig {
+ if des == nil {
+ return nw
+ }
+
+ // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
+ // Return the original array.
+ if len(des) != len(nw) {
+ return nw
+ }
+
+ var items []ConnectionGithubConfig
+ for i, d := range des {
+ n := nw[i]
+ items = append(items, *canonicalizeNewConnectionGithubConfig(c, &d, &n))
+ }
+
+ return items
+}
+
+func canonicalizeConnectionGithubConfigAuthorizerCredential(des, initial *ConnectionGithubConfigAuthorizerCredential, opts ...dcl.ApplyOption) *ConnectionGithubConfigAuthorizerCredential {
+ if des == nil {
+ return initial
+ }
+ if des.empty {
+ return des
+ }
+
+ if initial == nil {
+ return des
+ }
+
+ cDes := &ConnectionGithubConfigAuthorizerCredential{}
+
+ if dcl.IsZeroValue(des.OAuthTokenSecretVersion) || (dcl.IsEmptyValueIndirect(des.OAuthTokenSecretVersion) && dcl.IsEmptyValueIndirect(initial.OAuthTokenSecretVersion)) {
+ // Desired and initial values are equivalent, so set canonical desired value to initial value.
+ cDes.OAuthTokenSecretVersion = initial.OAuthTokenSecretVersion
+ } else {
+ cDes.OAuthTokenSecretVersion = des.OAuthTokenSecretVersion
+ }
+
+ return cDes
+}
+
+func canonicalizeConnectionGithubConfigAuthorizerCredentialSlice(des, initial []ConnectionGithubConfigAuthorizerCredential, opts ...dcl.ApplyOption) []ConnectionGithubConfigAuthorizerCredential {
+ if dcl.IsEmptyValueIndirect(des) {
+ return initial
+ }
+
+ if len(des) != len(initial) {
+
+ items := make([]ConnectionGithubConfigAuthorizerCredential, 0, len(des))
+ for _, d := range des {
+ cd := canonicalizeConnectionGithubConfigAuthorizerCredential(&d, nil, opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+ }
+
+ items := make([]ConnectionGithubConfigAuthorizerCredential, 0, len(des))
+ for i, d := range des {
+ cd := canonicalizeConnectionGithubConfigAuthorizerCredential(&d, &initial[i], opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+
+}
+
+func canonicalizeNewConnectionGithubConfigAuthorizerCredential(c *Client, des, nw *ConnectionGithubConfigAuthorizerCredential) *ConnectionGithubConfigAuthorizerCredential {
+
+ if des == nil {
+ return nw
+ }
+
+ if nw == nil {
+ if dcl.IsEmptyValueIndirect(des) {
+ c.Config.Logger.Info("Found explicitly empty value for ConnectionGithubConfigAuthorizerCredential while comparing non-nil desired to nil actual. Returning desired object.")
+ return des
+ }
+ return nil
+ }
+
+ if dcl.StringCanonicalize(des.Username, nw.Username) {
+ nw.Username = des.Username
+ }
+
+ return nw
+}
+
+func canonicalizeNewConnectionGithubConfigAuthorizerCredentialSet(c *Client, des, nw []ConnectionGithubConfigAuthorizerCredential) []ConnectionGithubConfigAuthorizerCredential {
+ if des == nil {
+ return nw
+ }
+
+ // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
+ var items []ConnectionGithubConfigAuthorizerCredential
+ for _, d := range des {
+ matchedIndex := -1
+ for i, n := range nw {
+ if diffs, _ := compareConnectionGithubConfigAuthorizerCredentialNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
+ matchedIndex = i
+ break
+ }
+ }
+ if matchedIndex != -1 {
+ items = append(items, *canonicalizeNewConnectionGithubConfigAuthorizerCredential(c, &d, &nw[matchedIndex]))
+ nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
+ }
+ }
+ // Also include elements in nw that are not matched in des.
+ items = append(items, nw...)
+
+ return items
+}
+
+func canonicalizeNewConnectionGithubConfigAuthorizerCredentialSlice(c *Client, des, nw []ConnectionGithubConfigAuthorizerCredential) []ConnectionGithubConfigAuthorizerCredential {
+ if des == nil {
+ return nw
+ }
+
+ // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
+ // Return the original array.
+ if len(des) != len(nw) {
+ return nw
+ }
+
+ var items []ConnectionGithubConfigAuthorizerCredential
+ for i, d := range des {
+ n := nw[i]
+ items = append(items, *canonicalizeNewConnectionGithubConfigAuthorizerCredential(c, &d, &n))
+ }
+
+ return items
+}
+
+func canonicalizeConnectionGithubEnterpriseConfig(des, initial *ConnectionGithubEnterpriseConfig, opts ...dcl.ApplyOption) *ConnectionGithubEnterpriseConfig {
+ if des == nil {
+ return initial
+ }
+ if des.empty {
+ return des
+ }
+
+ if initial == nil {
+ return des
+ }
+
+ cDes := &ConnectionGithubEnterpriseConfig{}
+
+ if dcl.StringCanonicalize(des.HostUri, initial.HostUri) || dcl.IsZeroValue(des.HostUri) {
+ cDes.HostUri = initial.HostUri
+ } else {
+ cDes.HostUri = des.HostUri
+ }
+ if dcl.IsZeroValue(des.AppId) || (dcl.IsEmptyValueIndirect(des.AppId) && dcl.IsEmptyValueIndirect(initial.AppId)) {
+ // Desired and initial values are equivalent, so set canonical desired value to initial value.
+ cDes.AppId = initial.AppId
+ } else {
+ cDes.AppId = des.AppId
+ }
+ if dcl.StringCanonicalize(des.AppSlug, initial.AppSlug) || dcl.IsZeroValue(des.AppSlug) {
+ cDes.AppSlug = initial.AppSlug
+ } else {
+ cDes.AppSlug = des.AppSlug
+ }
+ if dcl.IsZeroValue(des.PrivateKeySecretVersion) || (dcl.IsEmptyValueIndirect(des.PrivateKeySecretVersion) && dcl.IsEmptyValueIndirect(initial.PrivateKeySecretVersion)) {
+ // Desired and initial values are equivalent, so set canonical desired value to initial value.
+ cDes.PrivateKeySecretVersion = initial.PrivateKeySecretVersion
+ } else {
+ cDes.PrivateKeySecretVersion = des.PrivateKeySecretVersion
+ }
+ if dcl.IsZeroValue(des.WebhookSecretSecretVersion) || (dcl.IsEmptyValueIndirect(des.WebhookSecretSecretVersion) && dcl.IsEmptyValueIndirect(initial.WebhookSecretSecretVersion)) {
+ // Desired and initial values are equivalent, so set canonical desired value to initial value.
+ cDes.WebhookSecretSecretVersion = initial.WebhookSecretSecretVersion
+ } else {
+ cDes.WebhookSecretSecretVersion = des.WebhookSecretSecretVersion
+ }
+ if dcl.IsZeroValue(des.AppInstallationId) || (dcl.IsEmptyValueIndirect(des.AppInstallationId) && dcl.IsEmptyValueIndirect(initial.AppInstallationId)) {
+ // Desired and initial values are equivalent, so set canonical desired value to initial value.
+ cDes.AppInstallationId = initial.AppInstallationId
+ } else {
+ cDes.AppInstallationId = des.AppInstallationId
+ }
+ cDes.ServiceDirectoryConfig = canonicalizeConnectionGithubEnterpriseConfigServiceDirectoryConfig(des.ServiceDirectoryConfig, initial.ServiceDirectoryConfig, opts...)
+ if dcl.StringCanonicalize(des.SslCa, initial.SslCa) || dcl.IsZeroValue(des.SslCa) {
+ cDes.SslCa = initial.SslCa
+ } else {
+ cDes.SslCa = des.SslCa
+ }
+
+ return cDes
+}
+
+func canonicalizeConnectionGithubEnterpriseConfigSlice(des, initial []ConnectionGithubEnterpriseConfig, opts ...dcl.ApplyOption) []ConnectionGithubEnterpriseConfig {
+ if dcl.IsEmptyValueIndirect(des) {
+ return initial
+ }
+
+ if len(des) != len(initial) {
+
+ items := make([]ConnectionGithubEnterpriseConfig, 0, len(des))
+ for _, d := range des {
+ cd := canonicalizeConnectionGithubEnterpriseConfig(&d, nil, opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+ }
+
+ items := make([]ConnectionGithubEnterpriseConfig, 0, len(des))
+ for i, d := range des {
+ cd := canonicalizeConnectionGithubEnterpriseConfig(&d, &initial[i], opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+
+}
+
+func canonicalizeNewConnectionGithubEnterpriseConfig(c *Client, des, nw *ConnectionGithubEnterpriseConfig) *ConnectionGithubEnterpriseConfig {
+
+ if des == nil {
+ return nw
+ }
+
+ if nw == nil {
+ if dcl.IsEmptyValueIndirect(des) {
+ c.Config.Logger.Info("Found explicitly empty value for ConnectionGithubEnterpriseConfig while comparing non-nil desired to nil actual. Returning desired object.")
+ return des
+ }
+ return nil
+ }
+
+ if dcl.StringCanonicalize(des.HostUri, nw.HostUri) {
+ nw.HostUri = des.HostUri
+ }
+ if dcl.StringCanonicalize(des.AppSlug, nw.AppSlug) {
+ nw.AppSlug = des.AppSlug
+ }
+ nw.ServiceDirectoryConfig = canonicalizeNewConnectionGithubEnterpriseConfigServiceDirectoryConfig(c, des.ServiceDirectoryConfig, nw.ServiceDirectoryConfig)
+ if dcl.StringCanonicalize(des.SslCa, nw.SslCa) {
+ nw.SslCa = des.SslCa
+ }
+
+ return nw
+}
+
+func canonicalizeNewConnectionGithubEnterpriseConfigSet(c *Client, des, nw []ConnectionGithubEnterpriseConfig) []ConnectionGithubEnterpriseConfig {
+ if des == nil {
+ return nw
+ }
+
+ // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
+ var items []ConnectionGithubEnterpriseConfig
+ for _, d := range des {
+ matchedIndex := -1
+ for i, n := range nw {
+ if diffs, _ := compareConnectionGithubEnterpriseConfigNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
+ matchedIndex = i
+ break
+ }
+ }
+ if matchedIndex != -1 {
+ items = append(items, *canonicalizeNewConnectionGithubEnterpriseConfig(c, &d, &nw[matchedIndex]))
+ nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
+ }
+ }
+ // Also include elements in nw that are not matched in des.
+ items = append(items, nw...)
+
+ return items
+}
+
+func canonicalizeNewConnectionGithubEnterpriseConfigSlice(c *Client, des, nw []ConnectionGithubEnterpriseConfig) []ConnectionGithubEnterpriseConfig {
+ if des == nil {
+ return nw
+ }
+
+ // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
+ // Return the original array.
+ if len(des) != len(nw) {
+ return nw
+ }
+
+ var items []ConnectionGithubEnterpriseConfig
+ for i, d := range des {
+ n := nw[i]
+ items = append(items, *canonicalizeNewConnectionGithubEnterpriseConfig(c, &d, &n))
+ }
+
+ return items
+}
+
+func canonicalizeConnectionGithubEnterpriseConfigServiceDirectoryConfig(des, initial *ConnectionGithubEnterpriseConfigServiceDirectoryConfig, opts ...dcl.ApplyOption) *ConnectionGithubEnterpriseConfigServiceDirectoryConfig {
+ if des == nil {
+ return initial
+ }
+ if des.empty {
+ return des
+ }
+
+ if initial == nil {
+ return des
+ }
+
+ cDes := &ConnectionGithubEnterpriseConfigServiceDirectoryConfig{}
+
+ if dcl.IsZeroValue(des.Service) || (dcl.IsEmptyValueIndirect(des.Service) && dcl.IsEmptyValueIndirect(initial.Service)) {
+ // Desired and initial values are equivalent, so set canonical desired value to initial value.
+ cDes.Service = initial.Service
+ } else {
+ cDes.Service = des.Service
+ }
+
+ return cDes
+}
+
+func canonicalizeConnectionGithubEnterpriseConfigServiceDirectoryConfigSlice(des, initial []ConnectionGithubEnterpriseConfigServiceDirectoryConfig, opts ...dcl.ApplyOption) []ConnectionGithubEnterpriseConfigServiceDirectoryConfig {
+ if dcl.IsEmptyValueIndirect(des) {
+ return initial
+ }
+
+ if len(des) != len(initial) {
+
+ items := make([]ConnectionGithubEnterpriseConfigServiceDirectoryConfig, 0, len(des))
+ for _, d := range des {
+ cd := canonicalizeConnectionGithubEnterpriseConfigServiceDirectoryConfig(&d, nil, opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+ }
+
+ items := make([]ConnectionGithubEnterpriseConfigServiceDirectoryConfig, 0, len(des))
+ for i, d := range des {
+ cd := canonicalizeConnectionGithubEnterpriseConfigServiceDirectoryConfig(&d, &initial[i], opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+
+}
+
+func canonicalizeNewConnectionGithubEnterpriseConfigServiceDirectoryConfig(c *Client, des, nw *ConnectionGithubEnterpriseConfigServiceDirectoryConfig) *ConnectionGithubEnterpriseConfigServiceDirectoryConfig {
+
+ if des == nil {
+ return nw
+ }
+
+ if nw == nil {
+ if dcl.IsEmptyValueIndirect(des) {
+ c.Config.Logger.Info("Found explicitly empty value for ConnectionGithubEnterpriseConfigServiceDirectoryConfig while comparing non-nil desired to nil actual. Returning desired object.")
+ return des
+ }
+ return nil
+ }
+
+ return nw
+}
+
+func canonicalizeNewConnectionGithubEnterpriseConfigServiceDirectoryConfigSet(c *Client, des, nw []ConnectionGithubEnterpriseConfigServiceDirectoryConfig) []ConnectionGithubEnterpriseConfigServiceDirectoryConfig {
+ if des == nil {
+ return nw
+ }
+
+ // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
+ var items []ConnectionGithubEnterpriseConfigServiceDirectoryConfig
+ for _, d := range des {
+ matchedIndex := -1
+ for i, n := range nw {
+ if diffs, _ := compareConnectionGithubEnterpriseConfigServiceDirectoryConfigNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
+ matchedIndex = i
+ break
+ }
+ }
+ if matchedIndex != -1 {
+ items = append(items, *canonicalizeNewConnectionGithubEnterpriseConfigServiceDirectoryConfig(c, &d, &nw[matchedIndex]))
+ nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
+ }
+ }
+ // Also include elements in nw that are not matched in des.
+ items = append(items, nw...)
+
+ return items
+}
+
+func canonicalizeNewConnectionGithubEnterpriseConfigServiceDirectoryConfigSlice(c *Client, des, nw []ConnectionGithubEnterpriseConfigServiceDirectoryConfig) []ConnectionGithubEnterpriseConfigServiceDirectoryConfig {
+ if des == nil {
+ return nw
+ }
+
+ // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
+ // Return the original array.
+ if len(des) != len(nw) {
+ return nw
+ }
+
+ var items []ConnectionGithubEnterpriseConfigServiceDirectoryConfig
+ for i, d := range des {
+ n := nw[i]
+ items = append(items, *canonicalizeNewConnectionGithubEnterpriseConfigServiceDirectoryConfig(c, &d, &n))
+ }
+
+ return items
+}
+
+func canonicalizeConnectionGitlabConfig(des, initial *ConnectionGitlabConfig, opts ...dcl.ApplyOption) *ConnectionGitlabConfig {
+ if des == nil {
+ return initial
+ }
+ if des.empty {
+ return des
+ }
+
+ if initial == nil {
+ return des
+ }
+
+ cDes := &ConnectionGitlabConfig{}
+
+ if dcl.StringCanonicalize(des.HostUri, initial.HostUri) || dcl.IsZeroValue(des.HostUri) {
+ cDes.HostUri = initial.HostUri
+ } else {
+ cDes.HostUri = des.HostUri
+ }
+ if dcl.IsZeroValue(des.WebhookSecretSecretVersion) || (dcl.IsEmptyValueIndirect(des.WebhookSecretSecretVersion) && dcl.IsEmptyValueIndirect(initial.WebhookSecretSecretVersion)) {
+ // Desired and initial values are equivalent, so set canonical desired value to initial value.
+ cDes.WebhookSecretSecretVersion = initial.WebhookSecretSecretVersion
+ } else {
+ cDes.WebhookSecretSecretVersion = des.WebhookSecretSecretVersion
+ }
+ cDes.ReadAuthorizerCredential = canonicalizeConnectionGitlabConfigReadAuthorizerCredential(des.ReadAuthorizerCredential, initial.ReadAuthorizerCredential, opts...)
+ cDes.AuthorizerCredential = canonicalizeConnectionGitlabConfigAuthorizerCredential(des.AuthorizerCredential, initial.AuthorizerCredential, opts...)
+ cDes.ServiceDirectoryConfig = canonicalizeConnectionGitlabConfigServiceDirectoryConfig(des.ServiceDirectoryConfig, initial.ServiceDirectoryConfig, opts...)
+ if dcl.StringCanonicalize(des.SslCa, initial.SslCa) || dcl.IsZeroValue(des.SslCa) {
+ cDes.SslCa = initial.SslCa
+ } else {
+ cDes.SslCa = des.SslCa
+ }
+
+ return cDes
+}
+
+func canonicalizeConnectionGitlabConfigSlice(des, initial []ConnectionGitlabConfig, opts ...dcl.ApplyOption) []ConnectionGitlabConfig {
+ if dcl.IsEmptyValueIndirect(des) {
+ return initial
+ }
+
+ if len(des) != len(initial) {
+
+ items := make([]ConnectionGitlabConfig, 0, len(des))
+ for _, d := range des {
+ cd := canonicalizeConnectionGitlabConfig(&d, nil, opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+ }
+
+ items := make([]ConnectionGitlabConfig, 0, len(des))
+ for i, d := range des {
+ cd := canonicalizeConnectionGitlabConfig(&d, &initial[i], opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+
+}
+
+func canonicalizeNewConnectionGitlabConfig(c *Client, des, nw *ConnectionGitlabConfig) *ConnectionGitlabConfig {
+
+ if des == nil {
+ return nw
+ }
+
+ if nw == nil {
+ if dcl.IsEmptyValueIndirect(des) {
+ c.Config.Logger.Info("Found explicitly empty value for ConnectionGitlabConfig while comparing non-nil desired to nil actual. Returning desired object.")
+ return des
+ }
+ return nil
+ }
+
+ if dcl.StringCanonicalize(des.HostUri, nw.HostUri) {
+ nw.HostUri = des.HostUri
+ }
+ nw.ReadAuthorizerCredential = canonicalizeNewConnectionGitlabConfigReadAuthorizerCredential(c, des.ReadAuthorizerCredential, nw.ReadAuthorizerCredential)
+ nw.AuthorizerCredential = canonicalizeNewConnectionGitlabConfigAuthorizerCredential(c, des.AuthorizerCredential, nw.AuthorizerCredential)
+ nw.ServiceDirectoryConfig = canonicalizeNewConnectionGitlabConfigServiceDirectoryConfig(c, des.ServiceDirectoryConfig, nw.ServiceDirectoryConfig)
+ if dcl.StringCanonicalize(des.SslCa, nw.SslCa) {
+ nw.SslCa = des.SslCa
+ }
+ if dcl.StringCanonicalize(des.ServerVersion, nw.ServerVersion) {
+ nw.ServerVersion = des.ServerVersion
+ }
+
+ return nw
+}
+
+func canonicalizeNewConnectionGitlabConfigSet(c *Client, des, nw []ConnectionGitlabConfig) []ConnectionGitlabConfig {
+ if des == nil {
+ return nw
+ }
+
+ // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
+ var items []ConnectionGitlabConfig
+ for _, d := range des {
+ matchedIndex := -1
+ for i, n := range nw {
+ if diffs, _ := compareConnectionGitlabConfigNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
+ matchedIndex = i
+ break
+ }
+ }
+ if matchedIndex != -1 {
+ items = append(items, *canonicalizeNewConnectionGitlabConfig(c, &d, &nw[matchedIndex]))
+ nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
+ }
+ }
+ // Also include elements in nw that are not matched in des.
+ items = append(items, nw...)
+
+ return items
+}
+
+func canonicalizeNewConnectionGitlabConfigSlice(c *Client, des, nw []ConnectionGitlabConfig) []ConnectionGitlabConfig {
+ if des == nil {
+ return nw
+ }
+
+ // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
+ // Return the original array.
+ if len(des) != len(nw) {
+ return nw
+ }
+
+ var items []ConnectionGitlabConfig
+ for i, d := range des {
+ n := nw[i]
+ items = append(items, *canonicalizeNewConnectionGitlabConfig(c, &d, &n))
+ }
+
+ return items
+}
+
+func canonicalizeConnectionGitlabConfigReadAuthorizerCredential(des, initial *ConnectionGitlabConfigReadAuthorizerCredential, opts ...dcl.ApplyOption) *ConnectionGitlabConfigReadAuthorizerCredential {
+ if des == nil {
+ return initial
+ }
+ if des.empty {
+ return des
+ }
+
+ if initial == nil {
+ return des
+ }
+
+ cDes := &ConnectionGitlabConfigReadAuthorizerCredential{}
+
+ if dcl.IsZeroValue(des.UserTokenSecretVersion) || (dcl.IsEmptyValueIndirect(des.UserTokenSecretVersion) && dcl.IsEmptyValueIndirect(initial.UserTokenSecretVersion)) {
+ // Desired and initial values are equivalent, so set canonical desired value to initial value.
+ cDes.UserTokenSecretVersion = initial.UserTokenSecretVersion
+ } else {
+ cDes.UserTokenSecretVersion = des.UserTokenSecretVersion
+ }
+
+ return cDes
+}
+
+func canonicalizeConnectionGitlabConfigReadAuthorizerCredentialSlice(des, initial []ConnectionGitlabConfigReadAuthorizerCredential, opts ...dcl.ApplyOption) []ConnectionGitlabConfigReadAuthorizerCredential {
+ if dcl.IsEmptyValueIndirect(des) {
+ return initial
+ }
+
+ if len(des) != len(initial) {
+
+ items := make([]ConnectionGitlabConfigReadAuthorizerCredential, 0, len(des))
+ for _, d := range des {
+ cd := canonicalizeConnectionGitlabConfigReadAuthorizerCredential(&d, nil, opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+ }
+
+ items := make([]ConnectionGitlabConfigReadAuthorizerCredential, 0, len(des))
+ for i, d := range des {
+ cd := canonicalizeConnectionGitlabConfigReadAuthorizerCredential(&d, &initial[i], opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+
+}
+
+func canonicalizeNewConnectionGitlabConfigReadAuthorizerCredential(c *Client, des, nw *ConnectionGitlabConfigReadAuthorizerCredential) *ConnectionGitlabConfigReadAuthorizerCredential {
+
+ if des == nil {
+ return nw
+ }
+
+ if nw == nil {
+ if dcl.IsEmptyValueIndirect(des) {
+ c.Config.Logger.Info("Found explicitly empty value for ConnectionGitlabConfigReadAuthorizerCredential while comparing non-nil desired to nil actual. Returning desired object.")
+ return des
+ }
+ return nil
+ }
+
+ if dcl.StringCanonicalize(des.Username, nw.Username) {
+ nw.Username = des.Username
+ }
+
+ return nw
+}
+
+func canonicalizeNewConnectionGitlabConfigReadAuthorizerCredentialSet(c *Client, des, nw []ConnectionGitlabConfigReadAuthorizerCredential) []ConnectionGitlabConfigReadAuthorizerCredential {
+ if des == nil {
+ return nw
+ }
+
+ // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
+ var items []ConnectionGitlabConfigReadAuthorizerCredential
+ for _, d := range des {
+ matchedIndex := -1
+ for i, n := range nw {
+ if diffs, _ := compareConnectionGitlabConfigReadAuthorizerCredentialNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
+ matchedIndex = i
+ break
+ }
+ }
+ if matchedIndex != -1 {
+ items = append(items, *canonicalizeNewConnectionGitlabConfigReadAuthorizerCredential(c, &d, &nw[matchedIndex]))
+ nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
+ }
+ }
+ // Also include elements in nw that are not matched in des.
+ items = append(items, nw...)
+
+ return items
+}
+
+func canonicalizeNewConnectionGitlabConfigReadAuthorizerCredentialSlice(c *Client, des, nw []ConnectionGitlabConfigReadAuthorizerCredential) []ConnectionGitlabConfigReadAuthorizerCredential {
+ if des == nil {
+ return nw
+ }
+
+ // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
+ // Return the original array.
+ if len(des) != len(nw) {
+ return nw
+ }
+
+ var items []ConnectionGitlabConfigReadAuthorizerCredential
+ for i, d := range des {
+ n := nw[i]
+ items = append(items, *canonicalizeNewConnectionGitlabConfigReadAuthorizerCredential(c, &d, &n))
+ }
+
+ return items
+}
+
+func canonicalizeConnectionGitlabConfigAuthorizerCredential(des, initial *ConnectionGitlabConfigAuthorizerCredential, opts ...dcl.ApplyOption) *ConnectionGitlabConfigAuthorizerCredential {
+ if des == nil {
+ return initial
+ }
+ if des.empty {
+ return des
+ }
+
+ if initial == nil {
+ return des
+ }
+
+ cDes := &ConnectionGitlabConfigAuthorizerCredential{}
+
+ if dcl.IsZeroValue(des.UserTokenSecretVersion) || (dcl.IsEmptyValueIndirect(des.UserTokenSecretVersion) && dcl.IsEmptyValueIndirect(initial.UserTokenSecretVersion)) {
+ // Desired and initial values are equivalent, so set canonical desired value to initial value.
+ cDes.UserTokenSecretVersion = initial.UserTokenSecretVersion
+ } else {
+ cDes.UserTokenSecretVersion = des.UserTokenSecretVersion
+ }
+
+ return cDes
+}
+
+func canonicalizeConnectionGitlabConfigAuthorizerCredentialSlice(des, initial []ConnectionGitlabConfigAuthorizerCredential, opts ...dcl.ApplyOption) []ConnectionGitlabConfigAuthorizerCredential {
+ if dcl.IsEmptyValueIndirect(des) {
+ return initial
+ }
+
+ if len(des) != len(initial) {
+
+ items := make([]ConnectionGitlabConfigAuthorizerCredential, 0, len(des))
+ for _, d := range des {
+ cd := canonicalizeConnectionGitlabConfigAuthorizerCredential(&d, nil, opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+ }
+
+ items := make([]ConnectionGitlabConfigAuthorizerCredential, 0, len(des))
+ for i, d := range des {
+ cd := canonicalizeConnectionGitlabConfigAuthorizerCredential(&d, &initial[i], opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+
+}
+
+func canonicalizeNewConnectionGitlabConfigAuthorizerCredential(c *Client, des, nw *ConnectionGitlabConfigAuthorizerCredential) *ConnectionGitlabConfigAuthorizerCredential {
+
+ if des == nil {
+ return nw
+ }
+
+ if nw == nil {
+ if dcl.IsEmptyValueIndirect(des) {
+ c.Config.Logger.Info("Found explicitly empty value for ConnectionGitlabConfigAuthorizerCredential while comparing non-nil desired to nil actual. Returning desired object.")
+ return des
+ }
+ return nil
+ }
+
+ if dcl.StringCanonicalize(des.Username, nw.Username) {
+ nw.Username = des.Username
+ }
+
+ return nw
+}
+
+func canonicalizeNewConnectionGitlabConfigAuthorizerCredentialSet(c *Client, des, nw []ConnectionGitlabConfigAuthorizerCredential) []ConnectionGitlabConfigAuthorizerCredential {
+ if des == nil {
+ return nw
+ }
+
+ // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
+ var items []ConnectionGitlabConfigAuthorizerCredential
+ for _, d := range des {
+ matchedIndex := -1
+ for i, n := range nw {
+ if diffs, _ := compareConnectionGitlabConfigAuthorizerCredentialNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
+ matchedIndex = i
+ break
+ }
+ }
+ if matchedIndex != -1 {
+ items = append(items, *canonicalizeNewConnectionGitlabConfigAuthorizerCredential(c, &d, &nw[matchedIndex]))
+ nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
+ }
+ }
+ // Also include elements in nw that are not matched in des.
+ items = append(items, nw...)
+
+ return items
+}
+
+func canonicalizeNewConnectionGitlabConfigAuthorizerCredentialSlice(c *Client, des, nw []ConnectionGitlabConfigAuthorizerCredential) []ConnectionGitlabConfigAuthorizerCredential {
+ if des == nil {
+ return nw
+ }
+
+ // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
+ // Return the original array.
+ if len(des) != len(nw) {
+ return nw
+ }
+
+ var items []ConnectionGitlabConfigAuthorizerCredential
+ for i, d := range des {
+ n := nw[i]
+ items = append(items, *canonicalizeNewConnectionGitlabConfigAuthorizerCredential(c, &d, &n))
+ }
+
+ return items
+}
+
+func canonicalizeConnectionGitlabConfigServiceDirectoryConfig(des, initial *ConnectionGitlabConfigServiceDirectoryConfig, opts ...dcl.ApplyOption) *ConnectionGitlabConfigServiceDirectoryConfig {
+ if des == nil {
+ return initial
+ }
+ if des.empty {
+ return des
+ }
+
+ if initial == nil {
+ return des
+ }
+
+ cDes := &ConnectionGitlabConfigServiceDirectoryConfig{}
+
+ if dcl.IsZeroValue(des.Service) || (dcl.IsEmptyValueIndirect(des.Service) && dcl.IsEmptyValueIndirect(initial.Service)) {
+ // Desired and initial values are equivalent, so set canonical desired value to initial value.
+ cDes.Service = initial.Service
+ } else {
+ cDes.Service = des.Service
+ }
+
+ return cDes
+}
+
+func canonicalizeConnectionGitlabConfigServiceDirectoryConfigSlice(des, initial []ConnectionGitlabConfigServiceDirectoryConfig, opts ...dcl.ApplyOption) []ConnectionGitlabConfigServiceDirectoryConfig {
+ if dcl.IsEmptyValueIndirect(des) {
+ return initial
+ }
+
+ if len(des) != len(initial) {
+
+ items := make([]ConnectionGitlabConfigServiceDirectoryConfig, 0, len(des))
+ for _, d := range des {
+ cd := canonicalizeConnectionGitlabConfigServiceDirectoryConfig(&d, nil, opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+ }
+
+ items := make([]ConnectionGitlabConfigServiceDirectoryConfig, 0, len(des))
+ for i, d := range des {
+ cd := canonicalizeConnectionGitlabConfigServiceDirectoryConfig(&d, &initial[i], opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+
+}
+
+func canonicalizeNewConnectionGitlabConfigServiceDirectoryConfig(c *Client, des, nw *ConnectionGitlabConfigServiceDirectoryConfig) *ConnectionGitlabConfigServiceDirectoryConfig {
+
+ if des == nil {
+ return nw
+ }
+
+ if nw == nil {
+ if dcl.IsEmptyValueIndirect(des) {
+ c.Config.Logger.Info("Found explicitly empty value for ConnectionGitlabConfigServiceDirectoryConfig while comparing non-nil desired to nil actual. Returning desired object.")
+ return des
+ }
+ return nil
+ }
+
+ return nw
+}
+
+func canonicalizeNewConnectionGitlabConfigServiceDirectoryConfigSet(c *Client, des, nw []ConnectionGitlabConfigServiceDirectoryConfig) []ConnectionGitlabConfigServiceDirectoryConfig {
+ if des == nil {
+ return nw
+ }
+
+ // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
+ var items []ConnectionGitlabConfigServiceDirectoryConfig
+ for _, d := range des {
+ matchedIndex := -1
+ for i, n := range nw {
+ if diffs, _ := compareConnectionGitlabConfigServiceDirectoryConfigNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
+ matchedIndex = i
+ break
+ }
+ }
+ if matchedIndex != -1 {
+ items = append(items, *canonicalizeNewConnectionGitlabConfigServiceDirectoryConfig(c, &d, &nw[matchedIndex]))
+ nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
+ }
+ }
+ // Also include elements in nw that are not matched in des.
+ items = append(items, nw...)
+
+ return items
+}
+
+func canonicalizeNewConnectionGitlabConfigServiceDirectoryConfigSlice(c *Client, des, nw []ConnectionGitlabConfigServiceDirectoryConfig) []ConnectionGitlabConfigServiceDirectoryConfig {
+ if des == nil {
+ return nw
+ }
+
+ // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
+ // Return the original array.
+ if len(des) != len(nw) {
+ return nw
+ }
+
+ var items []ConnectionGitlabConfigServiceDirectoryConfig
+ for i, d := range des {
+ n := nw[i]
+ items = append(items, *canonicalizeNewConnectionGitlabConfigServiceDirectoryConfig(c, &d, &n))
+ }
+
+ return items
+}
+
+func canonicalizeConnectionInstallationState(des, initial *ConnectionInstallationState, opts ...dcl.ApplyOption) *ConnectionInstallationState {
+ if des == nil {
+ return initial
+ }
+ if des.empty {
+ return des
+ }
+
+ if initial == nil {
+ return des
+ }
+
+ cDes := &ConnectionInstallationState{}
+
+ return cDes
+}
+
+func canonicalizeConnectionInstallationStateSlice(des, initial []ConnectionInstallationState, opts ...dcl.ApplyOption) []ConnectionInstallationState {
+ if dcl.IsEmptyValueIndirect(des) {
+ return initial
+ }
+
+ if len(des) != len(initial) {
+
+ items := make([]ConnectionInstallationState, 0, len(des))
+ for _, d := range des {
+ cd := canonicalizeConnectionInstallationState(&d, nil, opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+ }
+
+ items := make([]ConnectionInstallationState, 0, len(des))
+ for i, d := range des {
+ cd := canonicalizeConnectionInstallationState(&d, &initial[i], opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+
+}
+
+func canonicalizeNewConnectionInstallationState(c *Client, des, nw *ConnectionInstallationState) *ConnectionInstallationState {
+
+ if des == nil {
+ return nw
+ }
+
+ if nw == nil {
+ if dcl.IsEmptyValueIndirect(des) {
+ c.Config.Logger.Info("Found explicitly empty value for ConnectionInstallationState while comparing non-nil desired to nil actual. Returning desired object.")
+ return des
+ }
+ return nil
+ }
+
+ if dcl.StringCanonicalize(des.Message, nw.Message) {
+ nw.Message = des.Message
+ }
+ if dcl.StringCanonicalize(des.ActionUri, nw.ActionUri) {
+ nw.ActionUri = des.ActionUri
+ }
+
+ return nw
+}
+
+func canonicalizeNewConnectionInstallationStateSet(c *Client, des, nw []ConnectionInstallationState) []ConnectionInstallationState {
+ if des == nil {
+ return nw
+ }
+
+ // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
+ var items []ConnectionInstallationState
+ for _, d := range des {
+ matchedIndex := -1
+ for i, n := range nw {
+ if diffs, _ := compareConnectionInstallationStateNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
+ matchedIndex = i
+ break
+ }
+ }
+ if matchedIndex != -1 {
+ items = append(items, *canonicalizeNewConnectionInstallationState(c, &d, &nw[matchedIndex]))
+ nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
+ }
+ }
+ // Also include elements in nw that are not matched in des.
+ items = append(items, nw...)
+
+ return items
+}
+
+func canonicalizeNewConnectionInstallationStateSlice(c *Client, des, nw []ConnectionInstallationState) []ConnectionInstallationState {
+ if des == nil {
+ return nw
+ }
+
+ // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
+ // Return the original array.
+ if len(des) != len(nw) {
+ return nw
+ }
+
+ var items []ConnectionInstallationState
+ for i, d := range des {
+ n := nw[i]
+ items = append(items, *canonicalizeNewConnectionInstallationState(c, &d, &n))
+ }
+
+ return items
+}
+
+// The differ returns a list of diffs, along with a list of operations that should be taken
+// to remedy them. Right now, it does not attempt to consolidate operations - if several
+// fields can be fixed with a patch update, it will perform the patch several times.
+// Diffs on some fields will be ignored if the `desired` state has an empty (nil)
+// value. This empty value indicates that the user does not care about the state for
+// the field. Empty fields on the actual object will cause diffs.
+// TODO(magic-modules-eng): for efficiency in some resources, add batching.
+func diffConnection(c *Client, desired, actual *Connection, opts ...dcl.ApplyOption) ([]*dcl.FieldDiff, error) {
+ if desired == nil || actual == nil {
+ return nil, fmt.Errorf("nil resource passed to diff - always a programming error: %#v, %#v", desired, actual)
+ }
+
+ c.Config.Logger.Infof("Diff function called with desired state: %v", desired)
+ c.Config.Logger.Infof("Diff function called with actual state: %v", actual)
+
+ var fn dcl.FieldName
+ var newDiffs []*dcl.FieldDiff
+ // New style diffs.
+ if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Name")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.CreateTime, actual.CreateTime, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("CreateTime")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.UpdateTime, actual.UpdateTime, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("UpdateTime")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.GithubConfig, actual.GithubConfig, dcl.DiffInfo{ObjectFunction: compareConnectionGithubConfigNewStyle, EmptyObject: EmptyConnectionGithubConfig, OperationSelector: dcl.TriggersOperation("updateConnectionUpdateConnectionOperation")}, fn.AddNest("GithubConfig")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.GithubEnterpriseConfig, actual.GithubEnterpriseConfig, dcl.DiffInfo{ObjectFunction: compareConnectionGithubEnterpriseConfigNewStyle, EmptyObject: EmptyConnectionGithubEnterpriseConfig, OperationSelector: dcl.TriggersOperation("updateConnectionUpdateConnectionOperation")}, fn.AddNest("GithubEnterpriseConfig")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.GitlabConfig, actual.GitlabConfig, dcl.DiffInfo{ObjectFunction: compareConnectionGitlabConfigNewStyle, EmptyObject: EmptyConnectionGitlabConfig, OperationSelector: dcl.TriggersOperation("updateConnectionUpdateConnectionOperation")}, fn.AddNest("GitlabConfig")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.InstallationState, actual.InstallationState, dcl.DiffInfo{OutputOnly: true, ObjectFunction: compareConnectionInstallationStateNewStyle, EmptyObject: EmptyConnectionInstallationState, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("InstallationState")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Disabled, actual.Disabled, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateConnectionUpdateConnectionOperation")}, fn.AddNest("Disabled")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Reconciling, actual.Reconciling, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Reconciling")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Annotations, actual.Annotations, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateConnectionUpdateConnectionOperation")}, fn.AddNest("Annotations")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Etag, actual.Etag, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Etag")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Project, actual.Project, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Project")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Location, actual.Location, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Location")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if len(newDiffs) > 0 {
+ c.Config.Logger.Infof("Diff function found diffs: %v", newDiffs)
+ }
+ return newDiffs, nil
+}
+func compareConnectionGithubConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
+ var diffs []*dcl.FieldDiff
+
+ desired, ok := d.(*ConnectionGithubConfig)
+ if !ok {
+ desiredNotPointer, ok := d.(ConnectionGithubConfig)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a ConnectionGithubConfig or *ConnectionGithubConfig", d)
+ }
+ desired = &desiredNotPointer
+ }
+ actual, ok := a.(*ConnectionGithubConfig)
+ if !ok {
+ actualNotPointer, ok := a.(ConnectionGithubConfig)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a ConnectionGithubConfig", a)
+ }
+ actual = &actualNotPointer
+ }
+
+ if ds, err := dcl.Diff(desired.AuthorizerCredential, actual.AuthorizerCredential, dcl.DiffInfo{ObjectFunction: compareConnectionGithubConfigAuthorizerCredentialNewStyle, EmptyObject: EmptyConnectionGithubConfigAuthorizerCredential, OperationSelector: dcl.TriggersOperation("updateConnectionUpdateConnectionOperation")}, fn.AddNest("AuthorizerCredential")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.AppInstallationId, actual.AppInstallationId, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateConnectionUpdateConnectionOperation")}, fn.AddNest("AppInstallationId")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+ return diffs, nil
+}
+
+func compareConnectionGithubConfigAuthorizerCredentialNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
+ var diffs []*dcl.FieldDiff
+
+ desired, ok := d.(*ConnectionGithubConfigAuthorizerCredential)
+ if !ok {
+ desiredNotPointer, ok := d.(ConnectionGithubConfigAuthorizerCredential)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a ConnectionGithubConfigAuthorizerCredential or *ConnectionGithubConfigAuthorizerCredential", d)
+ }
+ desired = &desiredNotPointer
+ }
+ actual, ok := a.(*ConnectionGithubConfigAuthorizerCredential)
+ if !ok {
+ actualNotPointer, ok := a.(ConnectionGithubConfigAuthorizerCredential)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a ConnectionGithubConfigAuthorizerCredential", a)
+ }
+ actual = &actualNotPointer
+ }
+
+ if ds, err := dcl.Diff(desired.OAuthTokenSecretVersion, actual.OAuthTokenSecretVersion, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.TriggersOperation("updateConnectionUpdateConnectionOperation")}, fn.AddNest("OauthTokenSecretVersion")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Username, actual.Username, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Username")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+ return diffs, nil
+}
+
+func compareConnectionGithubEnterpriseConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
+ var diffs []*dcl.FieldDiff
+
+ desired, ok := d.(*ConnectionGithubEnterpriseConfig)
+ if !ok {
+ desiredNotPointer, ok := d.(ConnectionGithubEnterpriseConfig)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a ConnectionGithubEnterpriseConfig or *ConnectionGithubEnterpriseConfig", d)
+ }
+ desired = &desiredNotPointer
+ }
+ actual, ok := a.(*ConnectionGithubEnterpriseConfig)
+ if !ok {
+ actualNotPointer, ok := a.(ConnectionGithubEnterpriseConfig)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a ConnectionGithubEnterpriseConfig", a)
+ }
+ actual = &actualNotPointer
+ }
+
+ if ds, err := dcl.Diff(desired.HostUri, actual.HostUri, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateConnectionUpdateConnectionOperation")}, fn.AddNest("HostUri")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.AppId, actual.AppId, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateConnectionUpdateConnectionOperation")}, fn.AddNest("AppId")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.AppSlug, actual.AppSlug, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateConnectionUpdateConnectionOperation")}, fn.AddNest("AppSlug")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.PrivateKeySecretVersion, actual.PrivateKeySecretVersion, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.TriggersOperation("updateConnectionUpdateConnectionOperation")}, fn.AddNest("PrivateKeySecretVersion")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.WebhookSecretSecretVersion, actual.WebhookSecretSecretVersion, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.TriggersOperation("updateConnectionUpdateConnectionOperation")}, fn.AddNest("WebhookSecretSecretVersion")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.AppInstallationId, actual.AppInstallationId, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateConnectionUpdateConnectionOperation")}, fn.AddNest("AppInstallationId")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.ServiceDirectoryConfig, actual.ServiceDirectoryConfig, dcl.DiffInfo{ObjectFunction: compareConnectionGithubEnterpriseConfigServiceDirectoryConfigNewStyle, EmptyObject: EmptyConnectionGithubEnterpriseConfigServiceDirectoryConfig, OperationSelector: dcl.TriggersOperation("updateConnectionUpdateConnectionOperation")}, fn.AddNest("ServiceDirectoryConfig")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.SslCa, actual.SslCa, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateConnectionUpdateConnectionOperation")}, fn.AddNest("SslCa")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+ return diffs, nil
+}
+
+func compareConnectionGithubEnterpriseConfigServiceDirectoryConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
+ var diffs []*dcl.FieldDiff
+
+ desired, ok := d.(*ConnectionGithubEnterpriseConfigServiceDirectoryConfig)
+ if !ok {
+ desiredNotPointer, ok := d.(ConnectionGithubEnterpriseConfigServiceDirectoryConfig)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a ConnectionGithubEnterpriseConfigServiceDirectoryConfig or *ConnectionGithubEnterpriseConfigServiceDirectoryConfig", d)
+ }
+ desired = &desiredNotPointer
+ }
+ actual, ok := a.(*ConnectionGithubEnterpriseConfigServiceDirectoryConfig)
+ if !ok {
+ actualNotPointer, ok := a.(ConnectionGithubEnterpriseConfigServiceDirectoryConfig)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a ConnectionGithubEnterpriseConfigServiceDirectoryConfig", a)
+ }
+ actual = &actualNotPointer
+ }
+
+ if ds, err := dcl.Diff(desired.Service, actual.Service, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.TriggersOperation("updateConnectionUpdateConnectionOperation")}, fn.AddNest("Service")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+ return diffs, nil
+}
+
+func compareConnectionGitlabConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
+ var diffs []*dcl.FieldDiff
+
+ desired, ok := d.(*ConnectionGitlabConfig)
+ if !ok {
+ desiredNotPointer, ok := d.(ConnectionGitlabConfig)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a ConnectionGitlabConfig or *ConnectionGitlabConfig", d)
+ }
+ desired = &desiredNotPointer
+ }
+ actual, ok := a.(*ConnectionGitlabConfig)
+ if !ok {
+ actualNotPointer, ok := a.(ConnectionGitlabConfig)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a ConnectionGitlabConfig", a)
+ }
+ actual = &actualNotPointer
+ }
+
+ if ds, err := dcl.Diff(desired.HostUri, actual.HostUri, dcl.DiffInfo{ServerDefault: true, OperationSelector: dcl.TriggersOperation("updateConnectionUpdateConnectionOperation")}, fn.AddNest("HostUri")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.WebhookSecretSecretVersion, actual.WebhookSecretSecretVersion, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("WebhookSecretSecretVersion")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.ReadAuthorizerCredential, actual.ReadAuthorizerCredential, dcl.DiffInfo{ObjectFunction: compareConnectionGitlabConfigReadAuthorizerCredentialNewStyle, EmptyObject: EmptyConnectionGitlabConfigReadAuthorizerCredential, OperationSelector: dcl.TriggersOperation("updateConnectionUpdateConnectionOperation")}, fn.AddNest("ReadAuthorizerCredential")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.AuthorizerCredential, actual.AuthorizerCredential, dcl.DiffInfo{ObjectFunction: compareConnectionGitlabConfigAuthorizerCredentialNewStyle, EmptyObject: EmptyConnectionGitlabConfigAuthorizerCredential, OperationSelector: dcl.TriggersOperation("updateConnectionUpdateConnectionOperation")}, fn.AddNest("AuthorizerCredential")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.ServiceDirectoryConfig, actual.ServiceDirectoryConfig, dcl.DiffInfo{ObjectFunction: compareConnectionGitlabConfigServiceDirectoryConfigNewStyle, EmptyObject: EmptyConnectionGitlabConfigServiceDirectoryConfig, OperationSelector: dcl.TriggersOperation("updateConnectionUpdateConnectionOperation")}, fn.AddNest("ServiceDirectoryConfig")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.SslCa, actual.SslCa, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateConnectionUpdateConnectionOperation")}, fn.AddNest("SslCa")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.ServerVersion, actual.ServerVersion, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ServerVersion")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+ return diffs, nil
+}
+
+func compareConnectionGitlabConfigReadAuthorizerCredentialNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
+ var diffs []*dcl.FieldDiff
+
+ desired, ok := d.(*ConnectionGitlabConfigReadAuthorizerCredential)
+ if !ok {
+ desiredNotPointer, ok := d.(ConnectionGitlabConfigReadAuthorizerCredential)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a ConnectionGitlabConfigReadAuthorizerCredential or *ConnectionGitlabConfigReadAuthorizerCredential", d)
+ }
+ desired = &desiredNotPointer
+ }
+ actual, ok := a.(*ConnectionGitlabConfigReadAuthorizerCredential)
+ if !ok {
+ actualNotPointer, ok := a.(ConnectionGitlabConfigReadAuthorizerCredential)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a ConnectionGitlabConfigReadAuthorizerCredential", a)
+ }
+ actual = &actualNotPointer
+ }
+
+ if ds, err := dcl.Diff(desired.UserTokenSecretVersion, actual.UserTokenSecretVersion, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.TriggersOperation("updateConnectionUpdateConnectionOperation")}, fn.AddNest("UserTokenSecretVersion")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Username, actual.Username, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Username")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+ return diffs, nil
+}
+
+func compareConnectionGitlabConfigAuthorizerCredentialNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
+ var diffs []*dcl.FieldDiff
+
+ desired, ok := d.(*ConnectionGitlabConfigAuthorizerCredential)
+ if !ok {
+ desiredNotPointer, ok := d.(ConnectionGitlabConfigAuthorizerCredential)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a ConnectionGitlabConfigAuthorizerCredential or *ConnectionGitlabConfigAuthorizerCredential", d)
+ }
+ desired = &desiredNotPointer
+ }
+ actual, ok := a.(*ConnectionGitlabConfigAuthorizerCredential)
+ if !ok {
+ actualNotPointer, ok := a.(ConnectionGitlabConfigAuthorizerCredential)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a ConnectionGitlabConfigAuthorizerCredential", a)
+ }
+ actual = &actualNotPointer
+ }
+
+ if ds, err := dcl.Diff(desired.UserTokenSecretVersion, actual.UserTokenSecretVersion, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.TriggersOperation("updateConnectionUpdateConnectionOperation")}, fn.AddNest("UserTokenSecretVersion")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Username, actual.Username, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Username")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+ return diffs, nil
+}
+
+func compareConnectionGitlabConfigServiceDirectoryConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
+ var diffs []*dcl.FieldDiff
+
+ desired, ok := d.(*ConnectionGitlabConfigServiceDirectoryConfig)
+ if !ok {
+ desiredNotPointer, ok := d.(ConnectionGitlabConfigServiceDirectoryConfig)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a ConnectionGitlabConfigServiceDirectoryConfig or *ConnectionGitlabConfigServiceDirectoryConfig", d)
+ }
+ desired = &desiredNotPointer
+ }
+ actual, ok := a.(*ConnectionGitlabConfigServiceDirectoryConfig)
+ if !ok {
+ actualNotPointer, ok := a.(ConnectionGitlabConfigServiceDirectoryConfig)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a ConnectionGitlabConfigServiceDirectoryConfig", a)
+ }
+ actual = &actualNotPointer
+ }
+
+ if ds, err := dcl.Diff(desired.Service, actual.Service, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.TriggersOperation("updateConnectionUpdateConnectionOperation")}, fn.AddNest("Service")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+ return diffs, nil
+}
+
+func compareConnectionInstallationStateNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
+ var diffs []*dcl.FieldDiff
+
+ desired, ok := d.(*ConnectionInstallationState)
+ if !ok {
+ desiredNotPointer, ok := d.(ConnectionInstallationState)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a ConnectionInstallationState or *ConnectionInstallationState", d)
+ }
+ desired = &desiredNotPointer
+ }
+ actual, ok := a.(*ConnectionInstallationState)
+ if !ok {
+ actualNotPointer, ok := a.(ConnectionInstallationState)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a ConnectionInstallationState", a)
+ }
+ actual = &actualNotPointer
+ }
+
+ if ds, err := dcl.Diff(desired.Stage, actual.Stage, dcl.DiffInfo{OutputOnly: true, Type: "EnumType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Stage")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Message, actual.Message, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Message")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.ActionUri, actual.ActionUri, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ActionUri")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+ return diffs, nil
+}
+
+// urlNormalized returns a copy of the resource struct with values normalized
+// for URL substitutions. For instance, it converts long-form self-links to
+// short-form so they can be substituted in.
+func (r *Connection) urlNormalized() *Connection {
+ normalized := dcl.Copy(*r).(Connection)
+ normalized.Name = dcl.SelfLinkToName(r.Name)
+ normalized.Etag = dcl.SelfLinkToName(r.Etag)
+ normalized.Project = dcl.SelfLinkToName(r.Project)
+ normalized.Location = dcl.SelfLinkToName(r.Location)
+ return &normalized
+}
+
+func (r *Connection) updateURL(userBasePath, updateName string) (string, error) {
+ nr := r.urlNormalized()
+ if updateName == "UpdateConnection" {
+ fields := map[string]interface{}{
+ "project": dcl.ValueOrEmptyString(nr.Project),
+ "location": dcl.ValueOrEmptyString(nr.Location),
+ "name": dcl.ValueOrEmptyString(nr.Name),
+ }
+ return dcl.URL("projects/{{project}}/locations/{{location}}/connections/{{name}}", nr.basePath(), userBasePath, fields), nil
+
+ }
+
+ return "", fmt.Errorf("unknown update name: %s", updateName)
+}
+
+// marshal encodes the Connection resource into JSON for a Create request, and
+// performs transformations from the resource schema to the API schema if
+// necessary.
+func (r *Connection) marshal(c *Client) ([]byte, error) {
+ m, err := expandConnection(c, r)
+ if err != nil {
+ return nil, fmt.Errorf("error marshalling Connection: %w", err)
+ }
+
+ return json.Marshal(m)
+}
+
+// unmarshalConnection decodes JSON responses into the Connection resource schema.
+func unmarshalConnection(b []byte, c *Client, res *Connection) (*Connection, error) {
+ var m map[string]interface{}
+ if err := json.Unmarshal(b, &m); err != nil {
+ return nil, err
+ }
+ return unmarshalMapConnection(m, c, res)
+}
+
+func unmarshalMapConnection(m map[string]interface{}, c *Client, res *Connection) (*Connection, error) {
+
+ flattened := flattenConnection(c, m, res)
+ if flattened == nil {
+ return nil, fmt.Errorf("attempted to flatten empty json object")
+ }
+ return flattened, nil
+}
+
+// expandConnection expands Connection into a JSON request object.
+func expandConnection(c *Client, f *Connection) (map[string]interface{}, error) {
+ m := make(map[string]interface{})
+ res := f
+ _ = res
+ if v, err := dcl.EmptyValue(); err != nil {
+ return nil, fmt.Errorf("error expanding Name into name: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ m["name"] = v
+ }
+ if v, err := expandConnectionGithubConfig(c, f.GithubConfig, res); err != nil {
+ return nil, fmt.Errorf("error expanding GithubConfig into githubConfig: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ m["githubConfig"] = v
+ }
+ if v, err := expandConnectionGithubEnterpriseConfig(c, f.GithubEnterpriseConfig, res); err != nil {
+ return nil, fmt.Errorf("error expanding GithubEnterpriseConfig into githubEnterpriseConfig: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ m["githubEnterpriseConfig"] = v
+ }
+ if v, err := expandConnectionGitlabConfig(c, f.GitlabConfig, res); err != nil {
+ return nil, fmt.Errorf("error expanding GitlabConfig into gitlabConfig: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ m["gitlabConfig"] = v
+ }
+ if v := f.Disabled; dcl.ValueShouldBeSent(v) {
+ m["disabled"] = v
+ }
+ if v := f.Annotations; dcl.ValueShouldBeSent(v) {
+ m["annotations"] = v
+ }
+ if v, err := dcl.EmptyValue(); err != nil {
+ return nil, fmt.Errorf("error expanding Project into project: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ m["project"] = v
+ }
+ if v, err := dcl.EmptyValue(); err != nil {
+ return nil, fmt.Errorf("error expanding Location into location: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ m["location"] = v
+ }
+
+ return m, nil
+}
+
+// flattenConnection flattens Connection from a JSON request object into the
+// Connection type.
+func flattenConnection(c *Client, i interface{}, res *Connection) *Connection {
+ m, ok := i.(map[string]interface{})
+ if !ok {
+ return nil
+ }
+ if len(m) == 0 {
+ return nil
+ }
+
+ resultRes := &Connection{}
+ resultRes.Name = dcl.FlattenString(m["name"])
+ resultRes.CreateTime = dcl.FlattenString(m["createTime"])
+ resultRes.UpdateTime = dcl.FlattenString(m["updateTime"])
+ resultRes.GithubConfig = flattenConnectionGithubConfig(c, m["githubConfig"], res)
+ resultRes.GithubEnterpriseConfig = flattenConnectionGithubEnterpriseConfig(c, m["githubEnterpriseConfig"], res)
+ resultRes.GitlabConfig = flattenConnectionGitlabConfig(c, m["gitlabConfig"], res)
+ resultRes.InstallationState = flattenConnectionInstallationState(c, m["installationState"], res)
+ resultRes.Disabled = dcl.FlattenBool(m["disabled"])
+ resultRes.Reconciling = dcl.FlattenBool(m["reconciling"])
+ resultRes.Annotations = dcl.FlattenKeyValuePairs(m["annotations"])
+ resultRes.Etag = dcl.FlattenString(m["etag"])
+ resultRes.Project = dcl.FlattenString(m["project"])
+ resultRes.Location = dcl.FlattenString(m["location"])
+
+ return resultRes
+}
+
+// expandConnectionGithubConfigMap expands the contents of ConnectionGithubConfig into a JSON
+// request object.
+func expandConnectionGithubConfigMap(c *Client, f map[string]ConnectionGithubConfig, res *Connection) (map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := make(map[string]interface{})
+ for k, item := range f {
+ i, err := expandConnectionGithubConfig(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+ if i != nil {
+ items[k] = i
+ }
+ }
+
+ return items, nil
+}
+
+// expandConnectionGithubConfigSlice expands the contents of ConnectionGithubConfig into a JSON
+// request object.
+func expandConnectionGithubConfigSlice(c *Client, f []ConnectionGithubConfig, res *Connection) ([]map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := []map[string]interface{}{}
+ for _, item := range f {
+ i, err := expandConnectionGithubConfig(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+
+ items = append(items, i)
+ }
+
+ return items, nil
+}
+
+// flattenConnectionGithubConfigMap flattens the contents of ConnectionGithubConfig from a JSON
+// response object.
+func flattenConnectionGithubConfigMap(c *Client, i interface{}, res *Connection) map[string]ConnectionGithubConfig {
+ a, ok := i.(map[string]interface{})
+ if !ok {
+ return map[string]ConnectionGithubConfig{}
+ }
+
+ if len(a) == 0 {
+ return map[string]ConnectionGithubConfig{}
+ }
+
+ items := make(map[string]ConnectionGithubConfig)
+ for k, item := range a {
+ items[k] = *flattenConnectionGithubConfig(c, item.(map[string]interface{}), res)
+ }
+
+ return items
+}
+
+// flattenConnectionGithubConfigSlice flattens the contents of ConnectionGithubConfig from a JSON
+// response object.
+func flattenConnectionGithubConfigSlice(c *Client, i interface{}, res *Connection) []ConnectionGithubConfig {
+ a, ok := i.([]interface{})
+ if !ok {
+ return []ConnectionGithubConfig{}
+ }
+
+ if len(a) == 0 {
+ return []ConnectionGithubConfig{}
+ }
+
+ items := make([]ConnectionGithubConfig, 0, len(a))
+ for _, item := range a {
+ items = append(items, *flattenConnectionGithubConfig(c, item.(map[string]interface{}), res))
+ }
+
+ return items
+}
+
+// expandConnectionGithubConfig expands an instance of ConnectionGithubConfig into a JSON
+// request object.
+func expandConnectionGithubConfig(c *Client, f *ConnectionGithubConfig, res *Connection) (map[string]interface{}, error) {
+ if dcl.IsEmptyValueIndirect(f) {
+ return nil, nil
+ }
+
+ m := make(map[string]interface{})
+ if v, err := expandConnectionGithubConfigAuthorizerCredential(c, f.AuthorizerCredential, res); err != nil {
+ return nil, fmt.Errorf("error expanding AuthorizerCredential into authorizerCredential: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ m["authorizerCredential"] = v
+ }
+ if v := f.AppInstallationId; !dcl.IsEmptyValueIndirect(v) {
+ m["appInstallationId"] = v
+ }
+
+ return m, nil
+}
+
+// flattenConnectionGithubConfig flattens an instance of ConnectionGithubConfig from a JSON
+// response object.
+func flattenConnectionGithubConfig(c *Client, i interface{}, res *Connection) *ConnectionGithubConfig {
+ m, ok := i.(map[string]interface{})
+ if !ok {
+ return nil
+ }
+
+ r := &ConnectionGithubConfig{}
+
+ if dcl.IsEmptyValueIndirect(i) {
+ return EmptyConnectionGithubConfig
+ }
+ r.AuthorizerCredential = flattenConnectionGithubConfigAuthorizerCredential(c, m["authorizerCredential"], res)
+ r.AppInstallationId = dcl.FlattenInteger(m["appInstallationId"])
+
+ return r
+}
+
+// expandConnectionGithubConfigAuthorizerCredentialMap expands the contents of ConnectionGithubConfigAuthorizerCredential into a JSON
+// request object.
+func expandConnectionGithubConfigAuthorizerCredentialMap(c *Client, f map[string]ConnectionGithubConfigAuthorizerCredential, res *Connection) (map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := make(map[string]interface{})
+ for k, item := range f {
+ i, err := expandConnectionGithubConfigAuthorizerCredential(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+ if i != nil {
+ items[k] = i
+ }
+ }
+
+ return items, nil
+}
+
+// expandConnectionGithubConfigAuthorizerCredentialSlice expands the contents of ConnectionGithubConfigAuthorizerCredential into a JSON
+// request object.
+func expandConnectionGithubConfigAuthorizerCredentialSlice(c *Client, f []ConnectionGithubConfigAuthorizerCredential, res *Connection) ([]map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := []map[string]interface{}{}
+ for _, item := range f {
+ i, err := expandConnectionGithubConfigAuthorizerCredential(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+
+ items = append(items, i)
+ }
+
+ return items, nil
+}
+
+// flattenConnectionGithubConfigAuthorizerCredentialMap flattens the contents of ConnectionGithubConfigAuthorizerCredential from a JSON
+// response object.
+func flattenConnectionGithubConfigAuthorizerCredentialMap(c *Client, i interface{}, res *Connection) map[string]ConnectionGithubConfigAuthorizerCredential {
+ a, ok := i.(map[string]interface{})
+ if !ok {
+ return map[string]ConnectionGithubConfigAuthorizerCredential{}
+ }
+
+ if len(a) == 0 {
+ return map[string]ConnectionGithubConfigAuthorizerCredential{}
+ }
+
+ items := make(map[string]ConnectionGithubConfigAuthorizerCredential)
+ for k, item := range a {
+ items[k] = *flattenConnectionGithubConfigAuthorizerCredential(c, item.(map[string]interface{}), res)
+ }
+
+ return items
+}
+
+// flattenConnectionGithubConfigAuthorizerCredentialSlice flattens the contents of ConnectionGithubConfigAuthorizerCredential from a JSON
+// response object.
+func flattenConnectionGithubConfigAuthorizerCredentialSlice(c *Client, i interface{}, res *Connection) []ConnectionGithubConfigAuthorizerCredential {
+ a, ok := i.([]interface{})
+ if !ok {
+ return []ConnectionGithubConfigAuthorizerCredential{}
+ }
+
+ if len(a) == 0 {
+ return []ConnectionGithubConfigAuthorizerCredential{}
+ }
+
+ items := make([]ConnectionGithubConfigAuthorizerCredential, 0, len(a))
+ for _, item := range a {
+ items = append(items, *flattenConnectionGithubConfigAuthorizerCredential(c, item.(map[string]interface{}), res))
+ }
+
+ return items
+}
+
+// expandConnectionGithubConfigAuthorizerCredential expands an instance of ConnectionGithubConfigAuthorizerCredential into a JSON
+// request object.
+func expandConnectionGithubConfigAuthorizerCredential(c *Client, f *ConnectionGithubConfigAuthorizerCredential, res *Connection) (map[string]interface{}, error) {
+ if dcl.IsEmptyValueIndirect(f) {
+ return nil, nil
+ }
+
+ m := make(map[string]interface{})
+ if v := f.OAuthTokenSecretVersion; !dcl.IsEmptyValueIndirect(v) {
+ m["oauthTokenSecretVersion"] = v
+ }
+
+ return m, nil
+}
+
+// flattenConnectionGithubConfigAuthorizerCredential flattens an instance of ConnectionGithubConfigAuthorizerCredential from a JSON
+// response object.
+func flattenConnectionGithubConfigAuthorizerCredential(c *Client, i interface{}, res *Connection) *ConnectionGithubConfigAuthorizerCredential {
+ m, ok := i.(map[string]interface{})
+ if !ok {
+ return nil
+ }
+
+ r := &ConnectionGithubConfigAuthorizerCredential{}
+
+ if dcl.IsEmptyValueIndirect(i) {
+ return EmptyConnectionGithubConfigAuthorizerCredential
+ }
+ r.OAuthTokenSecretVersion = dcl.FlattenString(m["oauthTokenSecretVersion"])
+ r.Username = dcl.FlattenString(m["username"])
+
+ return r
+}
+
+// expandConnectionGithubEnterpriseConfigMap expands the contents of ConnectionGithubEnterpriseConfig into a JSON
+// request object.
+func expandConnectionGithubEnterpriseConfigMap(c *Client, f map[string]ConnectionGithubEnterpriseConfig, res *Connection) (map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := make(map[string]interface{})
+ for k, item := range f {
+ i, err := expandConnectionGithubEnterpriseConfig(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+ if i != nil {
+ items[k] = i
+ }
+ }
+
+ return items, nil
+}
+
+// expandConnectionGithubEnterpriseConfigSlice expands the contents of ConnectionGithubEnterpriseConfig into a JSON
+// request object.
+func expandConnectionGithubEnterpriseConfigSlice(c *Client, f []ConnectionGithubEnterpriseConfig, res *Connection) ([]map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := []map[string]interface{}{}
+ for _, item := range f {
+ i, err := expandConnectionGithubEnterpriseConfig(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+
+ items = append(items, i)
+ }
+
+ return items, nil
+}
+
+// flattenConnectionGithubEnterpriseConfigMap flattens the contents of ConnectionGithubEnterpriseConfig from a JSON
+// response object.
+func flattenConnectionGithubEnterpriseConfigMap(c *Client, i interface{}, res *Connection) map[string]ConnectionGithubEnterpriseConfig {
+ a, ok := i.(map[string]interface{})
+ if !ok {
+ return map[string]ConnectionGithubEnterpriseConfig{}
+ }
+
+ if len(a) == 0 {
+ return map[string]ConnectionGithubEnterpriseConfig{}
+ }
+
+ items := make(map[string]ConnectionGithubEnterpriseConfig)
+ for k, item := range a {
+ items[k] = *flattenConnectionGithubEnterpriseConfig(c, item.(map[string]interface{}), res)
+ }
+
+ return items
+}
+
+// flattenConnectionGithubEnterpriseConfigSlice flattens the contents of ConnectionGithubEnterpriseConfig from a JSON
+// response object.
+func flattenConnectionGithubEnterpriseConfigSlice(c *Client, i interface{}, res *Connection) []ConnectionGithubEnterpriseConfig {
+ a, ok := i.([]interface{})
+ if !ok {
+ return []ConnectionGithubEnterpriseConfig{}
+ }
+
+ if len(a) == 0 {
+ return []ConnectionGithubEnterpriseConfig{}
+ }
+
+ items := make([]ConnectionGithubEnterpriseConfig, 0, len(a))
+ for _, item := range a {
+ items = append(items, *flattenConnectionGithubEnterpriseConfig(c, item.(map[string]interface{}), res))
+ }
+
+ return items
+}
+
+// expandConnectionGithubEnterpriseConfig expands an instance of ConnectionGithubEnterpriseConfig into a JSON
+// request object.
+func expandConnectionGithubEnterpriseConfig(c *Client, f *ConnectionGithubEnterpriseConfig, res *Connection) (map[string]interface{}, error) {
+ if dcl.IsEmptyValueIndirect(f) {
+ return nil, nil
+ }
+
+ m := make(map[string]interface{})
+ if v := f.HostUri; !dcl.IsEmptyValueIndirect(v) {
+ m["hostUri"] = v
+ }
+ if v := f.AppId; !dcl.IsEmptyValueIndirect(v) {
+ m["appId"] = v
+ }
+ if v := f.AppSlug; !dcl.IsEmptyValueIndirect(v) {
+ m["appSlug"] = v
+ }
+ if v := f.PrivateKeySecretVersion; !dcl.IsEmptyValueIndirect(v) {
+ m["privateKeySecretVersion"] = v
+ }
+ if v := f.WebhookSecretSecretVersion; !dcl.IsEmptyValueIndirect(v) {
+ m["webhookSecretSecretVersion"] = v
+ }
+ if v := f.AppInstallationId; !dcl.IsEmptyValueIndirect(v) {
+ m["appInstallationId"] = v
+ }
+ if v, err := expandConnectionGithubEnterpriseConfigServiceDirectoryConfig(c, f.ServiceDirectoryConfig, res); err != nil {
+ return nil, fmt.Errorf("error expanding ServiceDirectoryConfig into serviceDirectoryConfig: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ m["serviceDirectoryConfig"] = v
+ }
+ if v := f.SslCa; !dcl.IsEmptyValueIndirect(v) {
+ m["sslCa"] = v
+ }
+
+ return m, nil
+}
+
+// flattenConnectionGithubEnterpriseConfig flattens an instance of ConnectionGithubEnterpriseConfig from a JSON
+// response object.
+func flattenConnectionGithubEnterpriseConfig(c *Client, i interface{}, res *Connection) *ConnectionGithubEnterpriseConfig {
+ m, ok := i.(map[string]interface{})
+ if !ok {
+ return nil
+ }
+
+ r := &ConnectionGithubEnterpriseConfig{}
+
+ if dcl.IsEmptyValueIndirect(i) {
+ return EmptyConnectionGithubEnterpriseConfig
+ }
+ r.HostUri = dcl.FlattenString(m["hostUri"])
+ r.AppId = dcl.FlattenInteger(m["appId"])
+ r.AppSlug = dcl.FlattenString(m["appSlug"])
+ r.PrivateKeySecretVersion = dcl.FlattenString(m["privateKeySecretVersion"])
+ r.WebhookSecretSecretVersion = dcl.FlattenString(m["webhookSecretSecretVersion"])
+ r.AppInstallationId = dcl.FlattenInteger(m["appInstallationId"])
+ r.ServiceDirectoryConfig = flattenConnectionGithubEnterpriseConfigServiceDirectoryConfig(c, m["serviceDirectoryConfig"], res)
+ r.SslCa = dcl.FlattenString(m["sslCa"])
+
+ return r
+}
+
+// expandConnectionGithubEnterpriseConfigServiceDirectoryConfigMap expands the contents of ConnectionGithubEnterpriseConfigServiceDirectoryConfig into a JSON
+// request object.
+func expandConnectionGithubEnterpriseConfigServiceDirectoryConfigMap(c *Client, f map[string]ConnectionGithubEnterpriseConfigServiceDirectoryConfig, res *Connection) (map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := make(map[string]interface{})
+ for k, item := range f {
+ i, err := expandConnectionGithubEnterpriseConfigServiceDirectoryConfig(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+ if i != nil {
+ items[k] = i
+ }
+ }
+
+ return items, nil
+}
+
+// expandConnectionGithubEnterpriseConfigServiceDirectoryConfigSlice expands the contents of ConnectionGithubEnterpriseConfigServiceDirectoryConfig into a JSON
+// request object.
+func expandConnectionGithubEnterpriseConfigServiceDirectoryConfigSlice(c *Client, f []ConnectionGithubEnterpriseConfigServiceDirectoryConfig, res *Connection) ([]map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := []map[string]interface{}{}
+ for _, item := range f {
+ i, err := expandConnectionGithubEnterpriseConfigServiceDirectoryConfig(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+
+ items = append(items, i)
+ }
+
+ return items, nil
+}
+
+// flattenConnectionGithubEnterpriseConfigServiceDirectoryConfigMap flattens the contents of ConnectionGithubEnterpriseConfigServiceDirectoryConfig from a JSON
+// response object.
+func flattenConnectionGithubEnterpriseConfigServiceDirectoryConfigMap(c *Client, i interface{}, res *Connection) map[string]ConnectionGithubEnterpriseConfigServiceDirectoryConfig {
+ a, ok := i.(map[string]interface{})
+ if !ok {
+ return map[string]ConnectionGithubEnterpriseConfigServiceDirectoryConfig{}
+ }
+
+ if len(a) == 0 {
+ return map[string]ConnectionGithubEnterpriseConfigServiceDirectoryConfig{}
+ }
+
+ items := make(map[string]ConnectionGithubEnterpriseConfigServiceDirectoryConfig)
+ for k, item := range a {
+ items[k] = *flattenConnectionGithubEnterpriseConfigServiceDirectoryConfig(c, item.(map[string]interface{}), res)
+ }
+
+ return items
+}
+
+// flattenConnectionGithubEnterpriseConfigServiceDirectoryConfigSlice flattens the contents of ConnectionGithubEnterpriseConfigServiceDirectoryConfig from a JSON
+// response object.
+func flattenConnectionGithubEnterpriseConfigServiceDirectoryConfigSlice(c *Client, i interface{}, res *Connection) []ConnectionGithubEnterpriseConfigServiceDirectoryConfig {
+ a, ok := i.([]interface{})
+ if !ok {
+ return []ConnectionGithubEnterpriseConfigServiceDirectoryConfig{}
+ }
+
+ if len(a) == 0 {
+ return []ConnectionGithubEnterpriseConfigServiceDirectoryConfig{}
+ }
+
+ items := make([]ConnectionGithubEnterpriseConfigServiceDirectoryConfig, 0, len(a))
+ for _, item := range a {
+ items = append(items, *flattenConnectionGithubEnterpriseConfigServiceDirectoryConfig(c, item.(map[string]interface{}), res))
+ }
+
+ return items
+}
+
+// expandConnectionGithubEnterpriseConfigServiceDirectoryConfig expands an instance of ConnectionGithubEnterpriseConfigServiceDirectoryConfig into a JSON
+// request object.
+func expandConnectionGithubEnterpriseConfigServiceDirectoryConfig(c *Client, f *ConnectionGithubEnterpriseConfigServiceDirectoryConfig, res *Connection) (map[string]interface{}, error) {
+ if dcl.IsEmptyValueIndirect(f) {
+ return nil, nil
+ }
+
+ m := make(map[string]interface{})
+ if v := f.Service; !dcl.IsEmptyValueIndirect(v) {
+ m["service"] = v
+ }
+
+ return m, nil
+}
+
+// flattenConnectionGithubEnterpriseConfigServiceDirectoryConfig flattens an instance of ConnectionGithubEnterpriseConfigServiceDirectoryConfig from a JSON
+// response object.
+func flattenConnectionGithubEnterpriseConfigServiceDirectoryConfig(c *Client, i interface{}, res *Connection) *ConnectionGithubEnterpriseConfigServiceDirectoryConfig {
+ m, ok := i.(map[string]interface{})
+ if !ok {
+ return nil
+ }
+
+ r := &ConnectionGithubEnterpriseConfigServiceDirectoryConfig{}
+
+ if dcl.IsEmptyValueIndirect(i) {
+ return EmptyConnectionGithubEnterpriseConfigServiceDirectoryConfig
+ }
+ r.Service = dcl.FlattenString(m["service"])
+
+ return r
+}
+
+// expandConnectionGitlabConfigMap expands the contents of ConnectionGitlabConfig into a JSON
+// request object.
+func expandConnectionGitlabConfigMap(c *Client, f map[string]ConnectionGitlabConfig, res *Connection) (map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := make(map[string]interface{})
+ for k, item := range f {
+ i, err := expandConnectionGitlabConfig(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+ if i != nil {
+ items[k] = i
+ }
+ }
+
+ return items, nil
+}
+
+// expandConnectionGitlabConfigSlice expands the contents of ConnectionGitlabConfig into a JSON
+// request object.
+func expandConnectionGitlabConfigSlice(c *Client, f []ConnectionGitlabConfig, res *Connection) ([]map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := []map[string]interface{}{}
+ for _, item := range f {
+ i, err := expandConnectionGitlabConfig(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+
+ items = append(items, i)
+ }
+
+ return items, nil
+}
+
+// flattenConnectionGitlabConfigMap flattens the contents of ConnectionGitlabConfig from a JSON
+// response object.
+func flattenConnectionGitlabConfigMap(c *Client, i interface{}, res *Connection) map[string]ConnectionGitlabConfig {
+ a, ok := i.(map[string]interface{})
+ if !ok {
+ return map[string]ConnectionGitlabConfig{}
+ }
+
+ if len(a) == 0 {
+ return map[string]ConnectionGitlabConfig{}
+ }
+
+ items := make(map[string]ConnectionGitlabConfig)
+ for k, item := range a {
+ items[k] = *flattenConnectionGitlabConfig(c, item.(map[string]interface{}), res)
+ }
+
+ return items
+}
+
+// flattenConnectionGitlabConfigSlice flattens the contents of ConnectionGitlabConfig from a JSON
+// response object.
+func flattenConnectionGitlabConfigSlice(c *Client, i interface{}, res *Connection) []ConnectionGitlabConfig {
+ a, ok := i.([]interface{})
+ if !ok {
+ return []ConnectionGitlabConfig{}
+ }
+
+ if len(a) == 0 {
+ return []ConnectionGitlabConfig{}
+ }
+
+ items := make([]ConnectionGitlabConfig, 0, len(a))
+ for _, item := range a {
+ items = append(items, *flattenConnectionGitlabConfig(c, item.(map[string]interface{}), res))
+ }
+
+ return items
+}
+
+// expandConnectionGitlabConfig expands an instance of ConnectionGitlabConfig into a JSON
+// request object.
+func expandConnectionGitlabConfig(c *Client, f *ConnectionGitlabConfig, res *Connection) (map[string]interface{}, error) {
+ if dcl.IsEmptyValueIndirect(f) {
+ return nil, nil
+ }
+
+ m := make(map[string]interface{})
+ if v := f.HostUri; !dcl.IsEmptyValueIndirect(v) {
+ m["hostUri"] = v
+ }
+ if v := f.WebhookSecretSecretVersion; !dcl.IsEmptyValueIndirect(v) {
+ m["webhookSecretSecretVersion"] = v
+ }
+ if v, err := expandConnectionGitlabConfigReadAuthorizerCredential(c, f.ReadAuthorizerCredential, res); err != nil {
+ return nil, fmt.Errorf("error expanding ReadAuthorizerCredential into readAuthorizerCredential: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ m["readAuthorizerCredential"] = v
+ }
+ if v, err := expandConnectionGitlabConfigAuthorizerCredential(c, f.AuthorizerCredential, res); err != nil {
+ return nil, fmt.Errorf("error expanding AuthorizerCredential into authorizerCredential: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ m["authorizerCredential"] = v
+ }
+ if v, err := expandConnectionGitlabConfigServiceDirectoryConfig(c, f.ServiceDirectoryConfig, res); err != nil {
+ return nil, fmt.Errorf("error expanding ServiceDirectoryConfig into serviceDirectoryConfig: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ m["serviceDirectoryConfig"] = v
+ }
+ if v := f.SslCa; !dcl.IsEmptyValueIndirect(v) {
+ m["sslCa"] = v
+ }
+
+ return m, nil
+}
+
+// flattenConnectionGitlabConfig flattens an instance of ConnectionGitlabConfig from a JSON
+// response object.
+func flattenConnectionGitlabConfig(c *Client, i interface{}, res *Connection) *ConnectionGitlabConfig {
+ m, ok := i.(map[string]interface{})
+ if !ok {
+ return nil
+ }
+
+ r := &ConnectionGitlabConfig{}
+
+ if dcl.IsEmptyValueIndirect(i) {
+ return EmptyConnectionGitlabConfig
+ }
+ r.HostUri = dcl.FlattenString(m["hostUri"])
+ r.WebhookSecretSecretVersion = dcl.FlattenString(m["webhookSecretSecretVersion"])
+ r.ReadAuthorizerCredential = flattenConnectionGitlabConfigReadAuthorizerCredential(c, m["readAuthorizerCredential"], res)
+ r.AuthorizerCredential = flattenConnectionGitlabConfigAuthorizerCredential(c, m["authorizerCredential"], res)
+ r.ServiceDirectoryConfig = flattenConnectionGitlabConfigServiceDirectoryConfig(c, m["serviceDirectoryConfig"], res)
+ r.SslCa = dcl.FlattenString(m["sslCa"])
+ r.ServerVersion = dcl.FlattenString(m["serverVersion"])
+
+ return r
+}
+
+// expandConnectionGitlabConfigReadAuthorizerCredentialMap expands the contents of ConnectionGitlabConfigReadAuthorizerCredential into a JSON
+// request object.
+func expandConnectionGitlabConfigReadAuthorizerCredentialMap(c *Client, f map[string]ConnectionGitlabConfigReadAuthorizerCredential, res *Connection) (map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := make(map[string]interface{})
+ for k, item := range f {
+ i, err := expandConnectionGitlabConfigReadAuthorizerCredential(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+ if i != nil {
+ items[k] = i
+ }
+ }
+
+ return items, nil
+}
+
+// expandConnectionGitlabConfigReadAuthorizerCredentialSlice expands the contents of ConnectionGitlabConfigReadAuthorizerCredential into a JSON
+// request object.
+func expandConnectionGitlabConfigReadAuthorizerCredentialSlice(c *Client, f []ConnectionGitlabConfigReadAuthorizerCredential, res *Connection) ([]map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := []map[string]interface{}{}
+ for _, item := range f {
+ i, err := expandConnectionGitlabConfigReadAuthorizerCredential(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+
+ items = append(items, i)
+ }
+
+ return items, nil
+}
+
+// flattenConnectionGitlabConfigReadAuthorizerCredentialMap flattens the contents of ConnectionGitlabConfigReadAuthorizerCredential from a JSON
+// response object.
+func flattenConnectionGitlabConfigReadAuthorizerCredentialMap(c *Client, i interface{}, res *Connection) map[string]ConnectionGitlabConfigReadAuthorizerCredential {
+ a, ok := i.(map[string]interface{})
+ if !ok {
+ return map[string]ConnectionGitlabConfigReadAuthorizerCredential{}
+ }
+
+ if len(a) == 0 {
+ return map[string]ConnectionGitlabConfigReadAuthorizerCredential{}
+ }
+
+ items := make(map[string]ConnectionGitlabConfigReadAuthorizerCredential)
+ for k, item := range a {
+ items[k] = *flattenConnectionGitlabConfigReadAuthorizerCredential(c, item.(map[string]interface{}), res)
+ }
+
+ return items
+}
+
+// flattenConnectionGitlabConfigReadAuthorizerCredentialSlice flattens the contents of ConnectionGitlabConfigReadAuthorizerCredential from a JSON
+// response object.
+func flattenConnectionGitlabConfigReadAuthorizerCredentialSlice(c *Client, i interface{}, res *Connection) []ConnectionGitlabConfigReadAuthorizerCredential {
+ a, ok := i.([]interface{})
+ if !ok {
+ return []ConnectionGitlabConfigReadAuthorizerCredential{}
+ }
+
+ if len(a) == 0 {
+ return []ConnectionGitlabConfigReadAuthorizerCredential{}
+ }
+
+ items := make([]ConnectionGitlabConfigReadAuthorizerCredential, 0, len(a))
+ for _, item := range a {
+ items = append(items, *flattenConnectionGitlabConfigReadAuthorizerCredential(c, item.(map[string]interface{}), res))
+ }
+
+ return items
+}
+
+// expandConnectionGitlabConfigReadAuthorizerCredential expands an instance of ConnectionGitlabConfigReadAuthorizerCredential into a JSON
+// request object.
+func expandConnectionGitlabConfigReadAuthorizerCredential(c *Client, f *ConnectionGitlabConfigReadAuthorizerCredential, res *Connection) (map[string]interface{}, error) {
+ if dcl.IsEmptyValueIndirect(f) {
+ return nil, nil
+ }
+
+ m := make(map[string]interface{})
+ if v := f.UserTokenSecretVersion; !dcl.IsEmptyValueIndirect(v) {
+ m["userTokenSecretVersion"] = v
+ }
+
+ return m, nil
+}
+
+// flattenConnectionGitlabConfigReadAuthorizerCredential flattens an instance of ConnectionGitlabConfigReadAuthorizerCredential from a JSON
+// response object.
+func flattenConnectionGitlabConfigReadAuthorizerCredential(c *Client, i interface{}, res *Connection) *ConnectionGitlabConfigReadAuthorizerCredential {
+ m, ok := i.(map[string]interface{})
+ if !ok {
+ return nil
+ }
+
+ r := &ConnectionGitlabConfigReadAuthorizerCredential{}
+
+ if dcl.IsEmptyValueIndirect(i) {
+ return EmptyConnectionGitlabConfigReadAuthorizerCredential
+ }
+ r.UserTokenSecretVersion = dcl.FlattenString(m["userTokenSecretVersion"])
+ r.Username = dcl.FlattenString(m["username"])
+
+ return r
+}
+
+// expandConnectionGitlabConfigAuthorizerCredentialMap expands the contents of ConnectionGitlabConfigAuthorizerCredential into a JSON
+// request object.
+func expandConnectionGitlabConfigAuthorizerCredentialMap(c *Client, f map[string]ConnectionGitlabConfigAuthorizerCredential, res *Connection) (map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := make(map[string]interface{})
+ for k, item := range f {
+ i, err := expandConnectionGitlabConfigAuthorizerCredential(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+ if i != nil {
+ items[k] = i
+ }
+ }
+
+ return items, nil
+}
+
+// expandConnectionGitlabConfigAuthorizerCredentialSlice expands the contents of ConnectionGitlabConfigAuthorizerCredential into a JSON
+// request object.
+func expandConnectionGitlabConfigAuthorizerCredentialSlice(c *Client, f []ConnectionGitlabConfigAuthorizerCredential, res *Connection) ([]map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := []map[string]interface{}{}
+ for _, item := range f {
+ i, err := expandConnectionGitlabConfigAuthorizerCredential(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+
+ items = append(items, i)
+ }
+
+ return items, nil
+}
+
+// flattenConnectionGitlabConfigAuthorizerCredentialMap flattens the contents of ConnectionGitlabConfigAuthorizerCredential from a JSON
+// response object.
+func flattenConnectionGitlabConfigAuthorizerCredentialMap(c *Client, i interface{}, res *Connection) map[string]ConnectionGitlabConfigAuthorizerCredential {
+ a, ok := i.(map[string]interface{})
+ if !ok {
+ return map[string]ConnectionGitlabConfigAuthorizerCredential{}
+ }
+
+ if len(a) == 0 {
+ return map[string]ConnectionGitlabConfigAuthorizerCredential{}
+ }
+
+ items := make(map[string]ConnectionGitlabConfigAuthorizerCredential)
+ for k, item := range a {
+ items[k] = *flattenConnectionGitlabConfigAuthorizerCredential(c, item.(map[string]interface{}), res)
+ }
+
+ return items
+}
+
+// flattenConnectionGitlabConfigAuthorizerCredentialSlice flattens the contents of ConnectionGitlabConfigAuthorizerCredential from a JSON
+// response object.
+func flattenConnectionGitlabConfigAuthorizerCredentialSlice(c *Client, i interface{}, res *Connection) []ConnectionGitlabConfigAuthorizerCredential {
+ a, ok := i.([]interface{})
+ if !ok {
+ return []ConnectionGitlabConfigAuthorizerCredential{}
+ }
+
+ if len(a) == 0 {
+ return []ConnectionGitlabConfigAuthorizerCredential{}
+ }
+
+ items := make([]ConnectionGitlabConfigAuthorizerCredential, 0, len(a))
+ for _, item := range a {
+ items = append(items, *flattenConnectionGitlabConfigAuthorizerCredential(c, item.(map[string]interface{}), res))
+ }
+
+ return items
+}
+
+// expandConnectionGitlabConfigAuthorizerCredential expands an instance of ConnectionGitlabConfigAuthorizerCredential into a JSON
+// request object.
+func expandConnectionGitlabConfigAuthorizerCredential(c *Client, f *ConnectionGitlabConfigAuthorizerCredential, res *Connection) (map[string]interface{}, error) {
+ if dcl.IsEmptyValueIndirect(f) {
+ return nil, nil
+ }
+
+ m := make(map[string]interface{})
+ if v := f.UserTokenSecretVersion; !dcl.IsEmptyValueIndirect(v) {
+ m["userTokenSecretVersion"] = v
+ }
+
+ return m, nil
+}
+
+// flattenConnectionGitlabConfigAuthorizerCredential flattens an instance of ConnectionGitlabConfigAuthorizerCredential from a JSON
+// response object.
+func flattenConnectionGitlabConfigAuthorizerCredential(c *Client, i interface{}, res *Connection) *ConnectionGitlabConfigAuthorizerCredential {
+ m, ok := i.(map[string]interface{})
+ if !ok {
+ return nil
+ }
+
+ r := &ConnectionGitlabConfigAuthorizerCredential{}
+
+ if dcl.IsEmptyValueIndirect(i) {
+ return EmptyConnectionGitlabConfigAuthorizerCredential
+ }
+ r.UserTokenSecretVersion = dcl.FlattenString(m["userTokenSecretVersion"])
+ r.Username = dcl.FlattenString(m["username"])
+
+ return r
+}
+
+// expandConnectionGitlabConfigServiceDirectoryConfigMap expands the contents of ConnectionGitlabConfigServiceDirectoryConfig into a JSON
+// request object.
+func expandConnectionGitlabConfigServiceDirectoryConfigMap(c *Client, f map[string]ConnectionGitlabConfigServiceDirectoryConfig, res *Connection) (map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := make(map[string]interface{})
+ for k, item := range f {
+ i, err := expandConnectionGitlabConfigServiceDirectoryConfig(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+ if i != nil {
+ items[k] = i
+ }
+ }
+
+ return items, nil
+}
+
+// expandConnectionGitlabConfigServiceDirectoryConfigSlice expands the contents of ConnectionGitlabConfigServiceDirectoryConfig into a JSON
+// request object.
+func expandConnectionGitlabConfigServiceDirectoryConfigSlice(c *Client, f []ConnectionGitlabConfigServiceDirectoryConfig, res *Connection) ([]map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := []map[string]interface{}{}
+ for _, item := range f {
+ i, err := expandConnectionGitlabConfigServiceDirectoryConfig(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+
+ items = append(items, i)
+ }
+
+ return items, nil
+}
+
+// flattenConnectionGitlabConfigServiceDirectoryConfigMap flattens the contents of ConnectionGitlabConfigServiceDirectoryConfig from a JSON
+// response object.
+func flattenConnectionGitlabConfigServiceDirectoryConfigMap(c *Client, i interface{}, res *Connection) map[string]ConnectionGitlabConfigServiceDirectoryConfig {
+ a, ok := i.(map[string]interface{})
+ if !ok {
+ return map[string]ConnectionGitlabConfigServiceDirectoryConfig{}
+ }
+
+ if len(a) == 0 {
+ return map[string]ConnectionGitlabConfigServiceDirectoryConfig{}
+ }
+
+ items := make(map[string]ConnectionGitlabConfigServiceDirectoryConfig)
+ for k, item := range a {
+ items[k] = *flattenConnectionGitlabConfigServiceDirectoryConfig(c, item.(map[string]interface{}), res)
+ }
+
+ return items
+}
+
+// flattenConnectionGitlabConfigServiceDirectoryConfigSlice flattens the contents of ConnectionGitlabConfigServiceDirectoryConfig from a JSON
+// response object.
+func flattenConnectionGitlabConfigServiceDirectoryConfigSlice(c *Client, i interface{}, res *Connection) []ConnectionGitlabConfigServiceDirectoryConfig {
+ a, ok := i.([]interface{})
+ if !ok {
+ return []ConnectionGitlabConfigServiceDirectoryConfig{}
+ }
+
+ if len(a) == 0 {
+ return []ConnectionGitlabConfigServiceDirectoryConfig{}
+ }
+
+ items := make([]ConnectionGitlabConfigServiceDirectoryConfig, 0, len(a))
+ for _, item := range a {
+ items = append(items, *flattenConnectionGitlabConfigServiceDirectoryConfig(c, item.(map[string]interface{}), res))
+ }
+
+ return items
+}
+
+// expandConnectionGitlabConfigServiceDirectoryConfig expands an instance of ConnectionGitlabConfigServiceDirectoryConfig into a JSON
+// request object.
+func expandConnectionGitlabConfigServiceDirectoryConfig(c *Client, f *ConnectionGitlabConfigServiceDirectoryConfig, res *Connection) (map[string]interface{}, error) {
+ if dcl.IsEmptyValueIndirect(f) {
+ return nil, nil
+ }
+
+ m := make(map[string]interface{})
+ if v := f.Service; !dcl.IsEmptyValueIndirect(v) {
+ m["service"] = v
+ }
+
+ return m, nil
+}
+
+// flattenConnectionGitlabConfigServiceDirectoryConfig flattens an instance of ConnectionGitlabConfigServiceDirectoryConfig from a JSON
+// response object.
+func flattenConnectionGitlabConfigServiceDirectoryConfig(c *Client, i interface{}, res *Connection) *ConnectionGitlabConfigServiceDirectoryConfig {
+ m, ok := i.(map[string]interface{})
+ if !ok {
+ return nil
+ }
+
+ r := &ConnectionGitlabConfigServiceDirectoryConfig{}
+
+ if dcl.IsEmptyValueIndirect(i) {
+ return EmptyConnectionGitlabConfigServiceDirectoryConfig
+ }
+ r.Service = dcl.FlattenString(m["service"])
+
+ return r
+}
+
+// expandConnectionInstallationStateMap expands the contents of ConnectionInstallationState into a JSON
+// request object.
+func expandConnectionInstallationStateMap(c *Client, f map[string]ConnectionInstallationState, res *Connection) (map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := make(map[string]interface{})
+ for k, item := range f {
+ i, err := expandConnectionInstallationState(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+ if i != nil {
+ items[k] = i
+ }
+ }
+
+ return items, nil
+}
+
+// expandConnectionInstallationStateSlice expands the contents of ConnectionInstallationState into a JSON
+// request object.
+func expandConnectionInstallationStateSlice(c *Client, f []ConnectionInstallationState, res *Connection) ([]map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := []map[string]interface{}{}
+ for _, item := range f {
+ i, err := expandConnectionInstallationState(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+
+ items = append(items, i)
+ }
+
+ return items, nil
+}
+
+// flattenConnectionInstallationStateMap flattens the contents of ConnectionInstallationState from a JSON
+// response object.
+func flattenConnectionInstallationStateMap(c *Client, i interface{}, res *Connection) map[string]ConnectionInstallationState {
+ a, ok := i.(map[string]interface{})
+ if !ok {
+ return map[string]ConnectionInstallationState{}
+ }
+
+ if len(a) == 0 {
+ return map[string]ConnectionInstallationState{}
+ }
+
+ items := make(map[string]ConnectionInstallationState)
+ for k, item := range a {
+ items[k] = *flattenConnectionInstallationState(c, item.(map[string]interface{}), res)
+ }
+
+ return items
+}
+
+// flattenConnectionInstallationStateSlice flattens the contents of ConnectionInstallationState from a JSON
+// response object.
+func flattenConnectionInstallationStateSlice(c *Client, i interface{}, res *Connection) []ConnectionInstallationState {
+ a, ok := i.([]interface{})
+ if !ok {
+ return []ConnectionInstallationState{}
+ }
+
+ if len(a) == 0 {
+ return []ConnectionInstallationState{}
+ }
+
+ items := make([]ConnectionInstallationState, 0, len(a))
+ for _, item := range a {
+ items = append(items, *flattenConnectionInstallationState(c, item.(map[string]interface{}), res))
+ }
+
+ return items
+}
+
+// expandConnectionInstallationState expands an instance of ConnectionInstallationState into a JSON
+// request object.
+func expandConnectionInstallationState(c *Client, f *ConnectionInstallationState, res *Connection) (map[string]interface{}, error) {
+ if dcl.IsEmptyValueIndirect(f) {
+ return nil, nil
+ }
+
+ m := make(map[string]interface{})
+
+ return m, nil
+}
+
+// flattenConnectionInstallationState flattens an instance of ConnectionInstallationState from a JSON
+// response object.
+func flattenConnectionInstallationState(c *Client, i interface{}, res *Connection) *ConnectionInstallationState {
+ m, ok := i.(map[string]interface{})
+ if !ok {
+ return nil
+ }
+
+ r := &ConnectionInstallationState{}
+
+ if dcl.IsEmptyValueIndirect(i) {
+ return EmptyConnectionInstallationState
+ }
+ r.Stage = flattenConnectionInstallationStateStageEnum(m["stage"])
+ r.Message = dcl.FlattenString(m["message"])
+ r.ActionUri = dcl.FlattenString(m["actionUri"])
+
+ return r
+}
+
+// flattenConnectionInstallationStateStageEnumMap flattens the contents of ConnectionInstallationStateStageEnum from a JSON
+// response object.
+func flattenConnectionInstallationStateStageEnumMap(c *Client, i interface{}, res *Connection) map[string]ConnectionInstallationStateStageEnum {
+ a, ok := i.(map[string]interface{})
+ if !ok {
+ return map[string]ConnectionInstallationStateStageEnum{}
+ }
+
+ if len(a) == 0 {
+ return map[string]ConnectionInstallationStateStageEnum{}
+ }
+
+ items := make(map[string]ConnectionInstallationStateStageEnum)
+ for k, item := range a {
+ items[k] = *flattenConnectionInstallationStateStageEnum(item.(interface{}))
+ }
+
+ return items
+}
+
+// flattenConnectionInstallationStateStageEnumSlice flattens the contents of ConnectionInstallationStateStageEnum from a JSON
+// response object.
+func flattenConnectionInstallationStateStageEnumSlice(c *Client, i interface{}, res *Connection) []ConnectionInstallationStateStageEnum {
+ a, ok := i.([]interface{})
+ if !ok {
+ return []ConnectionInstallationStateStageEnum{}
+ }
+
+ if len(a) == 0 {
+ return []ConnectionInstallationStateStageEnum{}
+ }
+
+ items := make([]ConnectionInstallationStateStageEnum, 0, len(a))
+ for _, item := range a {
+ items = append(items, *flattenConnectionInstallationStateStageEnum(item.(interface{})))
+ }
+
+ return items
+}
+
+// flattenConnectionInstallationStateStageEnum asserts that an interface is a string, and returns a
+// pointer to a *ConnectionInstallationStateStageEnum with the same value as that string.
+func flattenConnectionInstallationStateStageEnum(i interface{}) *ConnectionInstallationStateStageEnum {
+ s, ok := i.(string)
+ if !ok {
+ return nil
+ }
+
+ return ConnectionInstallationStateStageEnumRef(s)
+}
+
+// This function returns a matcher that checks whether a serialized resource matches this resource
+// in its parameters (as defined by the fields in a Get, which definitionally define resource
+// identity). This is useful in extracting the element from a List call.
+func (r *Connection) matcher(c *Client) func([]byte) bool {
+ return func(b []byte) bool {
+ cr, err := unmarshalConnection(b, c, r)
+ if err != nil {
+ c.Config.Logger.Warning("failed to unmarshal provided resource in matcher.")
+ return false
+ }
+ nr := r.urlNormalized()
+ ncr := cr.urlNormalized()
+ c.Config.Logger.Infof("looking for %v\nin %v", nr, ncr)
+
+ if nr.Project == nil && ncr.Project == nil {
+ c.Config.Logger.Info("Both Project fields null - considering equal.")
+ } else if nr.Project == nil || ncr.Project == nil {
+ c.Config.Logger.Info("Only one Project field is null - considering unequal.")
+ return false
+ } else if *nr.Project != *ncr.Project {
+ return false
+ }
+ if nr.Location == nil && ncr.Location == nil {
+ c.Config.Logger.Info("Both Location fields null - considering equal.")
+ } else if nr.Location == nil || ncr.Location == nil {
+ c.Config.Logger.Info("Only one Location field is null - considering unequal.")
+ return false
+ } else if *nr.Location != *ncr.Location {
+ return false
+ }
+ if nr.Name == nil && ncr.Name == nil {
+ c.Config.Logger.Info("Both Name fields null - considering equal.")
+ } else if nr.Name == nil || ncr.Name == nil {
+ c.Config.Logger.Info("Only one Name field is null - considering unequal.")
+ return false
+ } else if *nr.Name != *ncr.Name {
+ return false
+ }
+ return true
+ }
+}
+
+type connectionDiff struct {
+ // The diff should include one or the other of RequiresRecreate or UpdateOp.
+ RequiresRecreate bool
+ UpdateOp connectionApiOperation
+ FieldName string // used for error logging
+}
+
+func convertFieldDiffsToConnectionDiffs(config *dcl.Config, fds []*dcl.FieldDiff, opts []dcl.ApplyOption) ([]connectionDiff, error) {
+ opNamesToFieldDiffs := make(map[string][]*dcl.FieldDiff)
+ // Map each operation name to the field diffs associated with it.
+ for _, fd := range fds {
+ for _, ro := range fd.ResultingOperation {
+ if fieldDiffs, ok := opNamesToFieldDiffs[ro]; ok {
+ fieldDiffs = append(fieldDiffs, fd)
+ opNamesToFieldDiffs[ro] = fieldDiffs
+ } else {
+ config.Logger.Infof("%s required due to diff: %v", ro, fd)
+ opNamesToFieldDiffs[ro] = []*dcl.FieldDiff{fd}
+ }
+ }
+ }
+ var diffs []connectionDiff
+ // For each operation name, create a connectionDiff which contains the operation.
+ for opName, fieldDiffs := range opNamesToFieldDiffs {
+ // Use the first field diff's field name for logging required recreate error.
+ diff := connectionDiff{FieldName: fieldDiffs[0].FieldName}
+ if opName == "Recreate" {
+ diff.RequiresRecreate = true
+ } else {
+ apiOp, err := convertOpNameToConnectionApiOperation(opName, fieldDiffs, opts...)
+ if err != nil {
+ return diffs, err
+ }
+ diff.UpdateOp = apiOp
+ }
+ diffs = append(diffs, diff)
+ }
+ return diffs, nil
+}
+
+func convertOpNameToConnectionApiOperation(opName string, fieldDiffs []*dcl.FieldDiff, opts ...dcl.ApplyOption) (connectionApiOperation, error) {
+ switch opName {
+
+ case "updateConnectionUpdateConnectionOperation":
+ return &updateConnectionUpdateConnectionOperation{FieldDiffs: fieldDiffs}, nil
+
+ default:
+ return nil, fmt.Errorf("no such operation with name: %v", opName)
+ }
+}
+
+func extractConnectionFields(r *Connection) error {
+ vGithubConfig := r.GithubConfig
+ if vGithubConfig == nil {
+ // note: explicitly not the empty object.
+ vGithubConfig = &ConnectionGithubConfig{}
+ }
+ if err := extractConnectionGithubConfigFields(r, vGithubConfig); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vGithubConfig) {
+ r.GithubConfig = vGithubConfig
+ }
+ vGithubEnterpriseConfig := r.GithubEnterpriseConfig
+ if vGithubEnterpriseConfig == nil {
+ // note: explicitly not the empty object.
+ vGithubEnterpriseConfig = &ConnectionGithubEnterpriseConfig{}
+ }
+ if err := extractConnectionGithubEnterpriseConfigFields(r, vGithubEnterpriseConfig); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vGithubEnterpriseConfig) {
+ r.GithubEnterpriseConfig = vGithubEnterpriseConfig
+ }
+ vGitlabConfig := r.GitlabConfig
+ if vGitlabConfig == nil {
+ // note: explicitly not the empty object.
+ vGitlabConfig = &ConnectionGitlabConfig{}
+ }
+ if err := extractConnectionGitlabConfigFields(r, vGitlabConfig); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vGitlabConfig) {
+ r.GitlabConfig = vGitlabConfig
+ }
+ vInstallationState := r.InstallationState
+ if vInstallationState == nil {
+ // note: explicitly not the empty object.
+ vInstallationState = &ConnectionInstallationState{}
+ }
+ if err := extractConnectionInstallationStateFields(r, vInstallationState); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vInstallationState) {
+ r.InstallationState = vInstallationState
+ }
+ return nil
+}
+func extractConnectionGithubConfigFields(r *Connection, o *ConnectionGithubConfig) error {
+ vAuthorizerCredential := o.AuthorizerCredential
+ if vAuthorizerCredential == nil {
+ // note: explicitly not the empty object.
+ vAuthorizerCredential = &ConnectionGithubConfigAuthorizerCredential{}
+ }
+ if err := extractConnectionGithubConfigAuthorizerCredentialFields(r, vAuthorizerCredential); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vAuthorizerCredential) {
+ o.AuthorizerCredential = vAuthorizerCredential
+ }
+ return nil
+}
+func extractConnectionGithubConfigAuthorizerCredentialFields(r *Connection, o *ConnectionGithubConfigAuthorizerCredential) error {
+ return nil
+}
+func extractConnectionGithubEnterpriseConfigFields(r *Connection, o *ConnectionGithubEnterpriseConfig) error {
+ vServiceDirectoryConfig := o.ServiceDirectoryConfig
+ if vServiceDirectoryConfig == nil {
+ // note: explicitly not the empty object.
+ vServiceDirectoryConfig = &ConnectionGithubEnterpriseConfigServiceDirectoryConfig{}
+ }
+ if err := extractConnectionGithubEnterpriseConfigServiceDirectoryConfigFields(r, vServiceDirectoryConfig); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vServiceDirectoryConfig) {
+ o.ServiceDirectoryConfig = vServiceDirectoryConfig
+ }
+ return nil
+}
+func extractConnectionGithubEnterpriseConfigServiceDirectoryConfigFields(r *Connection, o *ConnectionGithubEnterpriseConfigServiceDirectoryConfig) error {
+ return nil
+}
+func extractConnectionGitlabConfigFields(r *Connection, o *ConnectionGitlabConfig) error {
+ vReadAuthorizerCredential := o.ReadAuthorizerCredential
+ if vReadAuthorizerCredential == nil {
+ // note: explicitly not the empty object.
+ vReadAuthorizerCredential = &ConnectionGitlabConfigReadAuthorizerCredential{}
+ }
+ if err := extractConnectionGitlabConfigReadAuthorizerCredentialFields(r, vReadAuthorizerCredential); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vReadAuthorizerCredential) {
+ o.ReadAuthorizerCredential = vReadAuthorizerCredential
+ }
+ vAuthorizerCredential := o.AuthorizerCredential
+ if vAuthorizerCredential == nil {
+ // note: explicitly not the empty object.
+ vAuthorizerCredential = &ConnectionGitlabConfigAuthorizerCredential{}
+ }
+ if err := extractConnectionGitlabConfigAuthorizerCredentialFields(r, vAuthorizerCredential); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vAuthorizerCredential) {
+ o.AuthorizerCredential = vAuthorizerCredential
+ }
+ vServiceDirectoryConfig := o.ServiceDirectoryConfig
+ if vServiceDirectoryConfig == nil {
+ // note: explicitly not the empty object.
+ vServiceDirectoryConfig = &ConnectionGitlabConfigServiceDirectoryConfig{}
+ }
+ if err := extractConnectionGitlabConfigServiceDirectoryConfigFields(r, vServiceDirectoryConfig); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vServiceDirectoryConfig) {
+ o.ServiceDirectoryConfig = vServiceDirectoryConfig
+ }
+ return nil
+}
+func extractConnectionGitlabConfigReadAuthorizerCredentialFields(r *Connection, o *ConnectionGitlabConfigReadAuthorizerCredential) error {
+ return nil
+}
+func extractConnectionGitlabConfigAuthorizerCredentialFields(r *Connection, o *ConnectionGitlabConfigAuthorizerCredential) error {
+ return nil
+}
+func extractConnectionGitlabConfigServiceDirectoryConfigFields(r *Connection, o *ConnectionGitlabConfigServiceDirectoryConfig) error {
+ return nil
+}
+func extractConnectionInstallationStateFields(r *Connection, o *ConnectionInstallationState) error {
+ return nil
+}
+
+func postReadExtractConnectionFields(r *Connection) error {
+ vGithubConfig := r.GithubConfig
+ if vGithubConfig == nil {
+ // note: explicitly not the empty object.
+ vGithubConfig = &ConnectionGithubConfig{}
+ }
+ if err := postReadExtractConnectionGithubConfigFields(r, vGithubConfig); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vGithubConfig) {
+ r.GithubConfig = vGithubConfig
+ }
+ vGithubEnterpriseConfig := r.GithubEnterpriseConfig
+ if vGithubEnterpriseConfig == nil {
+ // note: explicitly not the empty object.
+ vGithubEnterpriseConfig = &ConnectionGithubEnterpriseConfig{}
+ }
+ if err := postReadExtractConnectionGithubEnterpriseConfigFields(r, vGithubEnterpriseConfig); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vGithubEnterpriseConfig) {
+ r.GithubEnterpriseConfig = vGithubEnterpriseConfig
+ }
+ vGitlabConfig := r.GitlabConfig
+ if vGitlabConfig == nil {
+ // note: explicitly not the empty object.
+ vGitlabConfig = &ConnectionGitlabConfig{}
+ }
+ if err := postReadExtractConnectionGitlabConfigFields(r, vGitlabConfig); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vGitlabConfig) {
+ r.GitlabConfig = vGitlabConfig
+ }
+ vInstallationState := r.InstallationState
+ if vInstallationState == nil {
+ // note: explicitly not the empty object.
+ vInstallationState = &ConnectionInstallationState{}
+ }
+ if err := postReadExtractConnectionInstallationStateFields(r, vInstallationState); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vInstallationState) {
+ r.InstallationState = vInstallationState
+ }
+ return nil
+}
+func postReadExtractConnectionGithubConfigFields(r *Connection, o *ConnectionGithubConfig) error {
+ vAuthorizerCredential := o.AuthorizerCredential
+ if vAuthorizerCredential == nil {
+ // note: explicitly not the empty object.
+ vAuthorizerCredential = &ConnectionGithubConfigAuthorizerCredential{}
+ }
+ if err := extractConnectionGithubConfigAuthorizerCredentialFields(r, vAuthorizerCredential); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vAuthorizerCredential) {
+ o.AuthorizerCredential = vAuthorizerCredential
+ }
+ return nil
+}
+func postReadExtractConnectionGithubConfigAuthorizerCredentialFields(r *Connection, o *ConnectionGithubConfigAuthorizerCredential) error {
+ return nil
+}
+func postReadExtractConnectionGithubEnterpriseConfigFields(r *Connection, o *ConnectionGithubEnterpriseConfig) error {
+ vServiceDirectoryConfig := o.ServiceDirectoryConfig
+ if vServiceDirectoryConfig == nil {
+ // note: explicitly not the empty object.
+ vServiceDirectoryConfig = &ConnectionGithubEnterpriseConfigServiceDirectoryConfig{}
+ }
+ if err := extractConnectionGithubEnterpriseConfigServiceDirectoryConfigFields(r, vServiceDirectoryConfig); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vServiceDirectoryConfig) {
+ o.ServiceDirectoryConfig = vServiceDirectoryConfig
+ }
+ return nil
+}
+func postReadExtractConnectionGithubEnterpriseConfigServiceDirectoryConfigFields(r *Connection, o *ConnectionGithubEnterpriseConfigServiceDirectoryConfig) error {
+ return nil
+}
+func postReadExtractConnectionGitlabConfigFields(r *Connection, o *ConnectionGitlabConfig) error {
+ vReadAuthorizerCredential := o.ReadAuthorizerCredential
+ if vReadAuthorizerCredential == nil {
+ // note: explicitly not the empty object.
+ vReadAuthorizerCredential = &ConnectionGitlabConfigReadAuthorizerCredential{}
+ }
+ if err := extractConnectionGitlabConfigReadAuthorizerCredentialFields(r, vReadAuthorizerCredential); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vReadAuthorizerCredential) {
+ o.ReadAuthorizerCredential = vReadAuthorizerCredential
+ }
+ vAuthorizerCredential := o.AuthorizerCredential
+ if vAuthorizerCredential == nil {
+ // note: explicitly not the empty object.
+ vAuthorizerCredential = &ConnectionGitlabConfigAuthorizerCredential{}
+ }
+ if err := extractConnectionGitlabConfigAuthorizerCredentialFields(r, vAuthorizerCredential); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vAuthorizerCredential) {
+ o.AuthorizerCredential = vAuthorizerCredential
+ }
+ vServiceDirectoryConfig := o.ServiceDirectoryConfig
+ if vServiceDirectoryConfig == nil {
+ // note: explicitly not the empty object.
+ vServiceDirectoryConfig = &ConnectionGitlabConfigServiceDirectoryConfig{}
+ }
+ if err := extractConnectionGitlabConfigServiceDirectoryConfigFields(r, vServiceDirectoryConfig); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vServiceDirectoryConfig) {
+ o.ServiceDirectoryConfig = vServiceDirectoryConfig
+ }
+ return nil
+}
+func postReadExtractConnectionGitlabConfigReadAuthorizerCredentialFields(r *Connection, o *ConnectionGitlabConfigReadAuthorizerCredential) error {
+ return nil
+}
+func postReadExtractConnectionGitlabConfigAuthorizerCredentialFields(r *Connection, o *ConnectionGitlabConfigAuthorizerCredential) error {
+ return nil
+}
+func postReadExtractConnectionGitlabConfigServiceDirectoryConfigFields(r *Connection, o *ConnectionGitlabConfigServiceDirectoryConfig) error {
+ return nil
+}
+func postReadExtractConnectionInstallationStateFields(r *Connection, o *ConnectionInstallationState) error {
+ return nil
+}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/connection_schema.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/connection_schema.go
new file mode 100644
index 0000000000..ed3e362dd7
--- /dev/null
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/connection_schema.go
@@ -0,0 +1,477 @@
+// Copyright 2023 Google LLC. All Rights Reserved.
+//
+// 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 cloudbuildv2
+
+import (
+ "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
+)
+
+func DCLConnectionSchema() *dcl.Schema {
+ return &dcl.Schema{
+ Info: &dcl.Info{
+ Title: "Cloudbuildv2/Connection",
+ Description: "The Cloudbuildv2 Connection resource",
+ StructName: "Connection",
+ },
+ Paths: &dcl.Paths{
+ Get: &dcl.Path{
+ Description: "The function used to get information about a Connection",
+ Parameters: []dcl.PathParameters{
+ dcl.PathParameters{
+ Name: "connection",
+ Required: true,
+ Description: "A full instance of a Connection",
+ },
+ },
+ },
+ Apply: &dcl.Path{
+ Description: "The function used to apply information about a Connection",
+ Parameters: []dcl.PathParameters{
+ dcl.PathParameters{
+ Name: "connection",
+ Required: true,
+ Description: "A full instance of a Connection",
+ },
+ },
+ },
+ Delete: &dcl.Path{
+ Description: "The function used to delete a Connection",
+ Parameters: []dcl.PathParameters{
+ dcl.PathParameters{
+ Name: "connection",
+ Required: true,
+ Description: "A full instance of a Connection",
+ },
+ },
+ },
+ DeleteAll: &dcl.Path{
+ Description: "The function used to delete all Connection",
+ Parameters: []dcl.PathParameters{
+ dcl.PathParameters{
+ Name: "project",
+ Required: true,
+ Schema: &dcl.PathParametersSchema{
+ Type: "string",
+ },
+ },
+ dcl.PathParameters{
+ Name: "location",
+ Required: true,
+ Schema: &dcl.PathParametersSchema{
+ Type: "string",
+ },
+ },
+ },
+ },
+ List: &dcl.Path{
+ Description: "The function used to list information about many Connection",
+ Parameters: []dcl.PathParameters{
+ dcl.PathParameters{
+ Name: "project",
+ Required: true,
+ Schema: &dcl.PathParametersSchema{
+ Type: "string",
+ },
+ },
+ dcl.PathParameters{
+ Name: "location",
+ Required: true,
+ Schema: &dcl.PathParametersSchema{
+ Type: "string",
+ },
+ },
+ },
+ },
+ },
+ Components: &dcl.Components{
+ Schemas: map[string]*dcl.Component{
+ "Connection": &dcl.Component{
+ Title: "Connection",
+ ID: "projects/{{project}}/locations/{{location}}/connections/{{name}}",
+ ParentContainer: "project",
+ HasCreate: true,
+ SchemaProperty: dcl.Property{
+ Type: "object",
+ Required: []string{
+ "name",
+ "project",
+ "location",
+ },
+ Properties: map[string]*dcl.Property{
+ "annotations": &dcl.Property{
+ Type: "object",
+ AdditionalProperties: &dcl.Property{
+ Type: "string",
+ },
+ GoName: "Annotations",
+ Description: "Allows clients to store small amounts of arbitrary data.",
+ },
+ "createTime": &dcl.Property{
+ Type: "string",
+ Format: "date-time",
+ GoName: "CreateTime",
+ ReadOnly: true,
+ Description: "Output only. Server assigned timestamp for when the connection was created.",
+ Immutable: true,
+ },
+ "disabled": &dcl.Property{
+ Type: "boolean",
+ GoName: "Disabled",
+ Description: "If disabled is set to true, functionality is disabled for this connection. Repository based API methods and webhooks processing for repositories in this connection will be disabled.",
+ },
+ "etag": &dcl.Property{
+ Type: "string",
+ GoName: "Etag",
+ ReadOnly: true,
+ Description: "This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.",
+ Immutable: true,
+ },
+ "githubConfig": &dcl.Property{
+ Type: "object",
+ GoName: "GithubConfig",
+ GoType: "ConnectionGithubConfig",
+ Description: "Configuration for connections to github.com.",
+ Conflicts: []string{
+ "githubEnterpriseConfig",
+ "gitlabConfig",
+ },
+ Properties: map[string]*dcl.Property{
+ "appInstallationId": &dcl.Property{
+ Type: "integer",
+ Format: "int64",
+ GoName: "AppInstallationId",
+ Description: "GitHub App installation id.",
+ },
+ "authorizerCredential": &dcl.Property{
+ Type: "object",
+ GoName: "AuthorizerCredential",
+ GoType: "ConnectionGithubConfigAuthorizerCredential",
+ Description: "OAuth credential of the account that authorized the Cloud Build GitHub App. It is recommended to use a robot account instead of a human user account. The OAuth token must be tied to the Cloud Build GitHub App.",
+ Properties: map[string]*dcl.Property{
+ "oauthTokenSecretVersion": &dcl.Property{
+ Type: "string",
+ GoName: "OAuthTokenSecretVersion",
+ Description: "A SecretManager resource containing the OAuth token that authorizes the Cloud Build connection. Format: `projects/*/secrets/*/versions/*`.",
+ ResourceReferences: []*dcl.PropertyResourceReference{
+ &dcl.PropertyResourceReference{
+ Resource: "Secretmanager/SecretVersion",
+ Field: "selfLink",
+ },
+ },
+ },
+ "username": &dcl.Property{
+ Type: "string",
+ GoName: "Username",
+ ReadOnly: true,
+ Description: "Output only. The username associated to this token.",
+ },
+ },
+ },
+ },
+ },
+ "githubEnterpriseConfig": &dcl.Property{
+ Type: "object",
+ GoName: "GithubEnterpriseConfig",
+ GoType: "ConnectionGithubEnterpriseConfig",
+ Description: "Configuration for connections to an instance of GitHub Enterprise.",
+ Conflicts: []string{
+ "githubConfig",
+ "gitlabConfig",
+ },
+ Required: []string{
+ "hostUri",
+ },
+ Properties: map[string]*dcl.Property{
+ "appId": &dcl.Property{
+ Type: "integer",
+ Format: "int64",
+ GoName: "AppId",
+ Description: "Id of the GitHub App created from the manifest.",
+ },
+ "appInstallationId": &dcl.Property{
+ Type: "integer",
+ Format: "int64",
+ GoName: "AppInstallationId",
+ Description: "ID of the installation of the GitHub App.",
+ },
+ "appSlug": &dcl.Property{
+ Type: "string",
+ GoName: "AppSlug",
+ Description: "The URL-friendly name of the GitHub App.",
+ },
+ "hostUri": &dcl.Property{
+ Type: "string",
+ GoName: "HostUri",
+ Description: "Required. The URI of the GitHub Enterprise host this connection is for.",
+ },
+ "privateKeySecretVersion": &dcl.Property{
+ Type: "string",
+ GoName: "PrivateKeySecretVersion",
+ Description: "SecretManager resource containing the private key of the GitHub App, formatted as `projects/*/secrets/*/versions/*`.",
+ ResourceReferences: []*dcl.PropertyResourceReference{
+ &dcl.PropertyResourceReference{
+ Resource: "Secretmanager/SecretVersion",
+ Field: "selfLink",
+ },
+ },
+ },
+ "serviceDirectoryConfig": &dcl.Property{
+ Type: "object",
+ GoName: "ServiceDirectoryConfig",
+ GoType: "ConnectionGithubEnterpriseConfigServiceDirectoryConfig",
+ Description: "Configuration for using Service Directory to privately connect to a GitHub Enterprise server. This should only be set if the GitHub Enterprise server is hosted on-premises and not reachable by public internet. If this field is left empty, calls to the GitHub Enterprise server will be made over the public internet.",
+ Required: []string{
+ "service",
+ },
+ Properties: map[string]*dcl.Property{
+ "service": &dcl.Property{
+ Type: "string",
+ GoName: "Service",
+ Description: "Required. The Service Directory service name. Format: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}.",
+ ResourceReferences: []*dcl.PropertyResourceReference{
+ &dcl.PropertyResourceReference{
+ Resource: "Servicedirectory/Service",
+ Field: "selfLink",
+ },
+ },
+ },
+ },
+ },
+ "sslCa": &dcl.Property{
+ Type: "string",
+ GoName: "SslCa",
+ Description: "SSL certificate to use for requests to GitHub Enterprise.",
+ },
+ "webhookSecretSecretVersion": &dcl.Property{
+ Type: "string",
+ GoName: "WebhookSecretSecretVersion",
+ Description: "SecretManager resource containing the webhook secret of the GitHub App, formatted as `projects/*/secrets/*/versions/*`.",
+ ResourceReferences: []*dcl.PropertyResourceReference{
+ &dcl.PropertyResourceReference{
+ Resource: "Secretmanager/SecretVersion",
+ Field: "selfLink",
+ },
+ },
+ },
+ },
+ },
+ "gitlabConfig": &dcl.Property{
+ Type: "object",
+ GoName: "GitlabConfig",
+ GoType: "ConnectionGitlabConfig",
+ Description: "Configuration for connections to gitlab.com or an instance of GitLab Enterprise.",
+ Conflicts: []string{
+ "githubConfig",
+ "githubEnterpriseConfig",
+ },
+ Required: []string{
+ "webhookSecretSecretVersion",
+ "readAuthorizerCredential",
+ "authorizerCredential",
+ },
+ Properties: map[string]*dcl.Property{
+ "authorizerCredential": &dcl.Property{
+ Type: "object",
+ GoName: "AuthorizerCredential",
+ GoType: "ConnectionGitlabConfigAuthorizerCredential",
+ Description: "Required. A GitLab personal access token with the `api` scope access.",
+ Required: []string{
+ "userTokenSecretVersion",
+ },
+ Properties: map[string]*dcl.Property{
+ "userTokenSecretVersion": &dcl.Property{
+ Type: "string",
+ GoName: "UserTokenSecretVersion",
+ Description: "Required. A SecretManager resource containing the user token that authorizes the Cloud Build connection. Format: `projects/*/secrets/*/versions/*`.",
+ ResourceReferences: []*dcl.PropertyResourceReference{
+ &dcl.PropertyResourceReference{
+ Resource: "Secretmanager/SecretVersion",
+ Field: "selfLink",
+ },
+ },
+ },
+ "username": &dcl.Property{
+ Type: "string",
+ GoName: "Username",
+ ReadOnly: true,
+ Description: "Output only. The username associated to this token.",
+ },
+ },
+ },
+ "hostUri": &dcl.Property{
+ Type: "string",
+ GoName: "HostUri",
+ Description: "The URI of the GitLab Enterprise host this connection is for. If not specified, the default value is https://gitlab.com.",
+ ServerDefault: true,
+ },
+ "readAuthorizerCredential": &dcl.Property{
+ Type: "object",
+ GoName: "ReadAuthorizerCredential",
+ GoType: "ConnectionGitlabConfigReadAuthorizerCredential",
+ Description: "Required. A GitLab personal access token with the minimum `read_api` scope access.",
+ Required: []string{
+ "userTokenSecretVersion",
+ },
+ Properties: map[string]*dcl.Property{
+ "userTokenSecretVersion": &dcl.Property{
+ Type: "string",
+ GoName: "UserTokenSecretVersion",
+ Description: "Required. A SecretManager resource containing the user token that authorizes the Cloud Build connection. Format: `projects/*/secrets/*/versions/*`.",
+ ResourceReferences: []*dcl.PropertyResourceReference{
+ &dcl.PropertyResourceReference{
+ Resource: "Secretmanager/SecretVersion",
+ Field: "selfLink",
+ },
+ },
+ },
+ "username": &dcl.Property{
+ Type: "string",
+ GoName: "Username",
+ ReadOnly: true,
+ Description: "Output only. The username associated to this token.",
+ },
+ },
+ },
+ "serverVersion": &dcl.Property{
+ Type: "string",
+ GoName: "ServerVersion",
+ ReadOnly: true,
+ Description: "Output only. Version of the GitLab Enterprise server running on the `host_uri`.",
+ },
+ "serviceDirectoryConfig": &dcl.Property{
+ Type: "object",
+ GoName: "ServiceDirectoryConfig",
+ GoType: "ConnectionGitlabConfigServiceDirectoryConfig",
+ Description: "Configuration for using Service Directory to privately connect to a GitLab Enterprise server. This should only be set if the GitLab Enterprise server is hosted on-premises and not reachable by public internet. If this field is left empty, calls to the GitLab Enterprise server will be made over the public internet.",
+ Required: []string{
+ "service",
+ },
+ Properties: map[string]*dcl.Property{
+ "service": &dcl.Property{
+ Type: "string",
+ GoName: "Service",
+ Description: "Required. The Service Directory service name. Format: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}.",
+ ResourceReferences: []*dcl.PropertyResourceReference{
+ &dcl.PropertyResourceReference{
+ Resource: "Servicedirectory/Service",
+ Field: "selfLink",
+ },
+ },
+ },
+ },
+ },
+ "sslCa": &dcl.Property{
+ Type: "string",
+ GoName: "SslCa",
+ Description: "SSL certificate to use for requests to GitLab Enterprise.",
+ },
+ "webhookSecretSecretVersion": &dcl.Property{
+ Type: "string",
+ GoName: "WebhookSecretSecretVersion",
+ Description: "Required. Immutable. SecretManager resource containing the webhook secret of a GitLab Enterprise project, formatted as `projects/*/secrets/*/versions/*`.",
+ ResourceReferences: []*dcl.PropertyResourceReference{
+ &dcl.PropertyResourceReference{
+ Resource: "Secretmanager/SecretVersion",
+ Field: "selfLink",
+ },
+ },
+ },
+ },
+ },
+ "installationState": &dcl.Property{
+ Type: "object",
+ GoName: "InstallationState",
+ GoType: "ConnectionInstallationState",
+ ReadOnly: true,
+ Description: "Output only. Installation state of the Connection.",
+ Immutable: true,
+ Properties: map[string]*dcl.Property{
+ "actionUri": &dcl.Property{
+ Type: "string",
+ GoName: "ActionUri",
+ ReadOnly: true,
+ Description: "Output only. Link to follow for next action. Empty string if the installation is already complete.",
+ Immutable: true,
+ },
+ "message": &dcl.Property{
+ Type: "string",
+ GoName: "Message",
+ ReadOnly: true,
+ Description: "Output only. Message of what the user should do next to continue the installation. Empty string if the installation is already complete.",
+ Immutable: true,
+ },
+ "stage": &dcl.Property{
+ Type: "string",
+ GoName: "Stage",
+ GoType: "ConnectionInstallationStateStageEnum",
+ ReadOnly: true,
+ Description: "Output only. Current step of the installation process. Possible values: STAGE_UNSPECIFIED, PENDING_CREATE_APP, PENDING_USER_OAUTH, PENDING_INSTALL_APP, COMPLETE",
+ Immutable: true,
+ Enum: []string{
+ "STAGE_UNSPECIFIED",
+ "PENDING_CREATE_APP",
+ "PENDING_USER_OAUTH",
+ "PENDING_INSTALL_APP",
+ "COMPLETE",
+ },
+ },
+ },
+ },
+ "location": &dcl.Property{
+ Type: "string",
+ GoName: "Location",
+ Description: "The location for the resource",
+ Immutable: true,
+ },
+ "name": &dcl.Property{
+ Type: "string",
+ GoName: "Name",
+ Description: "Immutable. The resource name of the connection, in the format `projects/{project}/locations/{location}/connections/{connection_id}`.",
+ Immutable: true,
+ },
+ "project": &dcl.Property{
+ Type: "string",
+ GoName: "Project",
+ Description: "The project for the resource",
+ Immutable: true,
+ ResourceReferences: []*dcl.PropertyResourceReference{
+ &dcl.PropertyResourceReference{
+ Resource: "Cloudresourcemanager/Project",
+ Field: "name",
+ Parent: true,
+ },
+ },
+ },
+ "reconciling": &dcl.Property{
+ Type: "boolean",
+ GoName: "Reconciling",
+ ReadOnly: true,
+ Description: "Output only. Set to true when the connection is being set up or updated in the background.",
+ Immutable: true,
+ },
+ "updateTime": &dcl.Property{
+ Type: "string",
+ Format: "date-time",
+ GoName: "UpdateTime",
+ ReadOnly: true,
+ Description: "Output only. Server assigned timestamp for when the connection was updated.",
+ Immutable: true,
+ },
+ },
+ },
+ },
+ },
+ },
+ }
+}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/connection_yaml_embed.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/connection_yaml_embed.go
new file mode 100644
index 0000000000..fb91e75376
--- /dev/null
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/connection_yaml_embed.go
@@ -0,0 +1,23 @@
+// Copyright 2023 Google LLC. All Rights Reserved.
+//
+// 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.
+// GENERATED BY gen_go_data.go
+// gen_go_data -package cloudbuildv2 -var YAML_connection blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/cloudbuildv2/connection.yaml
+
+package cloudbuildv2
+
+// blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/cloudbuildv2/connection.yaml
+var YAML_connection = []byte("info:\n title: Cloudbuildv2/Connection\n description: The Cloudbuildv2 Connection resource\n x-dcl-struct-name: Connection\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a Connection\n parameters:\n - name: connection\n required: true\n description: A full instance of a Connection\n apply:\n description: The function used to apply information about a Connection\n parameters:\n - name: connection\n required: true\n description: A full instance of a Connection\n delete:\n description: The function used to delete a Connection\n parameters:\n - name: connection\n required: true\n description: A full instance of a Connection\n deleteAll:\n description: The function used to delete all Connection\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many Connection\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n Connection:\n title: Connection\n x-dcl-id: projects/{{project}}/locations/{{location}}/connections/{{name}}\n x-dcl-parent-container: project\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - project\n - location\n properties:\n annotations:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Annotations\n description: Allows clients to store small amounts of arbitrary data.\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Output only. Server assigned timestamp for when the connection\n was created.\n x-kubernetes-immutable: true\n disabled:\n type: boolean\n x-dcl-go-name: Disabled\n description: If disabled is set to true, functionality is disabled for this\n connection. Repository based API methods and webhooks processing for repositories\n in this connection will be disabled.\n etag:\n type: string\n x-dcl-go-name: Etag\n readOnly: true\n description: This checksum is computed by the server based on the value\n of other fields, and may be sent on update and delete requests to ensure\n the client has an up-to-date value before proceeding.\n x-kubernetes-immutable: true\n githubConfig:\n type: object\n x-dcl-go-name: GithubConfig\n x-dcl-go-type: ConnectionGithubConfig\n description: Configuration for connections to github.com.\n x-dcl-conflicts:\n - githubEnterpriseConfig\n - gitlabConfig\n properties:\n appInstallationId:\n type: integer\n format: int64\n x-dcl-go-name: AppInstallationId\n description: GitHub App installation id.\n authorizerCredential:\n type: object\n x-dcl-go-name: AuthorizerCredential\n x-dcl-go-type: ConnectionGithubConfigAuthorizerCredential\n description: OAuth credential of the account that authorized the Cloud\n Build GitHub App. It is recommended to use a robot account instead\n of a human user account. The OAuth token must be tied to the Cloud\n Build GitHub App.\n properties:\n oauthTokenSecretVersion:\n type: string\n x-dcl-go-name: OAuthTokenSecretVersion\n description: 'A SecretManager resource containing the OAuth token\n that authorizes the Cloud Build connection. Format: `projects/*/secrets/*/versions/*`.'\n x-dcl-references:\n - resource: Secretmanager/SecretVersion\n field: selfLink\n username:\n type: string\n x-dcl-go-name: Username\n readOnly: true\n description: Output only. The username associated to this token.\n githubEnterpriseConfig:\n type: object\n x-dcl-go-name: GithubEnterpriseConfig\n x-dcl-go-type: ConnectionGithubEnterpriseConfig\n description: Configuration for connections to an instance of GitHub Enterprise.\n x-dcl-conflicts:\n - githubConfig\n - gitlabConfig\n required:\n - hostUri\n properties:\n appId:\n type: integer\n format: int64\n x-dcl-go-name: AppId\n description: Id of the GitHub App created from the manifest.\n appInstallationId:\n type: integer\n format: int64\n x-dcl-go-name: AppInstallationId\n description: ID of the installation of the GitHub App.\n appSlug:\n type: string\n x-dcl-go-name: AppSlug\n description: The URL-friendly name of the GitHub App.\n hostUri:\n type: string\n x-dcl-go-name: HostUri\n description: Required. The URI of the GitHub Enterprise host this connection\n is for.\n privateKeySecretVersion:\n type: string\n x-dcl-go-name: PrivateKeySecretVersion\n description: SecretManager resource containing the private key of the\n GitHub App, formatted as `projects/*/secrets/*/versions/*`.\n x-dcl-references:\n - resource: Secretmanager/SecretVersion\n field: selfLink\n serviceDirectoryConfig:\n type: object\n x-dcl-go-name: ServiceDirectoryConfig\n x-dcl-go-type: ConnectionGithubEnterpriseConfigServiceDirectoryConfig\n description: Configuration for using Service Directory to privately\n connect to a GitHub Enterprise server. This should only be set if\n the GitHub Enterprise server is hosted on-premises and not reachable\n by public internet. If this field is left empty, calls to the GitHub\n Enterprise server will be made over the public internet.\n required:\n - service\n properties:\n service:\n type: string\n x-dcl-go-name: Service\n description: 'Required. The Service Directory service name. Format:\n projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}.'\n x-dcl-references:\n - resource: Servicedirectory/Service\n field: selfLink\n sslCa:\n type: string\n x-dcl-go-name: SslCa\n description: SSL certificate to use for requests to GitHub Enterprise.\n webhookSecretSecretVersion:\n type: string\n x-dcl-go-name: WebhookSecretSecretVersion\n description: SecretManager resource containing the webhook secret of\n the GitHub App, formatted as `projects/*/secrets/*/versions/*`.\n x-dcl-references:\n - resource: Secretmanager/SecretVersion\n field: selfLink\n gitlabConfig:\n type: object\n x-dcl-go-name: GitlabConfig\n x-dcl-go-type: ConnectionGitlabConfig\n description: Configuration for connections to gitlab.com or an instance\n of GitLab Enterprise.\n x-dcl-conflicts:\n - githubConfig\n - githubEnterpriseConfig\n required:\n - webhookSecretSecretVersion\n - readAuthorizerCredential\n - authorizerCredential\n properties:\n authorizerCredential:\n type: object\n x-dcl-go-name: AuthorizerCredential\n x-dcl-go-type: ConnectionGitlabConfigAuthorizerCredential\n description: Required. A GitLab personal access token with the `api`\n scope access.\n required:\n - userTokenSecretVersion\n properties:\n userTokenSecretVersion:\n type: string\n x-dcl-go-name: UserTokenSecretVersion\n description: 'Required. A SecretManager resource containing the\n user token that authorizes the Cloud Build connection. Format:\n `projects/*/secrets/*/versions/*`.'\n x-dcl-references:\n - resource: Secretmanager/SecretVersion\n field: selfLink\n username:\n type: string\n x-dcl-go-name: Username\n readOnly: true\n description: Output only. The username associated to this token.\n hostUri:\n type: string\n x-dcl-go-name: HostUri\n description: The URI of the GitLab Enterprise host this connection is\n for. If not specified, the default value is https://gitlab.com.\n x-dcl-server-default: true\n readAuthorizerCredential:\n type: object\n x-dcl-go-name: ReadAuthorizerCredential\n x-dcl-go-type: ConnectionGitlabConfigReadAuthorizerCredential\n description: Required. A GitLab personal access token with the minimum\n `read_api` scope access.\n required:\n - userTokenSecretVersion\n properties:\n userTokenSecretVersion:\n type: string\n x-dcl-go-name: UserTokenSecretVersion\n description: 'Required. A SecretManager resource containing the\n user token that authorizes the Cloud Build connection. Format:\n `projects/*/secrets/*/versions/*`.'\n x-dcl-references:\n - resource: Secretmanager/SecretVersion\n field: selfLink\n username:\n type: string\n x-dcl-go-name: Username\n readOnly: true\n description: Output only. The username associated to this token.\n serverVersion:\n type: string\n x-dcl-go-name: ServerVersion\n readOnly: true\n description: Output only. Version of the GitLab Enterprise server running\n on the `host_uri`.\n serviceDirectoryConfig:\n type: object\n x-dcl-go-name: ServiceDirectoryConfig\n x-dcl-go-type: ConnectionGitlabConfigServiceDirectoryConfig\n description: Configuration for using Service Directory to privately\n connect to a GitLab Enterprise server. This should only be set if\n the GitLab Enterprise server is hosted on-premises and not reachable\n by public internet. If this field is left empty, calls to the GitLab\n Enterprise server will be made over the public internet.\n required:\n - service\n properties:\n service:\n type: string\n x-dcl-go-name: Service\n description: 'Required. The Service Directory service name. Format:\n projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}.'\n x-dcl-references:\n - resource: Servicedirectory/Service\n field: selfLink\n sslCa:\n type: string\n x-dcl-go-name: SslCa\n description: SSL certificate to use for requests to GitLab Enterprise.\n webhookSecretSecretVersion:\n type: string\n x-dcl-go-name: WebhookSecretSecretVersion\n description: Required. Immutable. SecretManager resource containing\n the webhook secret of a GitLab Enterprise project, formatted as `projects/*/secrets/*/versions/*`.\n x-dcl-references:\n - resource: Secretmanager/SecretVersion\n field: selfLink\n installationState:\n type: object\n x-dcl-go-name: InstallationState\n x-dcl-go-type: ConnectionInstallationState\n readOnly: true\n description: Output only. Installation state of the Connection.\n x-kubernetes-immutable: true\n properties:\n actionUri:\n type: string\n x-dcl-go-name: ActionUri\n readOnly: true\n description: Output only. Link to follow for next action. Empty string\n if the installation is already complete.\n x-kubernetes-immutable: true\n message:\n type: string\n x-dcl-go-name: Message\n readOnly: true\n description: Output only. Message of what the user should do next to\n continue the installation. Empty string if the installation is already\n complete.\n x-kubernetes-immutable: true\n stage:\n type: string\n x-dcl-go-name: Stage\n x-dcl-go-type: ConnectionInstallationStateStageEnum\n readOnly: true\n description: 'Output only. Current step of the installation process.\n Possible values: STAGE_UNSPECIFIED, PENDING_CREATE_APP, PENDING_USER_OAUTH,\n PENDING_INSTALL_APP, COMPLETE'\n x-kubernetes-immutable: true\n enum:\n - STAGE_UNSPECIFIED\n - PENDING_CREATE_APP\n - PENDING_USER_OAUTH\n - PENDING_INSTALL_APP\n - COMPLETE\n location:\n type: string\n x-dcl-go-name: Location\n description: The location for the resource\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: Immutable. The resource name of the connection, in the format\n `projects/{project}/locations/{location}/connections/{connection_id}`.\n x-kubernetes-immutable: true\n project:\n type: string\n x-dcl-go-name: Project\n description: The project for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n reconciling:\n type: boolean\n x-dcl-go-name: Reconciling\n readOnly: true\n description: Output only. Set to true when the connection is being set up\n or updated in the background.\n x-kubernetes-immutable: true\n updateTime:\n type: string\n format: date-time\n x-dcl-go-name: UpdateTime\n readOnly: true\n description: Output only. Server assigned timestamp for when the connection\n was updated.\n x-kubernetes-immutable: true\n")
+
+// 15422 bytes
+// MD5: 8aeeed1345743eb8568528a5672af403
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/repository.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/repository.go
new file mode 100644
index 0000000000..02173626fc
--- /dev/null
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/repository.go
@@ -0,0 +1,379 @@
+// Copyright 2023 Google LLC. All Rights Reserved.
+//
+// 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 cloudbuildv2
+
+import (
+ "context"
+ "fmt"
+ "time"
+
+ "google.golang.org/api/googleapi"
+ "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
+)
+
+type Repository struct {
+ Name *string `json:"name"`
+ RemoteUri *string `json:"remoteUri"`
+ CreateTime *string `json:"createTime"`
+ UpdateTime *string `json:"updateTime"`
+ Annotations map[string]string `json:"annotations"`
+ Etag *string `json:"etag"`
+ Project *string `json:"project"`
+ Location *string `json:"location"`
+ Connection *string `json:"connection"`
+}
+
+func (r *Repository) String() string {
+ return dcl.SprintResource(r)
+}
+
+// Describe returns a simple description of this resource to ensure that automated tools
+// can identify it.
+func (r *Repository) Describe() dcl.ServiceTypeVersion {
+ return dcl.ServiceTypeVersion{
+ Service: "cloudbuildv2",
+ Type: "Repository",
+ Version: "cloudbuildv2",
+ }
+}
+
+func (r *Repository) ID() (string, error) {
+ if err := extractRepositoryFields(r); err != nil {
+ return "", err
+ }
+ nr := r.urlNormalized()
+ params := map[string]interface{}{
+ "name": dcl.ValueOrEmptyString(nr.Name),
+ "remote_uri": dcl.ValueOrEmptyString(nr.RemoteUri),
+ "create_time": dcl.ValueOrEmptyString(nr.CreateTime),
+ "update_time": dcl.ValueOrEmptyString(nr.UpdateTime),
+ "annotations": dcl.ValueOrEmptyString(nr.Annotations),
+ "etag": dcl.ValueOrEmptyString(nr.Etag),
+ "project": dcl.ValueOrEmptyString(nr.Project),
+ "location": dcl.ValueOrEmptyString(nr.Location),
+ "connection": dcl.ValueOrEmptyString(nr.Connection),
+ }
+ return dcl.Nprintf("projects/{{project}}/locations/{{location}}/connections/{{connection}}/repositories/{{name}}", params), nil
+}
+
+const RepositoryMaxPage = -1
+
+type RepositoryList struct {
+ Items []*Repository
+
+ nextToken string
+
+ pageSize int32
+
+ resource *Repository
+}
+
+func (l *RepositoryList) HasNext() bool {
+ return l.nextToken != ""
+}
+
+func (l *RepositoryList) Next(ctx context.Context, c *Client) error {
+ ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
+ defer cancel()
+
+ if !l.HasNext() {
+ return fmt.Errorf("no next page")
+ }
+ items, token, err := c.listRepository(ctx, l.resource, l.nextToken, l.pageSize)
+ if err != nil {
+ return err
+ }
+ l.Items = items
+ l.nextToken = token
+ return err
+}
+
+func (c *Client) ListRepository(ctx context.Context, project, location, connection string) (*RepositoryList, error) {
+ ctx = dcl.ContextWithRequestID(ctx)
+ ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
+ defer cancel()
+
+ return c.ListRepositoryWithMaxResults(ctx, project, location, connection, RepositoryMaxPage)
+
+}
+
+func (c *Client) ListRepositoryWithMaxResults(ctx context.Context, project, location, connection string, pageSize int32) (*RepositoryList, error) {
+ ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
+ defer cancel()
+
+ // Create a resource object so that we can use proper url normalization methods.
+ r := &Repository{
+ Project: &project,
+ Location: &location,
+ Connection: &connection,
+ }
+ items, token, err := c.listRepository(ctx, r, "", pageSize)
+ if err != nil {
+ return nil, err
+ }
+ return &RepositoryList{
+ Items: items,
+ nextToken: token,
+ pageSize: pageSize,
+ resource: r,
+ }, nil
+}
+
+func (c *Client) GetRepository(ctx context.Context, r *Repository) (*Repository, error) {
+ ctx = dcl.ContextWithRequestID(ctx)
+ ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
+ defer cancel()
+
+ // This is *purposefully* supressing errors.
+ // This function is used with url-normalized values + not URL normalized values.
+ // URL Normalized values will throw unintentional errors, since those values are not of the proper parent form.
+ extractRepositoryFields(r)
+
+ b, err := c.getRepositoryRaw(ctx, r)
+ if err != nil {
+ if dcl.IsNotFound(err) {
+ return nil, &googleapi.Error{
+ Code: 404,
+ Message: err.Error(),
+ }
+ }
+ return nil, err
+ }
+ result, err := unmarshalRepository(b, c, r)
+ if err != nil {
+ return nil, err
+ }
+ result.Project = r.Project
+ result.Location = r.Location
+ result.Connection = r.Connection
+ result.Name = r.Name
+
+ c.Config.Logger.InfoWithContextf(ctx, "Retrieved raw result state: %v", result)
+ c.Config.Logger.InfoWithContextf(ctx, "Canonicalizing with specified state: %v", r)
+ result, err = canonicalizeRepositoryNewState(c, result, r)
+ if err != nil {
+ return nil, err
+ }
+ if err := postReadExtractRepositoryFields(result); err != nil {
+ return result, err
+ }
+ c.Config.Logger.InfoWithContextf(ctx, "Created result state: %v", result)
+
+ return result, nil
+}
+
+func (c *Client) DeleteRepository(ctx context.Context, r *Repository) error {
+ ctx = dcl.ContextWithRequestID(ctx)
+ ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
+ defer cancel()
+
+ if r == nil {
+ return fmt.Errorf("Repository resource is nil")
+ }
+ c.Config.Logger.InfoWithContext(ctx, "Deleting Repository...")
+ deleteOp := deleteRepositoryOperation{}
+ return deleteOp.do(ctx, r, c)
+}
+
+// DeleteAllRepository deletes all resources that the filter functions returns true on.
+func (c *Client) DeleteAllRepository(ctx context.Context, project, location, connection string, filter func(*Repository) bool) error {
+ listObj, err := c.ListRepository(ctx, project, location, connection)
+ if err != nil {
+ return err
+ }
+
+ err = c.deleteAllRepository(ctx, filter, listObj.Items)
+ if err != nil {
+ return err
+ }
+ for listObj.HasNext() {
+ err = listObj.Next(ctx, c)
+ if err != nil {
+ return nil
+ }
+ err = c.deleteAllRepository(ctx, filter, listObj.Items)
+ if err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func (c *Client) ApplyRepository(ctx context.Context, rawDesired *Repository, opts ...dcl.ApplyOption) (*Repository, error) {
+ ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
+ defer cancel()
+
+ ctx = dcl.ContextWithRequestID(ctx)
+ var resultNewState *Repository
+ err := dcl.Do(ctx, func(ctx context.Context) (*dcl.RetryDetails, error) {
+ newState, err := applyRepositoryHelper(c, ctx, rawDesired, opts...)
+ resultNewState = newState
+ if err != nil {
+ // If the error is 409, there is conflict in resource update.
+ // Here we want to apply changes based on latest state.
+ if dcl.IsConflictError(err) {
+ return &dcl.RetryDetails{}, dcl.OperationNotDone{Err: err}
+ }
+ return nil, err
+ }
+ return nil, nil
+ }, c.Config.RetryProvider)
+ return resultNewState, err
+}
+
+func applyRepositoryHelper(c *Client, ctx context.Context, rawDesired *Repository, opts ...dcl.ApplyOption) (*Repository, error) {
+ c.Config.Logger.InfoWithContext(ctx, "Beginning ApplyRepository...")
+ c.Config.Logger.InfoWithContextf(ctx, "User specified desired state: %v", rawDesired)
+
+ // 1.1: Validation of user-specified fields in desired state.
+ if err := rawDesired.validate(); err != nil {
+ return nil, err
+ }
+
+ if err := extractRepositoryFields(rawDesired); err != nil {
+ return nil, err
+ }
+
+ initial, desired, fieldDiffs, err := c.repositoryDiffsForRawDesired(ctx, rawDesired, opts...)
+ if err != nil {
+ return nil, fmt.Errorf("failed to create a diff: %w", err)
+ }
+
+ diffs, err := convertFieldDiffsToRepositoryDiffs(c.Config, fieldDiffs, opts)
+ if err != nil {
+ return nil, err
+ }
+
+ // TODO(magic-modules-eng): 2.2 Feasibility check (all updates are feasible so far).
+
+ // 2.3: Lifecycle Directive Check
+ var create bool
+ lp := dcl.FetchLifecycleParams(opts)
+ if initial == nil {
+ if dcl.HasLifecycleParam(lp, dcl.BlockCreation) {
+ return nil, dcl.ApplyInfeasibleError{Message: fmt.Sprintf("Creation blocked by lifecycle params: %#v.", desired)}
+ }
+ create = true
+ } else if dcl.HasLifecycleParam(lp, dcl.BlockAcquire) {
+ return nil, dcl.ApplyInfeasibleError{
+ Message: fmt.Sprintf("Resource already exists - apply blocked by lifecycle params: %#v.", initial),
+ }
+ } else {
+ for _, d := range diffs {
+ if d.RequiresRecreate {
+ return nil, dcl.ApplyInfeasibleError{
+ Message: fmt.Sprintf("infeasible update: (%v) would require recreation", d),
+ }
+ }
+ if dcl.HasLifecycleParam(lp, dcl.BlockModification) {
+ return nil, dcl.ApplyInfeasibleError{Message: fmt.Sprintf("Modification blocked, diff (%v) unresolvable.", d)}
+ }
+ }
+ }
+
+ // 2.4 Imperative Request Planning
+ var ops []repositoryApiOperation
+ if create {
+ ops = append(ops, &createRepositoryOperation{})
+ } else {
+ for _, d := range diffs {
+ ops = append(ops, d.UpdateOp)
+ }
+ }
+ c.Config.Logger.InfoWithContextf(ctx, "Created plan: %#v", ops)
+
+ // 2.5 Request Actuation
+ for _, op := range ops {
+ c.Config.Logger.InfoWithContextf(ctx, "Performing operation %T %+v", op, op)
+ if err := op.do(ctx, desired, c); err != nil {
+ c.Config.Logger.InfoWithContextf(ctx, "Failed operation %T %+v: %v", op, op, err)
+ return nil, err
+ }
+ c.Config.Logger.InfoWithContextf(ctx, "Finished operation %T %+v", op, op)
+ }
+ return applyRepositoryDiff(c, ctx, desired, rawDesired, ops, opts...)
+}
+
+func applyRepositoryDiff(c *Client, ctx context.Context, desired *Repository, rawDesired *Repository, ops []repositoryApiOperation, opts ...dcl.ApplyOption) (*Repository, error) {
+ // 3.1, 3.2a Retrieval of raw new state & canonicalization with desired state
+ c.Config.Logger.InfoWithContext(ctx, "Retrieving raw new state...")
+ rawNew, err := c.GetRepository(ctx, desired)
+ if err != nil {
+ return nil, err
+ }
+ // Get additional values from the first response.
+ // These values should be merged into the newState above.
+ if len(ops) > 0 {
+ lastOp := ops[len(ops)-1]
+ if o, ok := lastOp.(*createRepositoryOperation); ok {
+ if r, hasR := o.FirstResponse(); hasR {
+
+ c.Config.Logger.InfoWithContext(ctx, "Retrieving raw new state from operation...")
+
+ fullResp, err := unmarshalMapRepository(r, c, rawDesired)
+ if err != nil {
+ return nil, err
+ }
+
+ rawNew, err = canonicalizeRepositoryNewState(c, rawNew, fullResp)
+ if err != nil {
+ return nil, err
+ }
+ }
+ }
+ }
+
+ c.Config.Logger.InfoWithContextf(ctx, "Canonicalizing with raw desired state: %v", rawDesired)
+ // 3.2b Canonicalization of raw new state using raw desired state
+ newState, err := canonicalizeRepositoryNewState(c, rawNew, rawDesired)
+ if err != nil {
+ return rawNew, err
+ }
+
+ c.Config.Logger.InfoWithContextf(ctx, "Created canonical new state: %v", newState)
+ // 3.3 Comparison of the new state and raw desired state.
+ // TODO(magic-modules-eng): EVENTUALLY_CONSISTENT_UPDATE
+ newDesired, err := canonicalizeRepositoryDesiredState(rawDesired, newState)
+ if err != nil {
+ return newState, err
+ }
+
+ if err := postReadExtractRepositoryFields(newState); err != nil {
+ return newState, err
+ }
+
+ // Need to ensure any transformations made here match acceptably in differ.
+ if err := postReadExtractRepositoryFields(newDesired); err != nil {
+ return newState, err
+ }
+
+ c.Config.Logger.InfoWithContextf(ctx, "Diffing using canonicalized desired state: %v", newDesired)
+ newDiffs, err := diffRepository(c, newDesired, newState)
+ if err != nil {
+ return newState, err
+ }
+
+ if len(newDiffs) == 0 {
+ c.Config.Logger.InfoWithContext(ctx, "No diffs found. Apply was successful.")
+ } else {
+ c.Config.Logger.InfoWithContextf(ctx, "Found diffs: %v", newDiffs)
+ diffMessages := make([]string, len(newDiffs))
+ for i, d := range newDiffs {
+ diffMessages[i] = fmt.Sprintf("%v", d)
+ }
+ return newState, dcl.DiffAfterApplyError{Diffs: diffMessages}
+ }
+ c.Config.Logger.InfoWithContext(ctx, "Done Apply.")
+ return newState, nil
+}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/repository.yaml b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/repository.yaml
new file mode 100644
index 0000000000..d634441f19
--- /dev/null
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/repository.yaml
@@ -0,0 +1,152 @@
+# Copyright 2023 Google LLC. All Rights Reserved.
+#
+# 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.
+info:
+ title: Cloudbuildv2/Repository
+ description: The Cloudbuildv2 Repository resource
+ x-dcl-struct-name: Repository
+ x-dcl-has-iam: false
+paths:
+ get:
+ description: The function used to get information about a Repository
+ parameters:
+ - name: repository
+ required: true
+ description: A full instance of a Repository
+ apply:
+ description: The function used to apply information about a Repository
+ parameters:
+ - name: repository
+ required: true
+ description: A full instance of a Repository
+ delete:
+ description: The function used to delete a Repository
+ parameters:
+ - name: repository
+ required: true
+ description: A full instance of a Repository
+ deleteAll:
+ description: The function used to delete all Repository
+ parameters:
+ - name: project
+ required: true
+ schema:
+ type: string
+ - name: location
+ required: true
+ schema:
+ type: string
+ - name: connection
+ required: true
+ schema:
+ type: string
+ list:
+ description: The function used to list information about many Repository
+ parameters:
+ - name: project
+ required: true
+ schema:
+ type: string
+ - name: location
+ required: true
+ schema:
+ type: string
+ - name: connection
+ required: true
+ schema:
+ type: string
+components:
+ schemas:
+ Repository:
+ title: Repository
+ x-dcl-id: projects/{{project}}/locations/{{location}}/connections/{{connection}}/repositories/{{name}}
+ x-dcl-parent-container: project
+ x-dcl-has-create: true
+ x-dcl-has-iam: false
+ x-dcl-read-timeout: 0
+ x-dcl-apply-timeout: 0
+ x-dcl-delete-timeout: 0
+ type: object
+ required:
+ - name
+ - remoteUri
+ - project
+ - location
+ - connection
+ properties:
+ annotations:
+ type: object
+ additionalProperties:
+ type: string
+ x-dcl-go-name: Annotations
+ description: Allows clients to store small amounts of arbitrary data.
+ x-kubernetes-immutable: true
+ connection:
+ type: string
+ x-dcl-go-name: Connection
+ description: The connection for the resource
+ x-kubernetes-immutable: true
+ x-dcl-references:
+ - resource: Cloudbuildv2/Connection
+ field: name
+ parent: true
+ createTime:
+ type: string
+ format: date-time
+ x-dcl-go-name: CreateTime
+ readOnly: true
+ description: Output only. Server assigned timestamp for when the connection
+ was created.
+ x-kubernetes-immutable: true
+ etag:
+ type: string
+ x-dcl-go-name: Etag
+ readOnly: true
+ description: This checksum is computed by the server based on the value
+ of other fields, and may be sent on update and delete requests to ensure
+ the client has an up-to-date value before proceeding.
+ x-kubernetes-immutable: true
+ location:
+ type: string
+ x-dcl-go-name: Location
+ description: The location for the resource
+ x-kubernetes-immutable: true
+ x-dcl-extract-if-empty: true
+ name:
+ type: string
+ x-dcl-go-name: Name
+ description: Name of the repository.
+ x-kubernetes-immutable: true
+ project:
+ type: string
+ x-dcl-go-name: Project
+ description: The project for the resource
+ x-kubernetes-immutable: true
+ x-dcl-references:
+ - resource: Cloudresourcemanager/Project
+ field: name
+ parent: true
+ x-dcl-extract-if-empty: true
+ remoteUri:
+ type: string
+ x-dcl-go-name: RemoteUri
+ description: Required. Git Clone HTTPS URI.
+ x-kubernetes-immutable: true
+ updateTime:
+ type: string
+ format: date-time
+ x-dcl-go-name: UpdateTime
+ readOnly: true
+ description: Output only. Server assigned timestamp for when the connection
+ was updated.
+ x-kubernetes-immutable: true
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/repository_internal.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/repository_internal.go
new file mode 100644
index 0000000000..55fa43143e
--- /dev/null
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/repository_internal.go
@@ -0,0 +1,763 @@
+// Copyright 2023 Google LLC. All Rights Reserved.
+//
+// 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 cloudbuildv2
+
+import (
+ "bytes"
+ "context"
+ "encoding/json"
+ "fmt"
+ "io/ioutil"
+ "strings"
+
+ "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
+ "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl/operations"
+)
+
+func (r *Repository) validate() error {
+
+ if err := dcl.Required(r, "name"); err != nil {
+ return err
+ }
+ if err := dcl.Required(r, "remoteUri"); err != nil {
+ return err
+ }
+ if err := dcl.RequiredParameter(r.Project, "Project"); err != nil {
+ return err
+ }
+ if err := dcl.RequiredParameter(r.Location, "Location"); err != nil {
+ return err
+ }
+ if err := dcl.RequiredParameter(r.Connection, "Connection"); err != nil {
+ return err
+ }
+ return nil
+}
+func (r *Repository) basePath() string {
+ params := map[string]interface{}{}
+ return dcl.Nprintf("https://cloudbuild.googleapis.com/v2/", params)
+}
+
+func (r *Repository) getURL(userBasePath string) (string, error) {
+ nr := r.urlNormalized()
+ params := map[string]interface{}{
+ "project": dcl.ValueOrEmptyString(nr.Project),
+ "location": dcl.ValueOrEmptyString(nr.Location),
+ "connection": dcl.ValueOrEmptyString(nr.Connection),
+ "name": dcl.ValueOrEmptyString(nr.Name),
+ }
+ return dcl.URL("projects/{{project}}/locations/{{location}}/connections/{{connection}}/repositories/{{name}}", nr.basePath(), userBasePath, params), nil
+}
+
+func (r *Repository) listURL(userBasePath string) (string, error) {
+ nr := r.urlNormalized()
+ params := map[string]interface{}{
+ "project": dcl.ValueOrEmptyString(nr.Project),
+ "location": dcl.ValueOrEmptyString(nr.Location),
+ "connection": dcl.ValueOrEmptyString(nr.Connection),
+ }
+ return dcl.URL("projects/{{project}}/locations/{{location}}/connections/{{connection}}/repositories", nr.basePath(), userBasePath, params), nil
+
+}
+
+func (r *Repository) createURL(userBasePath string) (string, error) {
+ nr := r.urlNormalized()
+ params := map[string]interface{}{
+ "project": dcl.ValueOrEmptyString(nr.Project),
+ "location": dcl.ValueOrEmptyString(nr.Location),
+ "connection": dcl.ValueOrEmptyString(nr.Connection),
+ "name": dcl.ValueOrEmptyString(nr.Name),
+ }
+ return dcl.URL("projects/{{project}}/locations/{{location}}/connections/{{connection}}/repositories?repositoryId={{name}}", nr.basePath(), userBasePath, params), nil
+
+}
+
+func (r *Repository) deleteURL(userBasePath string) (string, error) {
+ nr := r.urlNormalized()
+ params := map[string]interface{}{
+ "project": dcl.ValueOrEmptyString(nr.Project),
+ "location": dcl.ValueOrEmptyString(nr.Location),
+ "connection": dcl.ValueOrEmptyString(nr.Connection),
+ "name": dcl.ValueOrEmptyString(nr.Name),
+ }
+ return dcl.URL("projects/{{project}}/locations/{{location}}/connections/{{connection}}/repositories/{{name}}", nr.basePath(), userBasePath, params), nil
+}
+
+// repositoryApiOperation represents a mutable operation in the underlying REST
+// API such as Create, Update, or Delete.
+type repositoryApiOperation interface {
+ do(context.Context, *Repository, *Client) error
+}
+
+func (c *Client) listRepositoryRaw(ctx context.Context, r *Repository, pageToken string, pageSize int32) ([]byte, error) {
+ u, err := r.urlNormalized().listURL(c.Config.BasePath)
+ if err != nil {
+ return nil, err
+ }
+
+ m := make(map[string]string)
+ if pageToken != "" {
+ m["pageToken"] = pageToken
+ }
+
+ if pageSize != RepositoryMaxPage {
+ m["pageSize"] = fmt.Sprintf("%v", pageSize)
+ }
+
+ u, err = dcl.AddQueryParams(u, m)
+ if err != nil {
+ return nil, err
+ }
+ resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
+ if err != nil {
+ return nil, err
+ }
+ defer resp.Response.Body.Close()
+ return ioutil.ReadAll(resp.Response.Body)
+}
+
+type listRepositoryOperation struct {
+ Repositories []map[string]interface{} `json:"repositories"`
+ Token string `json:"nextPageToken"`
+}
+
+func (c *Client) listRepository(ctx context.Context, r *Repository, pageToken string, pageSize int32) ([]*Repository, string, error) {
+ b, err := c.listRepositoryRaw(ctx, r, pageToken, pageSize)
+ if err != nil {
+ return nil, "", err
+ }
+
+ var m listRepositoryOperation
+ if err := json.Unmarshal(b, &m); err != nil {
+ return nil, "", err
+ }
+
+ var l []*Repository
+ for _, v := range m.Repositories {
+ res, err := unmarshalMapRepository(v, c, r)
+ if err != nil {
+ return nil, m.Token, err
+ }
+ res.Project = r.Project
+ res.Location = r.Location
+ res.Connection = r.Connection
+ l = append(l, res)
+ }
+
+ return l, m.Token, nil
+}
+
+func (c *Client) deleteAllRepository(ctx context.Context, f func(*Repository) bool, resources []*Repository) error {
+ var errors []string
+ for _, res := range resources {
+ if f(res) {
+ // We do not want deleteAll to fail on a deletion or else it will stop deleting other resources.
+ err := c.DeleteRepository(ctx, res)
+ if err != nil {
+ errors = append(errors, err.Error())
+ }
+ }
+ }
+ if len(errors) > 0 {
+ return fmt.Errorf("%v", strings.Join(errors, "\n"))
+ } else {
+ return nil
+ }
+}
+
+type deleteRepositoryOperation struct{}
+
+func (op *deleteRepositoryOperation) do(ctx context.Context, r *Repository, c *Client) error {
+ r, err := c.GetRepository(ctx, r)
+ if err != nil {
+ if dcl.IsNotFound(err) {
+ c.Config.Logger.InfoWithContextf(ctx, "Repository not found, returning. Original error: %v", err)
+ return nil
+ }
+ c.Config.Logger.WarningWithContextf(ctx, "GetRepository checking for existence. error: %v", err)
+ return err
+ }
+
+ u, err := r.deleteURL(c.Config.BasePath)
+ if err != nil {
+ return err
+ }
+
+ // Delete should never have a body
+ body := &bytes.Buffer{}
+ resp, err := dcl.SendRequest(ctx, c.Config, "DELETE", u, body, c.Config.RetryProvider)
+ if err != nil {
+ return err
+ }
+
+ // wait for object to be deleted.
+ var o operations.StandardGCPOperation
+ if err := dcl.ParseResponse(resp.Response, &o); err != nil {
+ return err
+ }
+ if err := o.Wait(context.WithValue(ctx, dcl.DoNotLogRequestsKey, true), c.Config, r.basePath(), "GET"); err != nil {
+ return err
+ }
+
+ // We saw a race condition where for some successful delete operation, the Get calls returned resources for a short duration.
+ // This is the reason we are adding retry to handle that case.
+ retriesRemaining := 10
+ dcl.Do(ctx, func(ctx context.Context) (*dcl.RetryDetails, error) {
+ _, err := c.GetRepository(ctx, r)
+ if dcl.IsNotFound(err) {
+ return nil, nil
+ }
+ if retriesRemaining > 0 {
+ retriesRemaining--
+ return &dcl.RetryDetails{}, dcl.OperationNotDone{}
+ }
+ return nil, dcl.NotDeletedError{ExistingResource: r}
+ }, c.Config.RetryProvider)
+ return nil
+}
+
+// Create operations are similar to Update operations, although they do not have
+// specific request objects. The Create request object is the json encoding of
+// the resource, which is modified by res.marshal to form the base request body.
+type createRepositoryOperation struct {
+ response map[string]interface{}
+}
+
+func (op *createRepositoryOperation) FirstResponse() (map[string]interface{}, bool) {
+ return op.response, len(op.response) > 0
+}
+
+func (op *createRepositoryOperation) do(ctx context.Context, r *Repository, c *Client) error {
+ c.Config.Logger.InfoWithContextf(ctx, "Attempting to create %v", r)
+ u, err := r.createURL(c.Config.BasePath)
+ if err != nil {
+ return err
+ }
+
+ req, err := r.marshal(c)
+ if err != nil {
+ return err
+ }
+ resp, err := dcl.SendRequest(ctx, c.Config, "POST", u, bytes.NewBuffer(req), c.Config.RetryProvider)
+ if err != nil {
+ return err
+ }
+ // wait for object to be created.
+ var o operations.StandardGCPOperation
+ if err := dcl.ParseResponse(resp.Response, &o); err != nil {
+ return err
+ }
+ if err := o.Wait(context.WithValue(ctx, dcl.DoNotLogRequestsKey, true), c.Config, r.basePath(), "GET"); err != nil {
+ c.Config.Logger.Warningf("Creation failed after waiting for operation: %v", err)
+ return err
+ }
+ c.Config.Logger.InfoWithContextf(ctx, "Successfully waited for operation")
+ op.response, _ = o.FirstResponse()
+
+ if _, err := c.GetRepository(ctx, r); err != nil {
+ c.Config.Logger.WarningWithContextf(ctx, "get returned error: %v", err)
+ return err
+ }
+
+ return nil
+}
+
+func (c *Client) getRepositoryRaw(ctx context.Context, r *Repository) ([]byte, error) {
+
+ u, err := r.getURL(c.Config.BasePath)
+ if err != nil {
+ return nil, err
+ }
+ resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
+ if err != nil {
+ return nil, err
+ }
+ defer resp.Response.Body.Close()
+ b, err := ioutil.ReadAll(resp.Response.Body)
+ if err != nil {
+ return nil, err
+ }
+
+ return b, nil
+}
+
+func (c *Client) repositoryDiffsForRawDesired(ctx context.Context, rawDesired *Repository, opts ...dcl.ApplyOption) (initial, desired *Repository, diffs []*dcl.FieldDiff, err error) {
+ c.Config.Logger.InfoWithContext(ctx, "Fetching initial state...")
+ // First, let us see if the user provided a state hint. If they did, we will start fetching based on that.
+ var fetchState *Repository
+ if sh := dcl.FetchStateHint(opts); sh != nil {
+ if r, ok := sh.(*Repository); !ok {
+ c.Config.Logger.WarningWithContextf(ctx, "Initial state hint was of the wrong type; expected Repository, got %T", sh)
+ } else {
+ fetchState = r
+ }
+ }
+ if fetchState == nil {
+ fetchState = rawDesired
+ }
+
+ // 1.2: Retrieval of raw initial state from API
+ rawInitial, err := c.GetRepository(ctx, fetchState)
+ if rawInitial == nil {
+ if !dcl.IsNotFound(err) {
+ c.Config.Logger.WarningWithContextf(ctx, "Failed to retrieve whether a Repository resource already exists: %s", err)
+ return nil, nil, nil, fmt.Errorf("failed to retrieve Repository resource: %v", err)
+ }
+ c.Config.Logger.InfoWithContext(ctx, "Found that Repository resource did not exist.")
+ // Perform canonicalization to pick up defaults.
+ desired, err = canonicalizeRepositoryDesiredState(rawDesired, rawInitial)
+ return nil, desired, nil, err
+ }
+ c.Config.Logger.InfoWithContextf(ctx, "Found initial state for Repository: %v", rawInitial)
+ c.Config.Logger.InfoWithContextf(ctx, "Initial desired state for Repository: %v", rawDesired)
+
+ // The Get call applies postReadExtract and so the result may contain fields that are not part of API version.
+ if err := extractRepositoryFields(rawInitial); err != nil {
+ return nil, nil, nil, err
+ }
+
+ // 1.3: Canonicalize raw initial state into initial state.
+ initial, err = canonicalizeRepositoryInitialState(rawInitial, rawDesired)
+ if err != nil {
+ return nil, nil, nil, err
+ }
+ c.Config.Logger.InfoWithContextf(ctx, "Canonicalized initial state for Repository: %v", initial)
+
+ // 1.4: Canonicalize raw desired state into desired state.
+ desired, err = canonicalizeRepositoryDesiredState(rawDesired, rawInitial, opts...)
+ if err != nil {
+ return nil, nil, nil, err
+ }
+ c.Config.Logger.InfoWithContextf(ctx, "Canonicalized desired state for Repository: %v", desired)
+
+ // 2.1: Comparison of initial and desired state.
+ diffs, err = diffRepository(c, desired, initial, opts...)
+ return initial, desired, diffs, err
+}
+
+func canonicalizeRepositoryInitialState(rawInitial, rawDesired *Repository) (*Repository, error) {
+ // TODO(magic-modules-eng): write canonicalizer once relevant traits are added.
+ return rawInitial, nil
+}
+
+/*
+* Canonicalizers
+*
+* These are responsible for converting either a user-specified config or a
+* GCP API response to a standard format that can be used for difference checking.
+* */
+
+func canonicalizeRepositoryDesiredState(rawDesired, rawInitial *Repository, opts ...dcl.ApplyOption) (*Repository, error) {
+
+ if rawInitial == nil {
+ // Since the initial state is empty, the desired state is all we have.
+ // We canonicalize the remaining nested objects with nil to pick up defaults.
+
+ return rawDesired, nil
+ }
+ canonicalDesired := &Repository{}
+ if dcl.PartialSelfLinkToSelfLink(rawDesired.Name, rawInitial.Name) {
+ canonicalDesired.Name = rawInitial.Name
+ } else {
+ canonicalDesired.Name = rawDesired.Name
+ }
+ if dcl.StringCanonicalize(rawDesired.RemoteUri, rawInitial.RemoteUri) {
+ canonicalDesired.RemoteUri = rawInitial.RemoteUri
+ } else {
+ canonicalDesired.RemoteUri = rawDesired.RemoteUri
+ }
+ if dcl.IsZeroValue(rawDesired.Annotations) || (dcl.IsEmptyValueIndirect(rawDesired.Annotations) && dcl.IsEmptyValueIndirect(rawInitial.Annotations)) {
+ // Desired and initial values are equivalent, so set canonical desired value to initial value.
+ canonicalDesired.Annotations = rawInitial.Annotations
+ } else {
+ canonicalDesired.Annotations = rawDesired.Annotations
+ }
+ if dcl.NameToSelfLink(rawDesired.Project, rawInitial.Project) {
+ canonicalDesired.Project = rawInitial.Project
+ } else {
+ canonicalDesired.Project = rawDesired.Project
+ }
+ if dcl.NameToSelfLink(rawDesired.Location, rawInitial.Location) {
+ canonicalDesired.Location = rawInitial.Location
+ } else {
+ canonicalDesired.Location = rawDesired.Location
+ }
+ if dcl.NameToSelfLink(rawDesired.Connection, rawInitial.Connection) {
+ canonicalDesired.Connection = rawInitial.Connection
+ } else {
+ canonicalDesired.Connection = rawDesired.Connection
+ }
+ return canonicalDesired, nil
+}
+
+func canonicalizeRepositoryNewState(c *Client, rawNew, rawDesired *Repository) (*Repository, error) {
+
+ if dcl.IsEmptyValueIndirect(rawNew.Name) && dcl.IsEmptyValueIndirect(rawDesired.Name) {
+ rawNew.Name = rawDesired.Name
+ } else {
+ if dcl.PartialSelfLinkToSelfLink(rawDesired.Name, rawNew.Name) {
+ rawNew.Name = rawDesired.Name
+ }
+ }
+
+ if dcl.IsEmptyValueIndirect(rawNew.RemoteUri) && dcl.IsEmptyValueIndirect(rawDesired.RemoteUri) {
+ rawNew.RemoteUri = rawDesired.RemoteUri
+ } else {
+ if dcl.StringCanonicalize(rawDesired.RemoteUri, rawNew.RemoteUri) {
+ rawNew.RemoteUri = rawDesired.RemoteUri
+ }
+ }
+
+ if dcl.IsEmptyValueIndirect(rawNew.CreateTime) && dcl.IsEmptyValueIndirect(rawDesired.CreateTime) {
+ rawNew.CreateTime = rawDesired.CreateTime
+ } else {
+ }
+
+ if dcl.IsEmptyValueIndirect(rawNew.UpdateTime) && dcl.IsEmptyValueIndirect(rawDesired.UpdateTime) {
+ rawNew.UpdateTime = rawDesired.UpdateTime
+ } else {
+ }
+
+ if dcl.IsEmptyValueIndirect(rawNew.Annotations) && dcl.IsEmptyValueIndirect(rawDesired.Annotations) {
+ rawNew.Annotations = rawDesired.Annotations
+ } else {
+ }
+
+ if dcl.IsEmptyValueIndirect(rawNew.Etag) && dcl.IsEmptyValueIndirect(rawDesired.Etag) {
+ rawNew.Etag = rawDesired.Etag
+ } else {
+ if dcl.StringCanonicalize(rawDesired.Etag, rawNew.Etag) {
+ rawNew.Etag = rawDesired.Etag
+ }
+ }
+
+ rawNew.Project = rawDesired.Project
+
+ rawNew.Location = rawDesired.Location
+
+ rawNew.Connection = rawDesired.Connection
+
+ return rawNew, nil
+}
+
+// The differ returns a list of diffs, along with a list of operations that should be taken
+// to remedy them. Right now, it does not attempt to consolidate operations - if several
+// fields can be fixed with a patch update, it will perform the patch several times.
+// Diffs on some fields will be ignored if the `desired` state has an empty (nil)
+// value. This empty value indicates that the user does not care about the state for
+// the field. Empty fields on the actual object will cause diffs.
+// TODO(magic-modules-eng): for efficiency in some resources, add batching.
+func diffRepository(c *Client, desired, actual *Repository, opts ...dcl.ApplyOption) ([]*dcl.FieldDiff, error) {
+ if desired == nil || actual == nil {
+ return nil, fmt.Errorf("nil resource passed to diff - always a programming error: %#v, %#v", desired, actual)
+ }
+
+ c.Config.Logger.Infof("Diff function called with desired state: %v", desired)
+ c.Config.Logger.Infof("Diff function called with actual state: %v", actual)
+
+ var fn dcl.FieldName
+ var newDiffs []*dcl.FieldDiff
+ // New style diffs.
+ if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Name")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.RemoteUri, actual.RemoteUri, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("RemoteUri")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.CreateTime, actual.CreateTime, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("CreateTime")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.UpdateTime, actual.UpdateTime, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("UpdateTime")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Annotations, actual.Annotations, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Annotations")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Etag, actual.Etag, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Etag")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Project, actual.Project, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Project")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Location, actual.Location, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Location")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Connection, actual.Connection, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Connection")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if len(newDiffs) > 0 {
+ c.Config.Logger.Infof("Diff function found diffs: %v", newDiffs)
+ }
+ return newDiffs, nil
+}
+
+// urlNormalized returns a copy of the resource struct with values normalized
+// for URL substitutions. For instance, it converts long-form self-links to
+// short-form so they can be substituted in.
+func (r *Repository) urlNormalized() *Repository {
+ normalized := dcl.Copy(*r).(Repository)
+ normalized.Name = dcl.SelfLinkToName(r.Name)
+ normalized.RemoteUri = dcl.SelfLinkToName(r.RemoteUri)
+ normalized.Etag = dcl.SelfLinkToName(r.Etag)
+ normalized.Project = dcl.SelfLinkToName(r.Project)
+ normalized.Location = dcl.SelfLinkToName(r.Location)
+ normalized.Connection = dcl.SelfLinkToName(r.Connection)
+ return &normalized
+}
+
+func (r *Repository) updateURL(userBasePath, updateName string) (string, error) {
+ return "", fmt.Errorf("unknown update name: %s", updateName)
+}
+
+// marshal encodes the Repository resource into JSON for a Create request, and
+// performs transformations from the resource schema to the API schema if
+// necessary.
+func (r *Repository) marshal(c *Client) ([]byte, error) {
+ m, err := expandRepository(c, r)
+ if err != nil {
+ return nil, fmt.Errorf("error marshalling Repository: %w", err)
+ }
+
+ return json.Marshal(m)
+}
+
+// unmarshalRepository decodes JSON responses into the Repository resource schema.
+func unmarshalRepository(b []byte, c *Client, res *Repository) (*Repository, error) {
+ var m map[string]interface{}
+ if err := json.Unmarshal(b, &m); err != nil {
+ return nil, err
+ }
+ return unmarshalMapRepository(m, c, res)
+}
+
+func unmarshalMapRepository(m map[string]interface{}, c *Client, res *Repository) (*Repository, error) {
+
+ flattened := flattenRepository(c, m, res)
+ if flattened == nil {
+ return nil, fmt.Errorf("attempted to flatten empty json object")
+ }
+ return flattened, nil
+}
+
+// expandRepository expands Repository into a JSON request object.
+func expandRepository(c *Client, f *Repository) (map[string]interface{}, error) {
+ m := make(map[string]interface{})
+ res := f
+ _ = res
+ if v, err := dcl.DeriveField("projects/%s/locations/%s/connections/%s/repositories/%s", f.Name, dcl.SelfLinkToName(f.Project), dcl.SelfLinkToName(f.Location), dcl.SelfLinkToName(f.Connection), dcl.SelfLinkToName(f.Name)); err != nil {
+ return nil, fmt.Errorf("error expanding Name into name: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ m["name"] = v
+ }
+ if v := f.RemoteUri; dcl.ValueShouldBeSent(v) {
+ m["remoteUri"] = v
+ }
+ if v := f.Annotations; dcl.ValueShouldBeSent(v) {
+ m["annotations"] = v
+ }
+ if v, err := dcl.EmptyValue(); err != nil {
+ return nil, fmt.Errorf("error expanding Project into project: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ m["project"] = v
+ }
+ if v, err := dcl.EmptyValue(); err != nil {
+ return nil, fmt.Errorf("error expanding Location into location: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ m["location"] = v
+ }
+ if v, err := dcl.EmptyValue(); err != nil {
+ return nil, fmt.Errorf("error expanding Connection into connection: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ m["connection"] = v
+ }
+
+ return m, nil
+}
+
+// flattenRepository flattens Repository from a JSON request object into the
+// Repository type.
+func flattenRepository(c *Client, i interface{}, res *Repository) *Repository {
+ m, ok := i.(map[string]interface{})
+ if !ok {
+ return nil
+ }
+ if len(m) == 0 {
+ return nil
+ }
+
+ resultRes := &Repository{}
+ resultRes.Name = dcl.FlattenString(m["name"])
+ resultRes.RemoteUri = dcl.FlattenString(m["remoteUri"])
+ resultRes.CreateTime = dcl.FlattenString(m["createTime"])
+ resultRes.UpdateTime = dcl.FlattenString(m["updateTime"])
+ resultRes.Annotations = dcl.FlattenKeyValuePairs(m["annotations"])
+ resultRes.Etag = dcl.FlattenString(m["etag"])
+ resultRes.Project = dcl.FlattenString(m["project"])
+ resultRes.Location = dcl.FlattenString(m["location"])
+ resultRes.Connection = dcl.FlattenString(m["connection"])
+
+ return resultRes
+}
+
+// This function returns a matcher that checks whether a serialized resource matches this resource
+// in its parameters (as defined by the fields in a Get, which definitionally define resource
+// identity). This is useful in extracting the element from a List call.
+func (r *Repository) matcher(c *Client) func([]byte) bool {
+ return func(b []byte) bool {
+ cr, err := unmarshalRepository(b, c, r)
+ if err != nil {
+ c.Config.Logger.Warning("failed to unmarshal provided resource in matcher.")
+ return false
+ }
+ nr := r.urlNormalized()
+ ncr := cr.urlNormalized()
+ c.Config.Logger.Infof("looking for %v\nin %v", nr, ncr)
+
+ if nr.Project == nil && ncr.Project == nil {
+ c.Config.Logger.Info("Both Project fields null - considering equal.")
+ } else if nr.Project == nil || ncr.Project == nil {
+ c.Config.Logger.Info("Only one Project field is null - considering unequal.")
+ return false
+ } else if *nr.Project != *ncr.Project {
+ return false
+ }
+ if nr.Location == nil && ncr.Location == nil {
+ c.Config.Logger.Info("Both Location fields null - considering equal.")
+ } else if nr.Location == nil || ncr.Location == nil {
+ c.Config.Logger.Info("Only one Location field is null - considering unequal.")
+ return false
+ } else if *nr.Location != *ncr.Location {
+ return false
+ }
+ if nr.Connection == nil && ncr.Connection == nil {
+ c.Config.Logger.Info("Both Connection fields null - considering equal.")
+ } else if nr.Connection == nil || ncr.Connection == nil {
+ c.Config.Logger.Info("Only one Connection field is null - considering unequal.")
+ return false
+ } else if *nr.Connection != *ncr.Connection {
+ return false
+ }
+ if nr.Name == nil && ncr.Name == nil {
+ c.Config.Logger.Info("Both Name fields null - considering equal.")
+ } else if nr.Name == nil || ncr.Name == nil {
+ c.Config.Logger.Info("Only one Name field is null - considering unequal.")
+ return false
+ } else if *nr.Name != *ncr.Name {
+ return false
+ }
+ return true
+ }
+}
+
+type repositoryDiff struct {
+ // The diff should include one or the other of RequiresRecreate or UpdateOp.
+ RequiresRecreate bool
+ UpdateOp repositoryApiOperation
+ FieldName string // used for error logging
+}
+
+func convertFieldDiffsToRepositoryDiffs(config *dcl.Config, fds []*dcl.FieldDiff, opts []dcl.ApplyOption) ([]repositoryDiff, error) {
+ opNamesToFieldDiffs := make(map[string][]*dcl.FieldDiff)
+ // Map each operation name to the field diffs associated with it.
+ for _, fd := range fds {
+ for _, ro := range fd.ResultingOperation {
+ if fieldDiffs, ok := opNamesToFieldDiffs[ro]; ok {
+ fieldDiffs = append(fieldDiffs, fd)
+ opNamesToFieldDiffs[ro] = fieldDiffs
+ } else {
+ config.Logger.Infof("%s required due to diff: %v", ro, fd)
+ opNamesToFieldDiffs[ro] = []*dcl.FieldDiff{fd}
+ }
+ }
+ }
+ var diffs []repositoryDiff
+ // For each operation name, create a repositoryDiff which contains the operation.
+ for opName, fieldDiffs := range opNamesToFieldDiffs {
+ // Use the first field diff's field name for logging required recreate error.
+ diff := repositoryDiff{FieldName: fieldDiffs[0].FieldName}
+ if opName == "Recreate" {
+ diff.RequiresRecreate = true
+ } else {
+ apiOp, err := convertOpNameToRepositoryApiOperation(opName, fieldDiffs, opts...)
+ if err != nil {
+ return diffs, err
+ }
+ diff.UpdateOp = apiOp
+ }
+ diffs = append(diffs, diff)
+ }
+ return diffs, nil
+}
+
+func convertOpNameToRepositoryApiOperation(opName string, fieldDiffs []*dcl.FieldDiff, opts ...dcl.ApplyOption) (repositoryApiOperation, error) {
+ switch opName {
+
+ default:
+ return nil, fmt.Errorf("no such operation with name: %v", opName)
+ }
+}
+
+func extractRepositoryFields(r *Repository) error {
+ vProject, err := dcl.ValueFromRegexOnField("Project", r.Project, r.Connection, "projects/([a-z0-9A-Z-]*)/locations/.*")
+ if err != nil {
+ return err
+ }
+ r.Project = vProject
+ vLocation, err := dcl.ValueFromRegexOnField("Location", r.Location, r.Connection, "projects/.*/locations/([a-z0-9A-Z-]*)/connections/.*")
+ if err != nil {
+ return err
+ }
+ r.Location = vLocation
+ return nil
+}
+
+func postReadExtractRepositoryFields(r *Repository) error {
+ return nil
+}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/repository_schema.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/repository_schema.go
new file mode 100644
index 0000000000..7c7aae42c5
--- /dev/null
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/repository_schema.go
@@ -0,0 +1,212 @@
+// Copyright 2023 Google LLC. All Rights Reserved.
+//
+// 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 cloudbuildv2
+
+import (
+ "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
+)
+
+func DCLRepositorySchema() *dcl.Schema {
+ return &dcl.Schema{
+ Info: &dcl.Info{
+ Title: "Cloudbuildv2/Repository",
+ Description: "The Cloudbuildv2 Repository resource",
+ StructName: "Repository",
+ },
+ Paths: &dcl.Paths{
+ Get: &dcl.Path{
+ Description: "The function used to get information about a Repository",
+ Parameters: []dcl.PathParameters{
+ dcl.PathParameters{
+ Name: "repository",
+ Required: true,
+ Description: "A full instance of a Repository",
+ },
+ },
+ },
+ Apply: &dcl.Path{
+ Description: "The function used to apply information about a Repository",
+ Parameters: []dcl.PathParameters{
+ dcl.PathParameters{
+ Name: "repository",
+ Required: true,
+ Description: "A full instance of a Repository",
+ },
+ },
+ },
+ Delete: &dcl.Path{
+ Description: "The function used to delete a Repository",
+ Parameters: []dcl.PathParameters{
+ dcl.PathParameters{
+ Name: "repository",
+ Required: true,
+ Description: "A full instance of a Repository",
+ },
+ },
+ },
+ DeleteAll: &dcl.Path{
+ Description: "The function used to delete all Repository",
+ Parameters: []dcl.PathParameters{
+ dcl.PathParameters{
+ Name: "project",
+ Required: true,
+ Schema: &dcl.PathParametersSchema{
+ Type: "string",
+ },
+ },
+ dcl.PathParameters{
+ Name: "location",
+ Required: true,
+ Schema: &dcl.PathParametersSchema{
+ Type: "string",
+ },
+ },
+ dcl.PathParameters{
+ Name: "connection",
+ Required: true,
+ Schema: &dcl.PathParametersSchema{
+ Type: "string",
+ },
+ },
+ },
+ },
+ List: &dcl.Path{
+ Description: "The function used to list information about many Repository",
+ Parameters: []dcl.PathParameters{
+ dcl.PathParameters{
+ Name: "project",
+ Required: true,
+ Schema: &dcl.PathParametersSchema{
+ Type: "string",
+ },
+ },
+ dcl.PathParameters{
+ Name: "location",
+ Required: true,
+ Schema: &dcl.PathParametersSchema{
+ Type: "string",
+ },
+ },
+ dcl.PathParameters{
+ Name: "connection",
+ Required: true,
+ Schema: &dcl.PathParametersSchema{
+ Type: "string",
+ },
+ },
+ },
+ },
+ },
+ Components: &dcl.Components{
+ Schemas: map[string]*dcl.Component{
+ "Repository": &dcl.Component{
+ Title: "Repository",
+ ID: "projects/{{project}}/locations/{{location}}/connections/{{connection}}/repositories/{{name}}",
+ ParentContainer: "project",
+ HasCreate: true,
+ SchemaProperty: dcl.Property{
+ Type: "object",
+ Required: []string{
+ "name",
+ "remoteUri",
+ "project",
+ "location",
+ "connection",
+ },
+ Properties: map[string]*dcl.Property{
+ "annotations": &dcl.Property{
+ Type: "object",
+ AdditionalProperties: &dcl.Property{
+ Type: "string",
+ },
+ GoName: "Annotations",
+ Description: "Allows clients to store small amounts of arbitrary data.",
+ Immutable: true,
+ },
+ "connection": &dcl.Property{
+ Type: "string",
+ GoName: "Connection",
+ Description: "The connection for the resource",
+ Immutable: true,
+ ResourceReferences: []*dcl.PropertyResourceReference{
+ &dcl.PropertyResourceReference{
+ Resource: "Cloudbuildv2/Connection",
+ Field: "name",
+ Parent: true,
+ },
+ },
+ },
+ "createTime": &dcl.Property{
+ Type: "string",
+ Format: "date-time",
+ GoName: "CreateTime",
+ ReadOnly: true,
+ Description: "Output only. Server assigned timestamp for when the connection was created.",
+ Immutable: true,
+ },
+ "etag": &dcl.Property{
+ Type: "string",
+ GoName: "Etag",
+ ReadOnly: true,
+ Description: "This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.",
+ Immutable: true,
+ },
+ "location": &dcl.Property{
+ Type: "string",
+ GoName: "Location",
+ Description: "The location for the resource",
+ Immutable: true,
+ ExtractIfEmpty: true,
+ },
+ "name": &dcl.Property{
+ Type: "string",
+ GoName: "Name",
+ Description: "Name of the repository.",
+ Immutable: true,
+ },
+ "project": &dcl.Property{
+ Type: "string",
+ GoName: "Project",
+ Description: "The project for the resource",
+ Immutable: true,
+ ResourceReferences: []*dcl.PropertyResourceReference{
+ &dcl.PropertyResourceReference{
+ Resource: "Cloudresourcemanager/Project",
+ Field: "name",
+ Parent: true,
+ },
+ },
+ ExtractIfEmpty: true,
+ },
+ "remoteUri": &dcl.Property{
+ Type: "string",
+ GoName: "RemoteUri",
+ Description: "Required. Git Clone HTTPS URI.",
+ Immutable: true,
+ },
+ "updateTime": &dcl.Property{
+ Type: "string",
+ Format: "date-time",
+ GoName: "UpdateTime",
+ ReadOnly: true,
+ Description: "Output only. Server assigned timestamp for when the connection was updated.",
+ Immutable: true,
+ },
+ },
+ },
+ },
+ },
+ },
+ }
+}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/repository_yaml_embed.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/repository_yaml_embed.go
new file mode 100644
index 0000000000..73c3366752
--- /dev/null
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudbuildv2/repository_yaml_embed.go
@@ -0,0 +1,23 @@
+// Copyright 2023 Google LLC. All Rights Reserved.
+//
+// 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.
+// GENERATED BY gen_go_data.go
+// gen_go_data -package cloudbuildv2 -var YAML_repository blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/cloudbuildv2/repository.yaml
+
+package cloudbuildv2
+
+// blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/cloudbuildv2/repository.yaml
+var YAML_repository = []byte("info:\n title: Cloudbuildv2/Repository\n description: The Cloudbuildv2 Repository resource\n x-dcl-struct-name: Repository\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a Repository\n parameters:\n - name: repository\n required: true\n description: A full instance of a Repository\n apply:\n description: The function used to apply information about a Repository\n parameters:\n - name: repository\n required: true\n description: A full instance of a Repository\n delete:\n description: The function used to delete a Repository\n parameters:\n - name: repository\n required: true\n description: A full instance of a Repository\n deleteAll:\n description: The function used to delete all Repository\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n - name: connection\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many Repository\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n - name: connection\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n Repository:\n title: Repository\n x-dcl-id: projects/{{project}}/locations/{{location}}/connections/{{connection}}/repositories/{{name}}\n x-dcl-parent-container: project\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - remoteUri\n - project\n - location\n - connection\n properties:\n annotations:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Annotations\n description: Allows clients to store small amounts of arbitrary data.\n x-kubernetes-immutable: true\n connection:\n type: string\n x-dcl-go-name: Connection\n description: The connection for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudbuildv2/Connection\n field: name\n parent: true\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Output only. Server assigned timestamp for when the connection\n was created.\n x-kubernetes-immutable: true\n etag:\n type: string\n x-dcl-go-name: Etag\n readOnly: true\n description: This checksum is computed by the server based on the value\n of other fields, and may be sent on update and delete requests to ensure\n the client has an up-to-date value before proceeding.\n x-kubernetes-immutable: true\n location:\n type: string\n x-dcl-go-name: Location\n description: The location for the resource\n x-kubernetes-immutable: true\n x-dcl-extract-if-empty: true\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the repository.\n x-kubernetes-immutable: true\n project:\n type: string\n x-dcl-go-name: Project\n description: The project for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n x-dcl-extract-if-empty: true\n remoteUri:\n type: string\n x-dcl-go-name: RemoteUri\n description: Required. Git Clone HTTPS URI.\n x-kubernetes-immutable: true\n updateTime:\n type: string\n format: date-time\n x-dcl-go-name: UpdateTime\n readOnly: true\n description: Output only. Server assigned timestamp for when the connection\n was updated.\n x-kubernetes-immutable: true\n")
+
+// 4202 bytes
+// MD5: 08536debc9812c7bb49387b3c2a0af8f
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/delivery_pipeline.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/delivery_pipeline.go
index 5e791cbe95..1ad6efee33 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/delivery_pipeline.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/delivery_pipeline.go
@@ -92,9 +92,11 @@ func (r *DeliveryPipelineSerialPipeline) HashCode() string {
}
type DeliveryPipelineSerialPipelineStages struct {
- empty bool `json:"-"`
- TargetId *string `json:"targetId"`
- Profiles []string `json:"profiles"`
+ empty bool `json:"-"`
+ TargetId *string `json:"targetId"`
+ Profiles []string `json:"profiles"`
+ Strategy *DeliveryPipelineSerialPipelineStagesStrategy `json:"strategy"`
+ DeployParameters []DeliveryPipelineSerialPipelineStagesDeployParameters `json:"deployParameters"`
}
type jsonDeliveryPipelineSerialPipelineStages DeliveryPipelineSerialPipelineStages
@@ -116,6 +118,10 @@ func (r *DeliveryPipelineSerialPipelineStages) UnmarshalJSON(data []byte) error
r.Profiles = res.Profiles
+ r.Strategy = res.Strategy
+
+ r.DeployParameters = res.DeployParameters
+
}
return nil
}
@@ -140,10 +146,605 @@ func (r *DeliveryPipelineSerialPipelineStages) HashCode() string {
return fmt.Sprintf("%x", hash)
}
+type DeliveryPipelineSerialPipelineStagesStrategy struct {
+ empty bool `json:"-"`
+ Standard *DeliveryPipelineSerialPipelineStagesStrategyStandard `json:"standard"`
+ Canary *DeliveryPipelineSerialPipelineStagesStrategyCanary `json:"canary"`
+}
+
+type jsonDeliveryPipelineSerialPipelineStagesStrategy DeliveryPipelineSerialPipelineStagesStrategy
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategy) UnmarshalJSON(data []byte) error {
+ var res jsonDeliveryPipelineSerialPipelineStagesStrategy
+ if err := json.Unmarshal(data, &res); err != nil {
+ return err
+ }
+
+ var m map[string]interface{}
+ json.Unmarshal(data, &m)
+
+ if len(m) == 0 {
+ *r = *EmptyDeliveryPipelineSerialPipelineStagesStrategy
+ } else {
+
+ r.Standard = res.Standard
+
+ r.Canary = res.Canary
+
+ }
+ return nil
+}
+
+// This object is used to assert a desired state where this DeliveryPipelineSerialPipelineStagesStrategy is
+// empty. Go lacks global const objects, but this object should be treated
+// as one. Modifying this object will have undesirable results.
+var EmptyDeliveryPipelineSerialPipelineStagesStrategy *DeliveryPipelineSerialPipelineStagesStrategy = &DeliveryPipelineSerialPipelineStagesStrategy{empty: true}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategy) Empty() bool {
+ return r.empty
+}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategy) String() string {
+ return dcl.SprintResource(r)
+}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategy) HashCode() string {
+ // Placeholder for a more complex hash method that handles ordering, etc
+ // Hash resource body for easy comparison later
+ hash := sha256.New().Sum([]byte(r.String()))
+ return fmt.Sprintf("%x", hash)
+}
+
+type DeliveryPipelineSerialPipelineStagesStrategyStandard struct {
+ empty bool `json:"-"`
+ Verify *bool `json:"verify"`
+}
+
+type jsonDeliveryPipelineSerialPipelineStagesStrategyStandard DeliveryPipelineSerialPipelineStagesStrategyStandard
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyStandard) UnmarshalJSON(data []byte) error {
+ var res jsonDeliveryPipelineSerialPipelineStagesStrategyStandard
+ if err := json.Unmarshal(data, &res); err != nil {
+ return err
+ }
+
+ var m map[string]interface{}
+ json.Unmarshal(data, &m)
+
+ if len(m) == 0 {
+ *r = *EmptyDeliveryPipelineSerialPipelineStagesStrategyStandard
+ } else {
+
+ r.Verify = res.Verify
+
+ }
+ return nil
+}
+
+// This object is used to assert a desired state where this DeliveryPipelineSerialPipelineStagesStrategyStandard is
+// empty. Go lacks global const objects, but this object should be treated
+// as one. Modifying this object will have undesirable results.
+var EmptyDeliveryPipelineSerialPipelineStagesStrategyStandard *DeliveryPipelineSerialPipelineStagesStrategyStandard = &DeliveryPipelineSerialPipelineStagesStrategyStandard{empty: true}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyStandard) Empty() bool {
+ return r.empty
+}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyStandard) String() string {
+ return dcl.SprintResource(r)
+}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyStandard) HashCode() string {
+ // Placeholder for a more complex hash method that handles ordering, etc
+ // Hash resource body for easy comparison later
+ hash := sha256.New().Sum([]byte(r.String()))
+ return fmt.Sprintf("%x", hash)
+}
+
+type DeliveryPipelineSerialPipelineStagesStrategyCanary struct {
+ empty bool `json:"-"`
+ RuntimeConfig *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig `json:"runtimeConfig"`
+ CanaryDeployment *DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment `json:"canaryDeployment"`
+ CustomCanaryDeployment *DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment `json:"customCanaryDeployment"`
+}
+
+type jsonDeliveryPipelineSerialPipelineStagesStrategyCanary DeliveryPipelineSerialPipelineStagesStrategyCanary
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanary) UnmarshalJSON(data []byte) error {
+ var res jsonDeliveryPipelineSerialPipelineStagesStrategyCanary
+ if err := json.Unmarshal(data, &res); err != nil {
+ return err
+ }
+
+ var m map[string]interface{}
+ json.Unmarshal(data, &m)
+
+ if len(m) == 0 {
+ *r = *EmptyDeliveryPipelineSerialPipelineStagesStrategyCanary
+ } else {
+
+ r.RuntimeConfig = res.RuntimeConfig
+
+ r.CanaryDeployment = res.CanaryDeployment
+
+ r.CustomCanaryDeployment = res.CustomCanaryDeployment
+
+ }
+ return nil
+}
+
+// This object is used to assert a desired state where this DeliveryPipelineSerialPipelineStagesStrategyCanary is
+// empty. Go lacks global const objects, but this object should be treated
+// as one. Modifying this object will have undesirable results.
+var EmptyDeliveryPipelineSerialPipelineStagesStrategyCanary *DeliveryPipelineSerialPipelineStagesStrategyCanary = &DeliveryPipelineSerialPipelineStagesStrategyCanary{empty: true}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanary) Empty() bool {
+ return r.empty
+}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanary) String() string {
+ return dcl.SprintResource(r)
+}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanary) HashCode() string {
+ // Placeholder for a more complex hash method that handles ordering, etc
+ // Hash resource body for easy comparison later
+ hash := sha256.New().Sum([]byte(r.String()))
+ return fmt.Sprintf("%x", hash)
+}
+
+type DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig struct {
+ empty bool `json:"-"`
+ Kubernetes *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes `json:"kubernetes"`
+ CloudRun *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun `json:"cloudRun"`
+}
+
+type jsonDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig) UnmarshalJSON(data []byte) error {
+ var res jsonDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig
+ if err := json.Unmarshal(data, &res); err != nil {
+ return err
+ }
+
+ var m map[string]interface{}
+ json.Unmarshal(data, &m)
+
+ if len(m) == 0 {
+ *r = *EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig
+ } else {
+
+ r.Kubernetes = res.Kubernetes
+
+ r.CloudRun = res.CloudRun
+
+ }
+ return nil
+}
+
+// This object is used to assert a desired state where this DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig is
+// empty. Go lacks global const objects, but this object should be treated
+// as one. Modifying this object will have undesirable results.
+var EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig = &DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig{empty: true}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig) Empty() bool {
+ return r.empty
+}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig) String() string {
+ return dcl.SprintResource(r)
+}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig) HashCode() string {
+ // Placeholder for a more complex hash method that handles ordering, etc
+ // Hash resource body for easy comparison later
+ hash := sha256.New().Sum([]byte(r.String()))
+ return fmt.Sprintf("%x", hash)
+}
+
+type DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes struct {
+ empty bool `json:"-"`
+ GatewayServiceMesh *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh `json:"gatewayServiceMesh"`
+ ServiceNetworking *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking `json:"serviceNetworking"`
+}
+
+type jsonDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes) UnmarshalJSON(data []byte) error {
+ var res jsonDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes
+ if err := json.Unmarshal(data, &res); err != nil {
+ return err
+ }
+
+ var m map[string]interface{}
+ json.Unmarshal(data, &m)
+
+ if len(m) == 0 {
+ *r = *EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes
+ } else {
+
+ r.GatewayServiceMesh = res.GatewayServiceMesh
+
+ r.ServiceNetworking = res.ServiceNetworking
+
+ }
+ return nil
+}
+
+// This object is used to assert a desired state where this DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes is
+// empty. Go lacks global const objects, but this object should be treated
+// as one. Modifying this object will have undesirable results.
+var EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes = &DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes{empty: true}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes) Empty() bool {
+ return r.empty
+}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes) String() string {
+ return dcl.SprintResource(r)
+}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes) HashCode() string {
+ // Placeholder for a more complex hash method that handles ordering, etc
+ // Hash resource body for easy comparison later
+ hash := sha256.New().Sum([]byte(r.String()))
+ return fmt.Sprintf("%x", hash)
+}
+
+type DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh struct {
+ empty bool `json:"-"`
+ HttpRoute *string `json:"httpRoute"`
+ Service *string `json:"service"`
+ Deployment *string `json:"deployment"`
+}
+
+type jsonDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh) UnmarshalJSON(data []byte) error {
+ var res jsonDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh
+ if err := json.Unmarshal(data, &res); err != nil {
+ return err
+ }
+
+ var m map[string]interface{}
+ json.Unmarshal(data, &m)
+
+ if len(m) == 0 {
+ *r = *EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh
+ } else {
+
+ r.HttpRoute = res.HttpRoute
+
+ r.Service = res.Service
+
+ r.Deployment = res.Deployment
+
+ }
+ return nil
+}
+
+// This object is used to assert a desired state where this DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh is
+// empty. Go lacks global const objects, but this object should be treated
+// as one. Modifying this object will have undesirable results.
+var EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh = &DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh{empty: true}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh) Empty() bool {
+ return r.empty
+}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh) String() string {
+ return dcl.SprintResource(r)
+}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh) HashCode() string {
+ // Placeholder for a more complex hash method that handles ordering, etc
+ // Hash resource body for easy comparison later
+ hash := sha256.New().Sum([]byte(r.String()))
+ return fmt.Sprintf("%x", hash)
+}
+
+type DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking struct {
+ empty bool `json:"-"`
+ Service *string `json:"service"`
+ Deployment *string `json:"deployment"`
+ DisablePodOverprovisioning *bool `json:"disablePodOverprovisioning"`
+}
+
+type jsonDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking) UnmarshalJSON(data []byte) error {
+ var res jsonDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking
+ if err := json.Unmarshal(data, &res); err != nil {
+ return err
+ }
+
+ var m map[string]interface{}
+ json.Unmarshal(data, &m)
+
+ if len(m) == 0 {
+ *r = *EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking
+ } else {
+
+ r.Service = res.Service
+
+ r.Deployment = res.Deployment
+
+ r.DisablePodOverprovisioning = res.DisablePodOverprovisioning
+
+ }
+ return nil
+}
+
+// This object is used to assert a desired state where this DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking is
+// empty. Go lacks global const objects, but this object should be treated
+// as one. Modifying this object will have undesirable results.
+var EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking = &DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking{empty: true}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking) Empty() bool {
+ return r.empty
+}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking) String() string {
+ return dcl.SprintResource(r)
+}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking) HashCode() string {
+ // Placeholder for a more complex hash method that handles ordering, etc
+ // Hash resource body for easy comparison later
+ hash := sha256.New().Sum([]byte(r.String()))
+ return fmt.Sprintf("%x", hash)
+}
+
+type DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun struct {
+ empty bool `json:"-"`
+ AutomaticTrafficControl *bool `json:"automaticTrafficControl"`
+}
+
+type jsonDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun) UnmarshalJSON(data []byte) error {
+ var res jsonDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun
+ if err := json.Unmarshal(data, &res); err != nil {
+ return err
+ }
+
+ var m map[string]interface{}
+ json.Unmarshal(data, &m)
+
+ if len(m) == 0 {
+ *r = *EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun
+ } else {
+
+ r.AutomaticTrafficControl = res.AutomaticTrafficControl
+
+ }
+ return nil
+}
+
+// This object is used to assert a desired state where this DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun is
+// empty. Go lacks global const objects, but this object should be treated
+// as one. Modifying this object will have undesirable results.
+var EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun = &DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun{empty: true}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun) Empty() bool {
+ return r.empty
+}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun) String() string {
+ return dcl.SprintResource(r)
+}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun) HashCode() string {
+ // Placeholder for a more complex hash method that handles ordering, etc
+ // Hash resource body for easy comparison later
+ hash := sha256.New().Sum([]byte(r.String()))
+ return fmt.Sprintf("%x", hash)
+}
+
+type DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment struct {
+ empty bool `json:"-"`
+ Percentages []int64 `json:"percentages"`
+ Verify *bool `json:"verify"`
+}
+
+type jsonDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment) UnmarshalJSON(data []byte) error {
+ var res jsonDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment
+ if err := json.Unmarshal(data, &res); err != nil {
+ return err
+ }
+
+ var m map[string]interface{}
+ json.Unmarshal(data, &m)
+
+ if len(m) == 0 {
+ *r = *EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment
+ } else {
+
+ r.Percentages = res.Percentages
+
+ r.Verify = res.Verify
+
+ }
+ return nil
+}
+
+// This object is used to assert a desired state where this DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment is
+// empty. Go lacks global const objects, but this object should be treated
+// as one. Modifying this object will have undesirable results.
+var EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment *DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment = &DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment{empty: true}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment) Empty() bool {
+ return r.empty
+}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment) String() string {
+ return dcl.SprintResource(r)
+}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment) HashCode() string {
+ // Placeholder for a more complex hash method that handles ordering, etc
+ // Hash resource body for easy comparison later
+ hash := sha256.New().Sum([]byte(r.String()))
+ return fmt.Sprintf("%x", hash)
+}
+
+type DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment struct {
+ empty bool `json:"-"`
+ PhaseConfigs []DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs `json:"phaseConfigs"`
+}
+
+type jsonDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment) UnmarshalJSON(data []byte) error {
+ var res jsonDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment
+ if err := json.Unmarshal(data, &res); err != nil {
+ return err
+ }
+
+ var m map[string]interface{}
+ json.Unmarshal(data, &m)
+
+ if len(m) == 0 {
+ *r = *EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment
+ } else {
+
+ r.PhaseConfigs = res.PhaseConfigs
+
+ }
+ return nil
+}
+
+// This object is used to assert a desired state where this DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment is
+// empty. Go lacks global const objects, but this object should be treated
+// as one. Modifying this object will have undesirable results.
+var EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment *DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment = &DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment{empty: true}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment) Empty() bool {
+ return r.empty
+}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment) String() string {
+ return dcl.SprintResource(r)
+}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment) HashCode() string {
+ // Placeholder for a more complex hash method that handles ordering, etc
+ // Hash resource body for easy comparison later
+ hash := sha256.New().Sum([]byte(r.String()))
+ return fmt.Sprintf("%x", hash)
+}
+
+type DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs struct {
+ empty bool `json:"-"`
+ PhaseId *string `json:"phaseId"`
+ Percentage *int64 `json:"percentage"`
+ Profiles []string `json:"profiles"`
+ Verify *bool `json:"verify"`
+}
+
+type jsonDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs) UnmarshalJSON(data []byte) error {
+ var res jsonDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs
+ if err := json.Unmarshal(data, &res); err != nil {
+ return err
+ }
+
+ var m map[string]interface{}
+ json.Unmarshal(data, &m)
+
+ if len(m) == 0 {
+ *r = *EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs
+ } else {
+
+ r.PhaseId = res.PhaseId
+
+ r.Percentage = res.Percentage
+
+ r.Profiles = res.Profiles
+
+ r.Verify = res.Verify
+
+ }
+ return nil
+}
+
+// This object is used to assert a desired state where this DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs is
+// empty. Go lacks global const objects, but this object should be treated
+// as one. Modifying this object will have undesirable results.
+var EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs *DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs = &DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs{empty: true}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs) Empty() bool {
+ return r.empty
+}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs) String() string {
+ return dcl.SprintResource(r)
+}
+
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs) HashCode() string {
+ // Placeholder for a more complex hash method that handles ordering, etc
+ // Hash resource body for easy comparison later
+ hash := sha256.New().Sum([]byte(r.String()))
+ return fmt.Sprintf("%x", hash)
+}
+
+type DeliveryPipelineSerialPipelineStagesDeployParameters struct {
+ empty bool `json:"-"`
+ Values map[string]string `json:"values"`
+ MatchTargetLabels map[string]string `json:"matchTargetLabels"`
+}
+
+type jsonDeliveryPipelineSerialPipelineStagesDeployParameters DeliveryPipelineSerialPipelineStagesDeployParameters
+
+func (r *DeliveryPipelineSerialPipelineStagesDeployParameters) UnmarshalJSON(data []byte) error {
+ var res jsonDeliveryPipelineSerialPipelineStagesDeployParameters
+ if err := json.Unmarshal(data, &res); err != nil {
+ return err
+ }
+
+ var m map[string]interface{}
+ json.Unmarshal(data, &m)
+
+ if len(m) == 0 {
+ *r = *EmptyDeliveryPipelineSerialPipelineStagesDeployParameters
+ } else {
+
+ r.Values = res.Values
+
+ r.MatchTargetLabels = res.MatchTargetLabels
+
+ }
+ return nil
+}
+
+// This object is used to assert a desired state where this DeliveryPipelineSerialPipelineStagesDeployParameters is
+// empty. Go lacks global const objects, but this object should be treated
+// as one. Modifying this object will have undesirable results.
+var EmptyDeliveryPipelineSerialPipelineStagesDeployParameters *DeliveryPipelineSerialPipelineStagesDeployParameters = &DeliveryPipelineSerialPipelineStagesDeployParameters{empty: true}
+
+func (r *DeliveryPipelineSerialPipelineStagesDeployParameters) Empty() bool {
+ return r.empty
+}
+
+func (r *DeliveryPipelineSerialPipelineStagesDeployParameters) String() string {
+ return dcl.SprintResource(r)
+}
+
+func (r *DeliveryPipelineSerialPipelineStagesDeployParameters) HashCode() string {
+ // Placeholder for a more complex hash method that handles ordering, etc
+ // Hash resource body for easy comparison later
+ hash := sha256.New().Sum([]byte(r.String()))
+ return fmt.Sprintf("%x", hash)
+}
+
type DeliveryPipelineCondition struct {
empty bool `json:"-"`
PipelineReadyCondition *DeliveryPipelineConditionPipelineReadyCondition `json:"pipelineReadyCondition"`
TargetsPresentCondition *DeliveryPipelineConditionTargetsPresentCondition `json:"targetsPresentCondition"`
+ TargetsTypeCondition *DeliveryPipelineConditionTargetsTypeCondition `json:"targetsTypeCondition"`
}
type jsonDeliveryPipelineCondition DeliveryPipelineCondition
@@ -165,6 +766,8 @@ func (r *DeliveryPipelineCondition) UnmarshalJSON(data []byte) error {
r.TargetsPresentCondition = res.TargetsPresentCondition
+ r.TargetsTypeCondition = res.TargetsTypeCondition
+
}
return nil
}
@@ -290,6 +893,55 @@ func (r *DeliveryPipelineConditionTargetsPresentCondition) HashCode() string {
return fmt.Sprintf("%x", hash)
}
+type DeliveryPipelineConditionTargetsTypeCondition struct {
+ empty bool `json:"-"`
+ Status *bool `json:"status"`
+ ErrorDetails *string `json:"errorDetails"`
+}
+
+type jsonDeliveryPipelineConditionTargetsTypeCondition DeliveryPipelineConditionTargetsTypeCondition
+
+func (r *DeliveryPipelineConditionTargetsTypeCondition) UnmarshalJSON(data []byte) error {
+ var res jsonDeliveryPipelineConditionTargetsTypeCondition
+ if err := json.Unmarshal(data, &res); err != nil {
+ return err
+ }
+
+ var m map[string]interface{}
+ json.Unmarshal(data, &m)
+
+ if len(m) == 0 {
+ *r = *EmptyDeliveryPipelineConditionTargetsTypeCondition
+ } else {
+
+ r.Status = res.Status
+
+ r.ErrorDetails = res.ErrorDetails
+
+ }
+ return nil
+}
+
+// This object is used to assert a desired state where this DeliveryPipelineConditionTargetsTypeCondition is
+// empty. Go lacks global const objects, but this object should be treated
+// as one. Modifying this object will have undesirable results.
+var EmptyDeliveryPipelineConditionTargetsTypeCondition *DeliveryPipelineConditionTargetsTypeCondition = &DeliveryPipelineConditionTargetsTypeCondition{empty: true}
+
+func (r *DeliveryPipelineConditionTargetsTypeCondition) Empty() bool {
+ return r.empty
+}
+
+func (r *DeliveryPipelineConditionTargetsTypeCondition) String() string {
+ return dcl.SprintResource(r)
+}
+
+func (r *DeliveryPipelineConditionTargetsTypeCondition) HashCode() string {
+ // Placeholder for a more complex hash method that handles ordering, etc
+ // Hash resource body for easy comparison later
+ hash := sha256.New().Sum([]byte(r.String()))
+ return fmt.Sprintf("%x", hash)
+}
+
// Describe returns a simple description of this resource to ensure that automated tools
// can identify it.
func (r *DeliveryPipeline) Describe() dcl.ServiceTypeVersion {
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/delivery_pipeline.yaml b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/delivery_pipeline.yaml
index cbfa8868d2..fa571e2177 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/delivery_pipeline.yaml
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/delivery_pipeline.yaml
@@ -138,6 +138,24 @@ components:
format: date-time
x-dcl-go-name: UpdateTime
description: Last time the condition was updated.
+ targetsTypeCondition:
+ type: object
+ x-dcl-go-name: TargetsTypeCondition
+ x-dcl-go-type: DeliveryPipelineConditionTargetsTypeCondition
+ description: Details on the whether the targets enumerated in the pipeline
+ are of the same type.
+ properties:
+ errorDetails:
+ type: string
+ x-dcl-go-name: ErrorDetails
+ description: Human readable error message.
+ status:
+ type: boolean
+ x-dcl-go-name: Status
+ description: True if the targets are all a comparable type. For
+ example this is true if all targets are GKE clusters. This is
+ false if some targets are Cloud Run targets and others are GKE
+ clusters.
createTime:
type: string
format: date-time
@@ -206,6 +224,35 @@ components:
type: object
x-dcl-go-type: DeliveryPipelineSerialPipelineStages
properties:
+ deployParameters:
+ type: array
+ x-dcl-go-name: DeployParameters
+ description: Optional. The deploy parameters to use for the target
+ in this stage.
+ x-dcl-send-empty: true
+ x-dcl-list-type: list
+ items:
+ type: object
+ x-dcl-go-type: DeliveryPipelineSerialPipelineStagesDeployParameters
+ required:
+ - values
+ properties:
+ matchTargetLabels:
+ type: object
+ additionalProperties:
+ type: string
+ x-dcl-go-name: MatchTargetLabels
+ description: Optional. Deploy parameters are applied to
+ targets with match labels. If unspecified, deploy parameters
+ are applied to all targets (including child targets of
+ a multi-target).
+ values:
+ type: object
+ additionalProperties:
+ type: string
+ x-dcl-go-name: Values
+ description: Required. Values are deploy parameters in key-value
+ pairs.
profiles:
type: array
x-dcl-go-name: Profiles
@@ -216,6 +263,212 @@ components:
items:
type: string
x-dcl-go-type: string
+ strategy:
+ type: object
+ x-dcl-go-name: Strategy
+ x-dcl-go-type: DeliveryPipelineSerialPipelineStagesStrategy
+ description: Optional. The strategy to use for a `Rollout` to
+ this stage.
+ properties:
+ canary:
+ type: object
+ x-dcl-go-name: Canary
+ x-dcl-go-type: DeliveryPipelineSerialPipelineStagesStrategyCanary
+ description: Canary deployment strategy provides progressive
+ percentage based deployments to a Target.
+ properties:
+ canaryDeployment:
+ type: object
+ x-dcl-go-name: CanaryDeployment
+ x-dcl-go-type: DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment
+ description: Configures the progressive based deployment
+ for a Target.
+ x-dcl-conflicts:
+ - customCanaryDeployment
+ required:
+ - percentages
+ properties:
+ percentages:
+ type: array
+ x-dcl-go-name: Percentages
+ description: Required. The percentage based deployments
+ that will occur as a part of a `Rollout`. List is
+ expected in ascending order and each integer n is
+ 0 <= n < 100.
+ x-dcl-send-empty: true
+ x-dcl-list-type: list
+ items:
+ type: integer
+ format: int64
+ x-dcl-go-type: int64
+ verify:
+ type: boolean
+ x-dcl-go-name: Verify
+ description: Whether to run verify tests after each
+ percentage deployment.
+ customCanaryDeployment:
+ type: object
+ x-dcl-go-name: CustomCanaryDeployment
+ x-dcl-go-type: DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment
+ description: Configures the progressive based deployment
+ for a Target, but allows customizing at the phase level
+ where a phase represents each of the percentage deployments.
+ x-dcl-conflicts:
+ - canaryDeployment
+ required:
+ - phaseConfigs
+ properties:
+ phaseConfigs:
+ type: array
+ x-dcl-go-name: PhaseConfigs
+ description: Required. Configuration for each phase
+ in the canary deployment in the order executed.
+ x-dcl-send-empty: true
+ x-dcl-list-type: list
+ items:
+ type: object
+ x-dcl-go-type: DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs
+ required:
+ - phaseId
+ - percentage
+ properties:
+ percentage:
+ type: integer
+ format: int64
+ x-dcl-go-name: Percentage
+ description: Required. Percentage deployment
+ for the phase.
+ phaseId:
+ type: string
+ x-dcl-go-name: PhaseId
+ description: 'Required. The ID to assign to
+ the `Rollout` phase. This value must consist
+ of lower-case letters, numbers, and hyphens,
+ start with a letter and end with a letter
+ or a number, and have a max length of 63 characters.
+ In other words, it must match the following
+ regex: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.'
+ profiles:
+ type: array
+ x-dcl-go-name: Profiles
+ description: Skaffold profiles to use when rendering
+ the manifest for this phase. These are in
+ addition to the profiles list specified in
+ the `DeliveryPipeline` stage.
+ x-dcl-send-empty: true
+ x-dcl-list-type: list
+ items:
+ type: string
+ x-dcl-go-type: string
+ verify:
+ type: boolean
+ x-dcl-go-name: Verify
+ description: Whether to run verify tests after
+ the deployment.
+ runtimeConfig:
+ type: object
+ x-dcl-go-name: RuntimeConfig
+ x-dcl-go-type: DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig
+ description: Optional. Runtime specific configurations
+ for the deployment strategy. The runtime configuration
+ is used to determine how Cloud Deploy will split traffic
+ to enable a progressive deployment.
+ properties:
+ cloudRun:
+ type: object
+ x-dcl-go-name: CloudRun
+ x-dcl-go-type: DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun
+ description: Cloud Run runtime configuration.
+ x-dcl-conflicts:
+ - kubernetes
+ properties:
+ automaticTrafficControl:
+ type: boolean
+ x-dcl-go-name: AutomaticTrafficControl
+ description: Whether Cloud Deploy should update
+ the traffic stanza in a Cloud Run Service on
+ the user's behalf to facilitate traffic splitting.
+ This is required to be true for CanaryDeployments,
+ but optional for CustomCanaryDeployments.
+ kubernetes:
+ type: object
+ x-dcl-go-name: Kubernetes
+ x-dcl-go-type: DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes
+ description: Kubernetes runtime configuration.
+ x-dcl-conflicts:
+ - cloudRun
+ properties:
+ gatewayServiceMesh:
+ type: object
+ x-dcl-go-name: GatewayServiceMesh
+ x-dcl-go-type: DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh
+ description: Kubernetes Gateway API service mesh
+ configuration.
+ x-dcl-conflicts:
+ - serviceNetworking
+ required:
+ - httpRoute
+ - service
+ - deployment
+ properties:
+ deployment:
+ type: string
+ x-dcl-go-name: Deployment
+ description: Required. Name of the Kubernetes
+ Deployment whose traffic is managed by the
+ specified HTTPRoute and Service.
+ httpRoute:
+ type: string
+ x-dcl-go-name: HttpRoute
+ description: Required. Name of the Gateway
+ API HTTPRoute.
+ service:
+ type: string
+ x-dcl-go-name: Service
+ description: Required. Name of the Kubernetes
+ Service.
+ serviceNetworking:
+ type: object
+ x-dcl-go-name: ServiceNetworking
+ x-dcl-go-type: DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking
+ description: Kubernetes Service networking configuration.
+ x-dcl-conflicts:
+ - gatewayServiceMesh
+ required:
+ - service
+ - deployment
+ properties:
+ deployment:
+ type: string
+ x-dcl-go-name: Deployment
+ description: Required. Name of the Kubernetes
+ Deployment whose traffic is managed by the
+ specified Service.
+ disablePodOverprovisioning:
+ type: boolean
+ x-dcl-go-name: DisablePodOverprovisioning
+ description: Optional. Whether to disable
+ Pod overprovisioning. If Pod overprovisioning
+ is disabled then Cloud Deploy will limit
+ the number of total Pods used for the deployment
+ strategy to the number of Pods the Deployment
+ has on the cluster.
+ service:
+ type: string
+ x-dcl-go-name: Service
+ description: Required. Name of the Kubernetes
+ Service.
+ standard:
+ type: object
+ x-dcl-go-name: Standard
+ x-dcl-go-type: DeliveryPipelineSerialPipelineStagesStrategyStandard
+ description: Standard deployment strategy executes a single
+ deploy and allows verifying the deployment.
+ properties:
+ verify:
+ type: boolean
+ x-dcl-go-name: Verify
+ description: Whether to verify a deployment.
targetId:
type: string
x-dcl-go-name: TargetId
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/delivery_pipeline_internal.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/delivery_pipeline_internal.go
index 26828a985a..6ffe828baf 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/delivery_pipeline_internal.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/delivery_pipeline_internal.go
@@ -52,6 +52,131 @@ func (r *DeliveryPipelineSerialPipeline) validate() error {
return nil
}
func (r *DeliveryPipelineSerialPipelineStages) validate() error {
+ if !dcl.IsEmptyValueIndirect(r.Strategy) {
+ if err := r.Strategy.validate(); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+func (r *DeliveryPipelineSerialPipelineStagesStrategy) validate() error {
+ if !dcl.IsEmptyValueIndirect(r.Standard) {
+ if err := r.Standard.validate(); err != nil {
+ return err
+ }
+ }
+ if !dcl.IsEmptyValueIndirect(r.Canary) {
+ if err := r.Canary.validate(); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+func (r *DeliveryPipelineSerialPipelineStagesStrategyStandard) validate() error {
+ return nil
+}
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanary) validate() error {
+ if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"CanaryDeployment", "CustomCanaryDeployment"}, r.CanaryDeployment, r.CustomCanaryDeployment); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(r.RuntimeConfig) {
+ if err := r.RuntimeConfig.validate(); err != nil {
+ return err
+ }
+ }
+ if !dcl.IsEmptyValueIndirect(r.CanaryDeployment) {
+ if err := r.CanaryDeployment.validate(); err != nil {
+ return err
+ }
+ }
+ if !dcl.IsEmptyValueIndirect(r.CustomCanaryDeployment) {
+ if err := r.CustomCanaryDeployment.validate(); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig) validate() error {
+ if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"Kubernetes", "CloudRun"}, r.Kubernetes, r.CloudRun); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(r.Kubernetes) {
+ if err := r.Kubernetes.validate(); err != nil {
+ return err
+ }
+ }
+ if !dcl.IsEmptyValueIndirect(r.CloudRun) {
+ if err := r.CloudRun.validate(); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes) validate() error {
+ if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"GatewayServiceMesh", "ServiceNetworking"}, r.GatewayServiceMesh, r.ServiceNetworking); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(r.GatewayServiceMesh) {
+ if err := r.GatewayServiceMesh.validate(); err != nil {
+ return err
+ }
+ }
+ if !dcl.IsEmptyValueIndirect(r.ServiceNetworking) {
+ if err := r.ServiceNetworking.validate(); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh) validate() error {
+ if err := dcl.Required(r, "httpRoute"); err != nil {
+ return err
+ }
+ if err := dcl.Required(r, "service"); err != nil {
+ return err
+ }
+ if err := dcl.Required(r, "deployment"); err != nil {
+ return err
+ }
+ return nil
+}
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking) validate() error {
+ if err := dcl.Required(r, "service"); err != nil {
+ return err
+ }
+ if err := dcl.Required(r, "deployment"); err != nil {
+ return err
+ }
+ return nil
+}
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun) validate() error {
+ return nil
+}
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment) validate() error {
+ if err := dcl.Required(r, "percentages"); err != nil {
+ return err
+ }
+ return nil
+}
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment) validate() error {
+ if err := dcl.Required(r, "phaseConfigs"); err != nil {
+ return err
+ }
+ return nil
+}
+func (r *DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs) validate() error {
+ if err := dcl.Required(r, "phaseId"); err != nil {
+ return err
+ }
+ if err := dcl.Required(r, "percentage"); err != nil {
+ return err
+ }
+ return nil
+}
+func (r *DeliveryPipelineSerialPipelineStagesDeployParameters) validate() error {
+ if err := dcl.Required(r, "values"); err != nil {
+ return err
+ }
return nil
}
func (r *DeliveryPipelineCondition) validate() error {
@@ -65,6 +190,11 @@ func (r *DeliveryPipelineCondition) validate() error {
return err
}
}
+ if !dcl.IsEmptyValueIndirect(r.TargetsTypeCondition) {
+ if err := r.TargetsTypeCondition.validate(); err != nil {
+ return err
+ }
+ }
return nil
}
func (r *DeliveryPipelineConditionPipelineReadyCondition) validate() error {
@@ -73,6 +203,9 @@ func (r *DeliveryPipelineConditionPipelineReadyCondition) validate() error {
func (r *DeliveryPipelineConditionTargetsPresentCondition) validate() error {
return nil
}
+func (r *DeliveryPipelineConditionTargetsTypeCondition) validate() error {
+ return nil
+}
func (r *DeliveryPipeline) basePath() string {
params := map[string]interface{}{}
return dcl.Nprintf("https://clouddeploy.googleapis.com/v1/", params)
@@ -785,6 +918,8 @@ func canonicalizeDeliveryPipelineSerialPipelineStages(des, initial *DeliveryPipe
} else {
cDes.Profiles = des.Profiles
}
+ cDes.Strategy = canonicalizeDeliveryPipelineSerialPipelineStagesStrategy(des.Strategy, initial.Strategy, opts...)
+ cDes.DeployParameters = canonicalizeDeliveryPipelineSerialPipelineStagesDeployParametersSlice(des.DeployParameters, initial.DeployParameters, opts...)
return cDes
}
@@ -837,6 +972,8 @@ func canonicalizeNewDeliveryPipelineSerialPipelineStages(c *Client, des, nw *Del
if dcl.StringArrayCanonicalize(des.Profiles, nw.Profiles) {
nw.Profiles = des.Profiles
}
+ nw.Strategy = canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategy(c, des.Strategy, nw.Strategy)
+ nw.DeployParameters = canonicalizeNewDeliveryPipelineSerialPipelineStagesDeployParametersSlice(c, des.DeployParameters, nw.DeployParameters)
return nw
}
@@ -887,7 +1024,7 @@ func canonicalizeNewDeliveryPipelineSerialPipelineStagesSlice(c *Client, des, nw
return items
}
-func canonicalizeDeliveryPipelineCondition(des, initial *DeliveryPipelineCondition, opts ...dcl.ApplyOption) *DeliveryPipelineCondition {
+func canonicalizeDeliveryPipelineSerialPipelineStagesStrategy(des, initial *DeliveryPipelineSerialPipelineStagesStrategy, opts ...dcl.ApplyOption) *DeliveryPipelineSerialPipelineStagesStrategy {
if des == nil {
return initial
}
@@ -899,24 +1036,24 @@ func canonicalizeDeliveryPipelineCondition(des, initial *DeliveryPipelineConditi
return des
}
- cDes := &DeliveryPipelineCondition{}
+ cDes := &DeliveryPipelineSerialPipelineStagesStrategy{}
- cDes.PipelineReadyCondition = canonicalizeDeliveryPipelineConditionPipelineReadyCondition(des.PipelineReadyCondition, initial.PipelineReadyCondition, opts...)
- cDes.TargetsPresentCondition = canonicalizeDeliveryPipelineConditionTargetsPresentCondition(des.TargetsPresentCondition, initial.TargetsPresentCondition, opts...)
+ cDes.Standard = canonicalizeDeliveryPipelineSerialPipelineStagesStrategyStandard(des.Standard, initial.Standard, opts...)
+ cDes.Canary = canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanary(des.Canary, initial.Canary, opts...)
return cDes
}
-func canonicalizeDeliveryPipelineConditionSlice(des, initial []DeliveryPipelineCondition, opts ...dcl.ApplyOption) []DeliveryPipelineCondition {
+func canonicalizeDeliveryPipelineSerialPipelineStagesStrategySlice(des, initial []DeliveryPipelineSerialPipelineStagesStrategy, opts ...dcl.ApplyOption) []DeliveryPipelineSerialPipelineStagesStrategy {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
- items := make([]DeliveryPipelineCondition, 0, len(des))
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategy, 0, len(des))
for _, d := range des {
- cd := canonicalizeDeliveryPipelineCondition(&d, nil, opts...)
+ cd := canonicalizeDeliveryPipelineSerialPipelineStagesStrategy(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
@@ -924,9 +1061,9 @@ func canonicalizeDeliveryPipelineConditionSlice(des, initial []DeliveryPipelineC
return items
}
- items := make([]DeliveryPipelineCondition, 0, len(des))
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategy, 0, len(des))
for i, d := range des {
- cd := canonicalizeDeliveryPipelineCondition(&d, &initial[i], opts...)
+ cd := canonicalizeDeliveryPipelineSerialPipelineStagesStrategy(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
@@ -935,7 +1072,7 @@ func canonicalizeDeliveryPipelineConditionSlice(des, initial []DeliveryPipelineC
}
-func canonicalizeNewDeliveryPipelineCondition(c *Client, des, nw *DeliveryPipelineCondition) *DeliveryPipelineCondition {
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategy(c *Client, des, nw *DeliveryPipelineSerialPipelineStagesStrategy) *DeliveryPipelineSerialPipelineStagesStrategy {
if des == nil {
return nw
@@ -943,35 +1080,35 @@ func canonicalizeNewDeliveryPipelineCondition(c *Client, des, nw *DeliveryPipeli
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DeliveryPipelineCondition while comparing non-nil desired to nil actual. Returning desired object.")
+ c.Config.Logger.Info("Found explicitly empty value for DeliveryPipelineSerialPipelineStagesStrategy while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
- nw.PipelineReadyCondition = canonicalizeNewDeliveryPipelineConditionPipelineReadyCondition(c, des.PipelineReadyCondition, nw.PipelineReadyCondition)
- nw.TargetsPresentCondition = canonicalizeNewDeliveryPipelineConditionTargetsPresentCondition(c, des.TargetsPresentCondition, nw.TargetsPresentCondition)
+ nw.Standard = canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyStandard(c, des.Standard, nw.Standard)
+ nw.Canary = canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanary(c, des.Canary, nw.Canary)
return nw
}
-func canonicalizeNewDeliveryPipelineConditionSet(c *Client, des, nw []DeliveryPipelineCondition) []DeliveryPipelineCondition {
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategySet(c *Client, des, nw []DeliveryPipelineSerialPipelineStagesStrategy) []DeliveryPipelineSerialPipelineStagesStrategy {
if des == nil {
return nw
}
// Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DeliveryPipelineCondition
+ var items []DeliveryPipelineSerialPipelineStagesStrategy
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
- if diffs, _ := compareDeliveryPipelineConditionNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
+ if diffs, _ := compareDeliveryPipelineSerialPipelineStagesStrategyNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDeliveryPipelineCondition(c, &d, &nw[matchedIndex]))
+ items = append(items, *canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategy(c, &d, &nw[matchedIndex]))
nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
}
}
@@ -981,7 +1118,7 @@ func canonicalizeNewDeliveryPipelineConditionSet(c *Client, des, nw []DeliveryPi
return items
}
-func canonicalizeNewDeliveryPipelineConditionSlice(c *Client, des, nw []DeliveryPipelineCondition) []DeliveryPipelineCondition {
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategySlice(c *Client, des, nw []DeliveryPipelineSerialPipelineStagesStrategy) []DeliveryPipelineSerialPipelineStagesStrategy {
if des == nil {
return nw
}
@@ -992,16 +1129,16 @@ func canonicalizeNewDeliveryPipelineConditionSlice(c *Client, des, nw []Delivery
return nw
}
- var items []DeliveryPipelineCondition
+ var items []DeliveryPipelineSerialPipelineStagesStrategy
for i, d := range des {
n := nw[i]
- items = append(items, *canonicalizeNewDeliveryPipelineCondition(c, &d, &n))
+ items = append(items, *canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategy(c, &d, &n))
}
return items
}
-func canonicalizeDeliveryPipelineConditionPipelineReadyCondition(des, initial *DeliveryPipelineConditionPipelineReadyCondition, opts ...dcl.ApplyOption) *DeliveryPipelineConditionPipelineReadyCondition {
+func canonicalizeDeliveryPipelineSerialPipelineStagesStrategyStandard(des, initial *DeliveryPipelineSerialPipelineStagesStrategyStandard, opts ...dcl.ApplyOption) *DeliveryPipelineSerialPipelineStagesStrategyStandard {
if des == nil {
return initial
}
@@ -1013,33 +1150,27 @@ func canonicalizeDeliveryPipelineConditionPipelineReadyCondition(des, initial *D
return des
}
- cDes := &DeliveryPipelineConditionPipelineReadyCondition{}
+ cDes := &DeliveryPipelineSerialPipelineStagesStrategyStandard{}
- if dcl.BoolCanonicalize(des.Status, initial.Status) || dcl.IsZeroValue(des.Status) {
- cDes.Status = initial.Status
- } else {
- cDes.Status = des.Status
- }
- if dcl.IsZeroValue(des.UpdateTime) || (dcl.IsEmptyValueIndirect(des.UpdateTime) && dcl.IsEmptyValueIndirect(initial.UpdateTime)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.UpdateTime = initial.UpdateTime
+ if dcl.BoolCanonicalize(des.Verify, initial.Verify) || dcl.IsZeroValue(des.Verify) {
+ cDes.Verify = initial.Verify
} else {
- cDes.UpdateTime = des.UpdateTime
+ cDes.Verify = des.Verify
}
return cDes
}
-func canonicalizeDeliveryPipelineConditionPipelineReadyConditionSlice(des, initial []DeliveryPipelineConditionPipelineReadyCondition, opts ...dcl.ApplyOption) []DeliveryPipelineConditionPipelineReadyCondition {
+func canonicalizeDeliveryPipelineSerialPipelineStagesStrategyStandardSlice(des, initial []DeliveryPipelineSerialPipelineStagesStrategyStandard, opts ...dcl.ApplyOption) []DeliveryPipelineSerialPipelineStagesStrategyStandard {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
- items := make([]DeliveryPipelineConditionPipelineReadyCondition, 0, len(des))
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategyStandard, 0, len(des))
for _, d := range des {
- cd := canonicalizeDeliveryPipelineConditionPipelineReadyCondition(&d, nil, opts...)
+ cd := canonicalizeDeliveryPipelineSerialPipelineStagesStrategyStandard(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
@@ -1047,9 +1178,9 @@ func canonicalizeDeliveryPipelineConditionPipelineReadyConditionSlice(des, initi
return items
}
- items := make([]DeliveryPipelineConditionPipelineReadyCondition, 0, len(des))
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategyStandard, 0, len(des))
for i, d := range des {
- cd := canonicalizeDeliveryPipelineConditionPipelineReadyCondition(&d, &initial[i], opts...)
+ cd := canonicalizeDeliveryPipelineSerialPipelineStagesStrategyStandard(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
@@ -1058,7 +1189,7 @@ func canonicalizeDeliveryPipelineConditionPipelineReadyConditionSlice(des, initi
}
-func canonicalizeNewDeliveryPipelineConditionPipelineReadyCondition(c *Client, des, nw *DeliveryPipelineConditionPipelineReadyCondition) *DeliveryPipelineConditionPipelineReadyCondition {
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyStandard(c *Client, des, nw *DeliveryPipelineSerialPipelineStagesStrategyStandard) *DeliveryPipelineSerialPipelineStagesStrategyStandard {
if des == nil {
return nw
@@ -1066,36 +1197,36 @@ func canonicalizeNewDeliveryPipelineConditionPipelineReadyCondition(c *Client, d
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DeliveryPipelineConditionPipelineReadyCondition while comparing non-nil desired to nil actual. Returning desired object.")
+ c.Config.Logger.Info("Found explicitly empty value for DeliveryPipelineSerialPipelineStagesStrategyStandard while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
- if dcl.BoolCanonicalize(des.Status, nw.Status) {
- nw.Status = des.Status
+ if dcl.BoolCanonicalize(des.Verify, nw.Verify) {
+ nw.Verify = des.Verify
}
return nw
}
-func canonicalizeNewDeliveryPipelineConditionPipelineReadyConditionSet(c *Client, des, nw []DeliveryPipelineConditionPipelineReadyCondition) []DeliveryPipelineConditionPipelineReadyCondition {
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyStandardSet(c *Client, des, nw []DeliveryPipelineSerialPipelineStagesStrategyStandard) []DeliveryPipelineSerialPipelineStagesStrategyStandard {
if des == nil {
return nw
}
// Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DeliveryPipelineConditionPipelineReadyCondition
+ var items []DeliveryPipelineSerialPipelineStagesStrategyStandard
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
- if diffs, _ := compareDeliveryPipelineConditionPipelineReadyConditionNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
+ if diffs, _ := compareDeliveryPipelineSerialPipelineStagesStrategyStandardNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDeliveryPipelineConditionPipelineReadyCondition(c, &d, &nw[matchedIndex]))
+ items = append(items, *canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyStandard(c, &d, &nw[matchedIndex]))
nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
}
}
@@ -1105,7 +1236,7 @@ func canonicalizeNewDeliveryPipelineConditionPipelineReadyConditionSet(c *Client
return items
}
-func canonicalizeNewDeliveryPipelineConditionPipelineReadyConditionSlice(c *Client, des, nw []DeliveryPipelineConditionPipelineReadyCondition) []DeliveryPipelineConditionPipelineReadyCondition {
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyStandardSlice(c *Client, des, nw []DeliveryPipelineSerialPipelineStagesStrategyStandard) []DeliveryPipelineSerialPipelineStagesStrategyStandard {
if des == nil {
return nw
}
@@ -1116,16 +1247,16 @@ func canonicalizeNewDeliveryPipelineConditionPipelineReadyConditionSlice(c *Clie
return nw
}
- var items []DeliveryPipelineConditionPipelineReadyCondition
+ var items []DeliveryPipelineSerialPipelineStagesStrategyStandard
for i, d := range des {
n := nw[i]
- items = append(items, *canonicalizeNewDeliveryPipelineConditionPipelineReadyCondition(c, &d, &n))
+ items = append(items, *canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyStandard(c, &d, &n))
}
return items
}
-func canonicalizeDeliveryPipelineConditionTargetsPresentCondition(des, initial *DeliveryPipelineConditionTargetsPresentCondition, opts ...dcl.ApplyOption) *DeliveryPipelineConditionTargetsPresentCondition {
+func canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanary(des, initial *DeliveryPipelineSerialPipelineStagesStrategyCanary, opts ...dcl.ApplyOption) *DeliveryPipelineSerialPipelineStagesStrategyCanary {
if des == nil {
return initial
}
@@ -1133,42 +1264,49 @@ func canonicalizeDeliveryPipelineConditionTargetsPresentCondition(des, initial *
return des
}
+ if des.CanaryDeployment != nil || (initial != nil && initial.CanaryDeployment != nil) {
+ // Check if anything else is set.
+ if dcl.AnySet(des.CustomCanaryDeployment) {
+ des.CanaryDeployment = nil
+ if initial != nil {
+ initial.CanaryDeployment = nil
+ }
+ }
+ }
+
+ if des.CustomCanaryDeployment != nil || (initial != nil && initial.CustomCanaryDeployment != nil) {
+ // Check if anything else is set.
+ if dcl.AnySet(des.CanaryDeployment) {
+ des.CustomCanaryDeployment = nil
+ if initial != nil {
+ initial.CustomCanaryDeployment = nil
+ }
+ }
+ }
+
if initial == nil {
return des
}
- cDes := &DeliveryPipelineConditionTargetsPresentCondition{}
+ cDes := &DeliveryPipelineSerialPipelineStagesStrategyCanary{}
- if dcl.BoolCanonicalize(des.Status, initial.Status) || dcl.IsZeroValue(des.Status) {
- cDes.Status = initial.Status
- } else {
- cDes.Status = des.Status
- }
- if dcl.StringArrayCanonicalize(des.MissingTargets, initial.MissingTargets) {
- cDes.MissingTargets = initial.MissingTargets
- } else {
- cDes.MissingTargets = des.MissingTargets
- }
- if dcl.IsZeroValue(des.UpdateTime) || (dcl.IsEmptyValueIndirect(des.UpdateTime) && dcl.IsEmptyValueIndirect(initial.UpdateTime)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.UpdateTime = initial.UpdateTime
- } else {
- cDes.UpdateTime = des.UpdateTime
- }
+ cDes.RuntimeConfig = canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig(des.RuntimeConfig, initial.RuntimeConfig, opts...)
+ cDes.CanaryDeployment = canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment(des.CanaryDeployment, initial.CanaryDeployment, opts...)
+ cDes.CustomCanaryDeployment = canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment(des.CustomCanaryDeployment, initial.CustomCanaryDeployment, opts...)
return cDes
}
-func canonicalizeDeliveryPipelineConditionTargetsPresentConditionSlice(des, initial []DeliveryPipelineConditionTargetsPresentCondition, opts ...dcl.ApplyOption) []DeliveryPipelineConditionTargetsPresentCondition {
+func canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanarySlice(des, initial []DeliveryPipelineSerialPipelineStagesStrategyCanary, opts ...dcl.ApplyOption) []DeliveryPipelineSerialPipelineStagesStrategyCanary {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
- items := make([]DeliveryPipelineConditionTargetsPresentCondition, 0, len(des))
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategyCanary, 0, len(des))
for _, d := range des {
- cd := canonicalizeDeliveryPipelineConditionTargetsPresentCondition(&d, nil, opts...)
+ cd := canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanary(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
@@ -1176,9 +1314,9 @@ func canonicalizeDeliveryPipelineConditionTargetsPresentConditionSlice(des, init
return items
}
- items := make([]DeliveryPipelineConditionTargetsPresentCondition, 0, len(des))
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategyCanary, 0, len(des))
for i, d := range des {
- cd := canonicalizeDeliveryPipelineConditionTargetsPresentCondition(&d, &initial[i], opts...)
+ cd := canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanary(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
@@ -1187,7 +1325,7 @@ func canonicalizeDeliveryPipelineConditionTargetsPresentConditionSlice(des, init
}
-func canonicalizeNewDeliveryPipelineConditionTargetsPresentCondition(c *Client, des, nw *DeliveryPipelineConditionTargetsPresentCondition) *DeliveryPipelineConditionTargetsPresentCondition {
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanary(c *Client, des, nw *DeliveryPipelineSerialPipelineStagesStrategyCanary) *DeliveryPipelineSerialPipelineStagesStrategyCanary {
if des == nil {
return nw
@@ -1195,39 +1333,36 @@ func canonicalizeNewDeliveryPipelineConditionTargetsPresentCondition(c *Client,
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DeliveryPipelineConditionTargetsPresentCondition while comparing non-nil desired to nil actual. Returning desired object.")
+ c.Config.Logger.Info("Found explicitly empty value for DeliveryPipelineSerialPipelineStagesStrategyCanary while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
- if dcl.BoolCanonicalize(des.Status, nw.Status) {
- nw.Status = des.Status
- }
- if dcl.StringArrayCanonicalize(des.MissingTargets, nw.MissingTargets) {
- nw.MissingTargets = des.MissingTargets
- }
+ nw.RuntimeConfig = canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig(c, des.RuntimeConfig, nw.RuntimeConfig)
+ nw.CanaryDeployment = canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment(c, des.CanaryDeployment, nw.CanaryDeployment)
+ nw.CustomCanaryDeployment = canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment(c, des.CustomCanaryDeployment, nw.CustomCanaryDeployment)
return nw
}
-func canonicalizeNewDeliveryPipelineConditionTargetsPresentConditionSet(c *Client, des, nw []DeliveryPipelineConditionTargetsPresentCondition) []DeliveryPipelineConditionTargetsPresentCondition {
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanarySet(c *Client, des, nw []DeliveryPipelineSerialPipelineStagesStrategyCanary) []DeliveryPipelineSerialPipelineStagesStrategyCanary {
if des == nil {
return nw
}
// Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DeliveryPipelineConditionTargetsPresentCondition
+ var items []DeliveryPipelineSerialPipelineStagesStrategyCanary
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
- if diffs, _ := compareDeliveryPipelineConditionTargetsPresentConditionNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
+ if diffs, _ := compareDeliveryPipelineSerialPipelineStagesStrategyCanaryNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDeliveryPipelineConditionTargetsPresentCondition(c, &d, &nw[matchedIndex]))
+ items = append(items, *canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanary(c, &d, &nw[matchedIndex]))
nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
}
}
@@ -1237,7 +1372,7 @@ func canonicalizeNewDeliveryPipelineConditionTargetsPresentConditionSet(c *Clien
return items
}
-func canonicalizeNewDeliveryPipelineConditionTargetsPresentConditionSlice(c *Client, des, nw []DeliveryPipelineConditionTargetsPresentCondition) []DeliveryPipelineConditionTargetsPresentCondition {
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanarySlice(c *Client, des, nw []DeliveryPipelineSerialPipelineStagesStrategyCanary) []DeliveryPipelineSerialPipelineStagesStrategyCanary {
if des == nil {
return nw
}
@@ -1248,448 +1383,4046 @@ func canonicalizeNewDeliveryPipelineConditionTargetsPresentConditionSlice(c *Cli
return nw
}
- var items []DeliveryPipelineConditionTargetsPresentCondition
+ var items []DeliveryPipelineSerialPipelineStagesStrategyCanary
for i, d := range des {
n := nw[i]
- items = append(items, *canonicalizeNewDeliveryPipelineConditionTargetsPresentCondition(c, &d, &n))
+ items = append(items, *canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanary(c, &d, &n))
}
return items
}
-// The differ returns a list of diffs, along with a list of operations that should be taken
-// to remedy them. Right now, it does not attempt to consolidate operations - if several
-// fields can be fixed with a patch update, it will perform the patch several times.
-// Diffs on some fields will be ignored if the `desired` state has an empty (nil)
-// value. This empty value indicates that the user does not care about the state for
-// the field. Empty fields on the actual object will cause diffs.
-// TODO(magic-modules-eng): for efficiency in some resources, add batching.
-func diffDeliveryPipeline(c *Client, desired, actual *DeliveryPipeline, opts ...dcl.ApplyOption) ([]*dcl.FieldDiff, error) {
- if desired == nil || actual == nil {
- return nil, fmt.Errorf("nil resource passed to diff - always a programming error: %#v, %#v", desired, actual)
+func canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig(des, initial *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig, opts ...dcl.ApplyOption) *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig {
+ if des == nil {
+ return initial
}
-
- c.Config.Logger.Infof("Diff function called with desired state: %v", desired)
- c.Config.Logger.Infof("Diff function called with actual state: %v", actual)
-
- var fn dcl.FieldName
- var newDiffs []*dcl.FieldDiff
- // New style diffs.
- if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Name")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
+ if des.empty {
+ return des
}
- if ds, err := dcl.Diff(desired.Uid, actual.Uid, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Uid")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
+ if des.Kubernetes != nil || (initial != nil && initial.Kubernetes != nil) {
+ // Check if anything else is set.
+ if dcl.AnySet(des.CloudRun) {
+ des.Kubernetes = nil
+ if initial != nil {
+ initial.Kubernetes = nil
+ }
}
- newDiffs = append(newDiffs, ds...)
}
- if ds, err := dcl.Diff(desired.Description, actual.Description, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Description")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
+ if des.CloudRun != nil || (initial != nil && initial.CloudRun != nil) {
+ // Check if anything else is set.
+ if dcl.AnySet(des.Kubernetes) {
+ des.CloudRun = nil
+ if initial != nil {
+ initial.CloudRun = nil
+ }
}
- newDiffs = append(newDiffs, ds...)
}
- if ds, err := dcl.Diff(desired.Annotations, actual.Annotations, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Annotations")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
+ if initial == nil {
+ return des
}
- if ds, err := dcl.Diff(desired.Labels, actual.Labels, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Labels")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
+ cDes := &DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig{}
- if ds, err := dcl.Diff(desired.CreateTime, actual.CreateTime, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("CreateTime")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
+ cDes.Kubernetes = canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes(des.Kubernetes, initial.Kubernetes, opts...)
+ cDes.CloudRun = canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun(des.CloudRun, initial.CloudRun, opts...)
+
+ return cDes
+}
+
+func canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigSlice(des, initial []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig, opts ...dcl.ApplyOption) []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig {
+ if dcl.IsEmptyValueIndirect(des) {
+ return initial
}
- if ds, err := dcl.Diff(desired.UpdateTime, actual.UpdateTime, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("UpdateTime")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
+ if len(des) != len(initial) {
+
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig, 0, len(des))
+ for _, d := range des {
+ cd := canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig(&d, nil, opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
}
- newDiffs = append(newDiffs, ds...)
+ return items
}
- if ds, err := dcl.Diff(desired.SerialPipeline, actual.SerialPipeline, dcl.DiffInfo{ObjectFunction: compareDeliveryPipelineSerialPipelineNewStyle, EmptyObject: EmptyDeliveryPipelineSerialPipeline, OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("SerialPipeline")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig, 0, len(des))
+ for i, d := range des {
+ cd := canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig(&d, &initial[i], opts...)
+ if cd != nil {
+ items = append(items, *cd)
}
- newDiffs = append(newDiffs, ds...)
}
+ return items
+
+}
+
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig(c *Client, des, nw *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig) *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig {
+
+ if des == nil {
+ return nw
+ }
+
+ if nw == nil {
+ if dcl.IsEmptyValueIndirect(des) {
+ c.Config.Logger.Info("Found explicitly empty value for DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig while comparing non-nil desired to nil actual. Returning desired object.")
+ return des
+ }
+ return nil
+ }
+
+ nw.Kubernetes = canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes(c, des.Kubernetes, nw.Kubernetes)
+ nw.CloudRun = canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun(c, des.CloudRun, nw.CloudRun)
+
+ return nw
+}
+
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigSet(c *Client, des, nw []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig) []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig {
+ if des == nil {
+ return nw
+ }
+
+ // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
+ var items []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig
+ for _, d := range des {
+ matchedIndex := -1
+ for i, n := range nw {
+ if diffs, _ := compareDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
+ matchedIndex = i
+ break
+ }
+ }
+ if matchedIndex != -1 {
+ items = append(items, *canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig(c, &d, &nw[matchedIndex]))
+ nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
+ }
+ }
+ // Also include elements in nw that are not matched in des.
+ items = append(items, nw...)
+
+ return items
+}
+
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigSlice(c *Client, des, nw []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig) []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig {
+ if des == nil {
+ return nw
+ }
+
+ // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
+ // Return the original array.
+ if len(des) != len(nw) {
+ return nw
+ }
+
+ var items []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig
+ for i, d := range des {
+ n := nw[i]
+ items = append(items, *canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig(c, &d, &n))
+ }
+
+ return items
+}
+
+func canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes(des, initial *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes, opts ...dcl.ApplyOption) *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes {
+ if des == nil {
+ return initial
+ }
+ if des.empty {
+ return des
+ }
+
+ if des.GatewayServiceMesh != nil || (initial != nil && initial.GatewayServiceMesh != nil) {
+ // Check if anything else is set.
+ if dcl.AnySet(des.ServiceNetworking) {
+ des.GatewayServiceMesh = nil
+ if initial != nil {
+ initial.GatewayServiceMesh = nil
+ }
+ }
+ }
+
+ if des.ServiceNetworking != nil || (initial != nil && initial.ServiceNetworking != nil) {
+ // Check if anything else is set.
+ if dcl.AnySet(des.GatewayServiceMesh) {
+ des.ServiceNetworking = nil
+ if initial != nil {
+ initial.ServiceNetworking = nil
+ }
+ }
+ }
+
+ if initial == nil {
+ return des
+ }
+
+ cDes := &DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes{}
+
+ cDes.GatewayServiceMesh = canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh(des.GatewayServiceMesh, initial.GatewayServiceMesh, opts...)
+ cDes.ServiceNetworking = canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking(des.ServiceNetworking, initial.ServiceNetworking, opts...)
+
+ return cDes
+}
+
+func canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesSlice(des, initial []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes, opts ...dcl.ApplyOption) []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes {
+ if dcl.IsEmptyValueIndirect(des) {
+ return initial
+ }
+
+ if len(des) != len(initial) {
+
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes, 0, len(des))
+ for _, d := range des {
+ cd := canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes(&d, nil, opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+ }
+
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes, 0, len(des))
+ for i, d := range des {
+ cd := canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes(&d, &initial[i], opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+
+}
+
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes(c *Client, des, nw *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes) *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes {
+
+ if des == nil {
+ return nw
+ }
+
+ if nw == nil {
+ if dcl.IsEmptyValueIndirect(des) {
+ c.Config.Logger.Info("Found explicitly empty value for DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes while comparing non-nil desired to nil actual. Returning desired object.")
+ return des
+ }
+ return nil
+ }
+
+ nw.GatewayServiceMesh = canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh(c, des.GatewayServiceMesh, nw.GatewayServiceMesh)
+ nw.ServiceNetworking = canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking(c, des.ServiceNetworking, nw.ServiceNetworking)
+
+ return nw
+}
+
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesSet(c *Client, des, nw []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes) []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes {
+ if des == nil {
+ return nw
+ }
+
+ // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
+ var items []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes
+ for _, d := range des {
+ matchedIndex := -1
+ for i, n := range nw {
+ if diffs, _ := compareDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
+ matchedIndex = i
+ break
+ }
+ }
+ if matchedIndex != -1 {
+ items = append(items, *canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes(c, &d, &nw[matchedIndex]))
+ nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
+ }
+ }
+ // Also include elements in nw that are not matched in des.
+ items = append(items, nw...)
+
+ return items
+}
+
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesSlice(c *Client, des, nw []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes) []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes {
+ if des == nil {
+ return nw
+ }
+
+ // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
+ // Return the original array.
+ if len(des) != len(nw) {
+ return nw
+ }
+
+ var items []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes
+ for i, d := range des {
+ n := nw[i]
+ items = append(items, *canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes(c, &d, &n))
+ }
+
+ return items
+}
+
+func canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh(des, initial *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh, opts ...dcl.ApplyOption) *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh {
+ if des == nil {
+ return initial
+ }
+ if des.empty {
+ return des
+ }
+
+ if initial == nil {
+ return des
+ }
+
+ cDes := &DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh{}
+
+ if dcl.StringCanonicalize(des.HttpRoute, initial.HttpRoute) || dcl.IsZeroValue(des.HttpRoute) {
+ cDes.HttpRoute = initial.HttpRoute
+ } else {
+ cDes.HttpRoute = des.HttpRoute
+ }
+ if dcl.StringCanonicalize(des.Service, initial.Service) || dcl.IsZeroValue(des.Service) {
+ cDes.Service = initial.Service
+ } else {
+ cDes.Service = des.Service
+ }
+ if dcl.StringCanonicalize(des.Deployment, initial.Deployment) || dcl.IsZeroValue(des.Deployment) {
+ cDes.Deployment = initial.Deployment
+ } else {
+ cDes.Deployment = des.Deployment
+ }
+
+ return cDes
+}
+
+func canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshSlice(des, initial []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh, opts ...dcl.ApplyOption) []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh {
+ if dcl.IsEmptyValueIndirect(des) {
+ return initial
+ }
+
+ if len(des) != len(initial) {
+
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh, 0, len(des))
+ for _, d := range des {
+ cd := canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh(&d, nil, opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+ }
+
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh, 0, len(des))
+ for i, d := range des {
+ cd := canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh(&d, &initial[i], opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+
+}
+
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh(c *Client, des, nw *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh) *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh {
+
+ if des == nil {
+ return nw
+ }
+
+ if nw == nil {
+ if dcl.IsEmptyValueIndirect(des) {
+ c.Config.Logger.Info("Found explicitly empty value for DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh while comparing non-nil desired to nil actual. Returning desired object.")
+ return des
+ }
+ return nil
+ }
+
+ if dcl.StringCanonicalize(des.HttpRoute, nw.HttpRoute) {
+ nw.HttpRoute = des.HttpRoute
+ }
+ if dcl.StringCanonicalize(des.Service, nw.Service) {
+ nw.Service = des.Service
+ }
+ if dcl.StringCanonicalize(des.Deployment, nw.Deployment) {
+ nw.Deployment = des.Deployment
+ }
+
+ return nw
+}
+
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshSet(c *Client, des, nw []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh) []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh {
+ if des == nil {
+ return nw
+ }
+
+ // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
+ var items []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh
+ for _, d := range des {
+ matchedIndex := -1
+ for i, n := range nw {
+ if diffs, _ := compareDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
+ matchedIndex = i
+ break
+ }
+ }
+ if matchedIndex != -1 {
+ items = append(items, *canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh(c, &d, &nw[matchedIndex]))
+ nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
+ }
+ }
+ // Also include elements in nw that are not matched in des.
+ items = append(items, nw...)
+
+ return items
+}
+
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshSlice(c *Client, des, nw []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh) []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh {
+ if des == nil {
+ return nw
+ }
+
+ // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
+ // Return the original array.
+ if len(des) != len(nw) {
+ return nw
+ }
+
+ var items []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh
+ for i, d := range des {
+ n := nw[i]
+ items = append(items, *canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh(c, &d, &n))
+ }
+
+ return items
+}
+
+func canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking(des, initial *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking, opts ...dcl.ApplyOption) *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking {
+ if des == nil {
+ return initial
+ }
+ if des.empty {
+ return des
+ }
+
+ if initial == nil {
+ return des
+ }
+
+ cDes := &DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking{}
+
+ if dcl.StringCanonicalize(des.Service, initial.Service) || dcl.IsZeroValue(des.Service) {
+ cDes.Service = initial.Service
+ } else {
+ cDes.Service = des.Service
+ }
+ if dcl.StringCanonicalize(des.Deployment, initial.Deployment) || dcl.IsZeroValue(des.Deployment) {
+ cDes.Deployment = initial.Deployment
+ } else {
+ cDes.Deployment = des.Deployment
+ }
+ if dcl.BoolCanonicalize(des.DisablePodOverprovisioning, initial.DisablePodOverprovisioning) || dcl.IsZeroValue(des.DisablePodOverprovisioning) {
+ cDes.DisablePodOverprovisioning = initial.DisablePodOverprovisioning
+ } else {
+ cDes.DisablePodOverprovisioning = des.DisablePodOverprovisioning
+ }
+
+ return cDes
+}
+
+func canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworkingSlice(des, initial []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking, opts ...dcl.ApplyOption) []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking {
+ if dcl.IsEmptyValueIndirect(des) {
+ return initial
+ }
+
+ if len(des) != len(initial) {
+
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking, 0, len(des))
+ for _, d := range des {
+ cd := canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking(&d, nil, opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+ }
+
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking, 0, len(des))
+ for i, d := range des {
+ cd := canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking(&d, &initial[i], opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+
+}
+
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking(c *Client, des, nw *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking) *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking {
+
+ if des == nil {
+ return nw
+ }
+
+ if nw == nil {
+ if dcl.IsEmptyValueIndirect(des) {
+ c.Config.Logger.Info("Found explicitly empty value for DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking while comparing non-nil desired to nil actual. Returning desired object.")
+ return des
+ }
+ return nil
+ }
+
+ if dcl.StringCanonicalize(des.Service, nw.Service) {
+ nw.Service = des.Service
+ }
+ if dcl.StringCanonicalize(des.Deployment, nw.Deployment) {
+ nw.Deployment = des.Deployment
+ }
+ if dcl.BoolCanonicalize(des.DisablePodOverprovisioning, nw.DisablePodOverprovisioning) {
+ nw.DisablePodOverprovisioning = des.DisablePodOverprovisioning
+ }
+
+ return nw
+}
+
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworkingSet(c *Client, des, nw []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking) []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking {
+ if des == nil {
+ return nw
+ }
+
+ // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
+ var items []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking
+ for _, d := range des {
+ matchedIndex := -1
+ for i, n := range nw {
+ if diffs, _ := compareDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworkingNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
+ matchedIndex = i
+ break
+ }
+ }
+ if matchedIndex != -1 {
+ items = append(items, *canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking(c, &d, &nw[matchedIndex]))
+ nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
+ }
+ }
+ // Also include elements in nw that are not matched in des.
+ items = append(items, nw...)
+
+ return items
+}
+
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworkingSlice(c *Client, des, nw []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking) []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking {
+ if des == nil {
+ return nw
+ }
+
+ // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
+ // Return the original array.
+ if len(des) != len(nw) {
+ return nw
+ }
+
+ var items []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking
+ for i, d := range des {
+ n := nw[i]
+ items = append(items, *canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking(c, &d, &n))
+ }
+
+ return items
+}
+
+func canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun(des, initial *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun, opts ...dcl.ApplyOption) *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun {
+ if des == nil {
+ return initial
+ }
+ if des.empty {
+ return des
+ }
+
+ if initial == nil {
+ return des
+ }
+
+ cDes := &DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun{}
+
+ if dcl.BoolCanonicalize(des.AutomaticTrafficControl, initial.AutomaticTrafficControl) || dcl.IsZeroValue(des.AutomaticTrafficControl) {
+ cDes.AutomaticTrafficControl = initial.AutomaticTrafficControl
+ } else {
+ cDes.AutomaticTrafficControl = des.AutomaticTrafficControl
+ }
+
+ return cDes
+}
+
+func canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRunSlice(des, initial []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun, opts ...dcl.ApplyOption) []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun {
+ if dcl.IsEmptyValueIndirect(des) {
+ return initial
+ }
+
+ if len(des) != len(initial) {
+
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun, 0, len(des))
+ for _, d := range des {
+ cd := canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun(&d, nil, opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+ }
+
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun, 0, len(des))
+ for i, d := range des {
+ cd := canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun(&d, &initial[i], opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+
+}
+
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun(c *Client, des, nw *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun) *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun {
+
+ if des == nil {
+ return nw
+ }
+
+ if nw == nil {
+ if dcl.IsEmptyValueIndirect(des) {
+ c.Config.Logger.Info("Found explicitly empty value for DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun while comparing non-nil desired to nil actual. Returning desired object.")
+ return des
+ }
+ return nil
+ }
+
+ if dcl.BoolCanonicalize(des.AutomaticTrafficControl, nw.AutomaticTrafficControl) {
+ nw.AutomaticTrafficControl = des.AutomaticTrafficControl
+ }
+
+ return nw
+}
+
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRunSet(c *Client, des, nw []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun) []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun {
+ if des == nil {
+ return nw
+ }
+
+ // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
+ var items []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun
+ for _, d := range des {
+ matchedIndex := -1
+ for i, n := range nw {
+ if diffs, _ := compareDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRunNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
+ matchedIndex = i
+ break
+ }
+ }
+ if matchedIndex != -1 {
+ items = append(items, *canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun(c, &d, &nw[matchedIndex]))
+ nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
+ }
+ }
+ // Also include elements in nw that are not matched in des.
+ items = append(items, nw...)
+
+ return items
+}
+
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRunSlice(c *Client, des, nw []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun) []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun {
+ if des == nil {
+ return nw
+ }
+
+ // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
+ // Return the original array.
+ if len(des) != len(nw) {
+ return nw
+ }
+
+ var items []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun
+ for i, d := range des {
+ n := nw[i]
+ items = append(items, *canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun(c, &d, &n))
+ }
+
+ return items
+}
+
+func canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment(des, initial *DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment, opts ...dcl.ApplyOption) *DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment {
+ if des == nil {
+ return initial
+ }
+ if des.empty {
+ return des
+ }
+
+ if initial == nil {
+ return des
+ }
+
+ cDes := &DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment{}
+
+ if dcl.IsZeroValue(des.Percentages) || (dcl.IsEmptyValueIndirect(des.Percentages) && dcl.IsEmptyValueIndirect(initial.Percentages)) {
+ // Desired and initial values are equivalent, so set canonical desired value to initial value.
+ cDes.Percentages = initial.Percentages
+ } else {
+ cDes.Percentages = des.Percentages
+ }
+ if dcl.BoolCanonicalize(des.Verify, initial.Verify) || dcl.IsZeroValue(des.Verify) {
+ cDes.Verify = initial.Verify
+ } else {
+ cDes.Verify = des.Verify
+ }
+
+ return cDes
+}
+
+func canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeploymentSlice(des, initial []DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment, opts ...dcl.ApplyOption) []DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment {
+ if dcl.IsEmptyValueIndirect(des) {
+ return initial
+ }
+
+ if len(des) != len(initial) {
+
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment, 0, len(des))
+ for _, d := range des {
+ cd := canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment(&d, nil, opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+ }
+
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment, 0, len(des))
+ for i, d := range des {
+ cd := canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment(&d, &initial[i], opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+
+}
+
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment(c *Client, des, nw *DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment) *DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment {
+
+ if des == nil {
+ return nw
+ }
+
+ if nw == nil {
+ if dcl.IsEmptyValueIndirect(des) {
+ c.Config.Logger.Info("Found explicitly empty value for DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment while comparing non-nil desired to nil actual. Returning desired object.")
+ return des
+ }
+ return nil
+ }
+
+ if dcl.BoolCanonicalize(des.Verify, nw.Verify) {
+ nw.Verify = des.Verify
+ }
+
+ return nw
+}
+
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeploymentSet(c *Client, des, nw []DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment) []DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment {
+ if des == nil {
+ return nw
+ }
+
+ // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
+ var items []DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment
+ for _, d := range des {
+ matchedIndex := -1
+ for i, n := range nw {
+ if diffs, _ := compareDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeploymentNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
+ matchedIndex = i
+ break
+ }
+ }
+ if matchedIndex != -1 {
+ items = append(items, *canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment(c, &d, &nw[matchedIndex]))
+ nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
+ }
+ }
+ // Also include elements in nw that are not matched in des.
+ items = append(items, nw...)
+
+ return items
+}
+
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeploymentSlice(c *Client, des, nw []DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment) []DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment {
+ if des == nil {
+ return nw
+ }
+
+ // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
+ // Return the original array.
+ if len(des) != len(nw) {
+ return nw
+ }
+
+ var items []DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment
+ for i, d := range des {
+ n := nw[i]
+ items = append(items, *canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment(c, &d, &n))
+ }
+
+ return items
+}
+
+func canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment(des, initial *DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment, opts ...dcl.ApplyOption) *DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment {
+ if des == nil {
+ return initial
+ }
+ if des.empty {
+ return des
+ }
+
+ if initial == nil {
+ return des
+ }
+
+ cDes := &DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment{}
+
+ cDes.PhaseConfigs = canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigsSlice(des.PhaseConfigs, initial.PhaseConfigs, opts...)
+
+ return cDes
+}
+
+func canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentSlice(des, initial []DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment, opts ...dcl.ApplyOption) []DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment {
+ if dcl.IsEmptyValueIndirect(des) {
+ return initial
+ }
+
+ if len(des) != len(initial) {
+
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment, 0, len(des))
+ for _, d := range des {
+ cd := canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment(&d, nil, opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+ }
+
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment, 0, len(des))
+ for i, d := range des {
+ cd := canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment(&d, &initial[i], opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+
+}
+
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment(c *Client, des, nw *DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment) *DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment {
+
+ if des == nil {
+ return nw
+ }
+
+ if nw == nil {
+ if dcl.IsEmptyValueIndirect(des) {
+ c.Config.Logger.Info("Found explicitly empty value for DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment while comparing non-nil desired to nil actual. Returning desired object.")
+ return des
+ }
+ return nil
+ }
+
+ nw.PhaseConfigs = canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigsSlice(c, des.PhaseConfigs, nw.PhaseConfigs)
+
+ return nw
+}
+
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentSet(c *Client, des, nw []DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment) []DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment {
+ if des == nil {
+ return nw
+ }
+
+ // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
+ var items []DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment
+ for _, d := range des {
+ matchedIndex := -1
+ for i, n := range nw {
+ if diffs, _ := compareDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
+ matchedIndex = i
+ break
+ }
+ }
+ if matchedIndex != -1 {
+ items = append(items, *canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment(c, &d, &nw[matchedIndex]))
+ nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
+ }
+ }
+ // Also include elements in nw that are not matched in des.
+ items = append(items, nw...)
+
+ return items
+}
+
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentSlice(c *Client, des, nw []DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment) []DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment {
+ if des == nil {
+ return nw
+ }
+
+ // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
+ // Return the original array.
+ if len(des) != len(nw) {
+ return nw
+ }
+
+ var items []DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment
+ for i, d := range des {
+ n := nw[i]
+ items = append(items, *canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment(c, &d, &n))
+ }
+
+ return items
+}
+
+func canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs(des, initial *DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs, opts ...dcl.ApplyOption) *DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs {
+ if des == nil {
+ return initial
+ }
+ if des.empty {
+ return des
+ }
+
+ if initial == nil {
+ return des
+ }
+
+ cDes := &DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs{}
+
+ if dcl.StringCanonicalize(des.PhaseId, initial.PhaseId) || dcl.IsZeroValue(des.PhaseId) {
+ cDes.PhaseId = initial.PhaseId
+ } else {
+ cDes.PhaseId = des.PhaseId
+ }
+ if dcl.IsZeroValue(des.Percentage) || (dcl.IsEmptyValueIndirect(des.Percentage) && dcl.IsEmptyValueIndirect(initial.Percentage)) {
+ // Desired and initial values are equivalent, so set canonical desired value to initial value.
+ cDes.Percentage = initial.Percentage
+ } else {
+ cDes.Percentage = des.Percentage
+ }
+ if dcl.StringArrayCanonicalize(des.Profiles, initial.Profiles) {
+ cDes.Profiles = initial.Profiles
+ } else {
+ cDes.Profiles = des.Profiles
+ }
+ if dcl.BoolCanonicalize(des.Verify, initial.Verify) || dcl.IsZeroValue(des.Verify) {
+ cDes.Verify = initial.Verify
+ } else {
+ cDes.Verify = des.Verify
+ }
+
+ return cDes
+}
+
+func canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigsSlice(des, initial []DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs, opts ...dcl.ApplyOption) []DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs {
+ if des == nil {
+ return initial
+ }
+
+ if len(des) != len(initial) {
+
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs, 0, len(des))
+ for _, d := range des {
+ cd := canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs(&d, nil, opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+ }
+
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs, 0, len(des))
+ for i, d := range des {
+ cd := canonicalizeDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs(&d, &initial[i], opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+
+}
+
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs(c *Client, des, nw *DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs) *DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs {
+
+ if des == nil {
+ return nw
+ }
+
+ if nw == nil {
+ if dcl.IsEmptyValueIndirect(des) {
+ c.Config.Logger.Info("Found explicitly empty value for DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs while comparing non-nil desired to nil actual. Returning desired object.")
+ return des
+ }
+ return nil
+ }
+
+ if dcl.StringCanonicalize(des.PhaseId, nw.PhaseId) {
+ nw.PhaseId = des.PhaseId
+ }
+ if dcl.StringArrayCanonicalize(des.Profiles, nw.Profiles) {
+ nw.Profiles = des.Profiles
+ }
+ if dcl.BoolCanonicalize(des.Verify, nw.Verify) {
+ nw.Verify = des.Verify
+ }
+
+ return nw
+}
+
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigsSet(c *Client, des, nw []DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs) []DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs {
+ if des == nil {
+ return nw
+ }
+
+ // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
+ var items []DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs
+ for _, d := range des {
+ matchedIndex := -1
+ for i, n := range nw {
+ if diffs, _ := compareDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
+ matchedIndex = i
+ break
+ }
+ }
+ if matchedIndex != -1 {
+ items = append(items, *canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs(c, &d, &nw[matchedIndex]))
+ nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
+ }
+ }
+ // Also include elements in nw that are not matched in des.
+ items = append(items, nw...)
+
+ return items
+}
+
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigsSlice(c *Client, des, nw []DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs) []DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs {
+ if des == nil {
+ return nw
+ }
+
+ // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
+ // Return the original array.
+ if len(des) != len(nw) {
+ return nw
+ }
+
+ var items []DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs
+ for i, d := range des {
+ n := nw[i]
+ items = append(items, *canonicalizeNewDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs(c, &d, &n))
+ }
+
+ return items
+}
+
+func canonicalizeDeliveryPipelineSerialPipelineStagesDeployParameters(des, initial *DeliveryPipelineSerialPipelineStagesDeployParameters, opts ...dcl.ApplyOption) *DeliveryPipelineSerialPipelineStagesDeployParameters {
+ if des == nil {
+ return initial
+ }
+ if des.empty {
+ return des
+ }
+
+ if initial == nil {
+ return des
+ }
+
+ cDes := &DeliveryPipelineSerialPipelineStagesDeployParameters{}
+
+ if dcl.IsZeroValue(des.Values) || (dcl.IsEmptyValueIndirect(des.Values) && dcl.IsEmptyValueIndirect(initial.Values)) {
+ // Desired and initial values are equivalent, so set canonical desired value to initial value.
+ cDes.Values = initial.Values
+ } else {
+ cDes.Values = des.Values
+ }
+ if dcl.IsZeroValue(des.MatchTargetLabels) || (dcl.IsEmptyValueIndirect(des.MatchTargetLabels) && dcl.IsEmptyValueIndirect(initial.MatchTargetLabels)) {
+ // Desired and initial values are equivalent, so set canonical desired value to initial value.
+ cDes.MatchTargetLabels = initial.MatchTargetLabels
+ } else {
+ cDes.MatchTargetLabels = des.MatchTargetLabels
+ }
+
+ return cDes
+}
+
+func canonicalizeDeliveryPipelineSerialPipelineStagesDeployParametersSlice(des, initial []DeliveryPipelineSerialPipelineStagesDeployParameters, opts ...dcl.ApplyOption) []DeliveryPipelineSerialPipelineStagesDeployParameters {
+ if des == nil {
+ return initial
+ }
+
+ if len(des) != len(initial) {
+
+ items := make([]DeliveryPipelineSerialPipelineStagesDeployParameters, 0, len(des))
+ for _, d := range des {
+ cd := canonicalizeDeliveryPipelineSerialPipelineStagesDeployParameters(&d, nil, opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+ }
+
+ items := make([]DeliveryPipelineSerialPipelineStagesDeployParameters, 0, len(des))
+ for i, d := range des {
+ cd := canonicalizeDeliveryPipelineSerialPipelineStagesDeployParameters(&d, &initial[i], opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+
+}
+
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesDeployParameters(c *Client, des, nw *DeliveryPipelineSerialPipelineStagesDeployParameters) *DeliveryPipelineSerialPipelineStagesDeployParameters {
+
+ if des == nil {
+ return nw
+ }
+
+ if nw == nil {
+ if dcl.IsEmptyValueIndirect(des) {
+ c.Config.Logger.Info("Found explicitly empty value for DeliveryPipelineSerialPipelineStagesDeployParameters while comparing non-nil desired to nil actual. Returning desired object.")
+ return des
+ }
+ return nil
+ }
+
+ return nw
+}
+
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesDeployParametersSet(c *Client, des, nw []DeliveryPipelineSerialPipelineStagesDeployParameters) []DeliveryPipelineSerialPipelineStagesDeployParameters {
+ if des == nil {
+ return nw
+ }
+
+ // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
+ var items []DeliveryPipelineSerialPipelineStagesDeployParameters
+ for _, d := range des {
+ matchedIndex := -1
+ for i, n := range nw {
+ if diffs, _ := compareDeliveryPipelineSerialPipelineStagesDeployParametersNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
+ matchedIndex = i
+ break
+ }
+ }
+ if matchedIndex != -1 {
+ items = append(items, *canonicalizeNewDeliveryPipelineSerialPipelineStagesDeployParameters(c, &d, &nw[matchedIndex]))
+ nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
+ }
+ }
+ // Also include elements in nw that are not matched in des.
+ items = append(items, nw...)
+
+ return items
+}
+
+func canonicalizeNewDeliveryPipelineSerialPipelineStagesDeployParametersSlice(c *Client, des, nw []DeliveryPipelineSerialPipelineStagesDeployParameters) []DeliveryPipelineSerialPipelineStagesDeployParameters {
+ if des == nil {
+ return nw
+ }
+
+ // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
+ // Return the original array.
+ if len(des) != len(nw) {
+ return nw
+ }
+
+ var items []DeliveryPipelineSerialPipelineStagesDeployParameters
+ for i, d := range des {
+ n := nw[i]
+ items = append(items, *canonicalizeNewDeliveryPipelineSerialPipelineStagesDeployParameters(c, &d, &n))
+ }
+
+ return items
+}
+
+func canonicalizeDeliveryPipelineCondition(des, initial *DeliveryPipelineCondition, opts ...dcl.ApplyOption) *DeliveryPipelineCondition {
+ if des == nil {
+ return initial
+ }
+ if des.empty {
+ return des
+ }
+
+ if initial == nil {
+ return des
+ }
+
+ cDes := &DeliveryPipelineCondition{}
+
+ cDes.PipelineReadyCondition = canonicalizeDeliveryPipelineConditionPipelineReadyCondition(des.PipelineReadyCondition, initial.PipelineReadyCondition, opts...)
+ cDes.TargetsPresentCondition = canonicalizeDeliveryPipelineConditionTargetsPresentCondition(des.TargetsPresentCondition, initial.TargetsPresentCondition, opts...)
+ cDes.TargetsTypeCondition = canonicalizeDeliveryPipelineConditionTargetsTypeCondition(des.TargetsTypeCondition, initial.TargetsTypeCondition, opts...)
+
+ return cDes
+}
+
+func canonicalizeDeliveryPipelineConditionSlice(des, initial []DeliveryPipelineCondition, opts ...dcl.ApplyOption) []DeliveryPipelineCondition {
+ if dcl.IsEmptyValueIndirect(des) {
+ return initial
+ }
+
+ if len(des) != len(initial) {
+
+ items := make([]DeliveryPipelineCondition, 0, len(des))
+ for _, d := range des {
+ cd := canonicalizeDeliveryPipelineCondition(&d, nil, opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+ }
+
+ items := make([]DeliveryPipelineCondition, 0, len(des))
+ for i, d := range des {
+ cd := canonicalizeDeliveryPipelineCondition(&d, &initial[i], opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+
+}
+
+func canonicalizeNewDeliveryPipelineCondition(c *Client, des, nw *DeliveryPipelineCondition) *DeliveryPipelineCondition {
+
+ if des == nil {
+ return nw
+ }
+
+ if nw == nil {
+ if dcl.IsEmptyValueIndirect(des) {
+ c.Config.Logger.Info("Found explicitly empty value for DeliveryPipelineCondition while comparing non-nil desired to nil actual. Returning desired object.")
+ return des
+ }
+ return nil
+ }
+
+ nw.PipelineReadyCondition = canonicalizeNewDeliveryPipelineConditionPipelineReadyCondition(c, des.PipelineReadyCondition, nw.PipelineReadyCondition)
+ nw.TargetsPresentCondition = canonicalizeNewDeliveryPipelineConditionTargetsPresentCondition(c, des.TargetsPresentCondition, nw.TargetsPresentCondition)
+ nw.TargetsTypeCondition = canonicalizeNewDeliveryPipelineConditionTargetsTypeCondition(c, des.TargetsTypeCondition, nw.TargetsTypeCondition)
+
+ return nw
+}
+
+func canonicalizeNewDeliveryPipelineConditionSet(c *Client, des, nw []DeliveryPipelineCondition) []DeliveryPipelineCondition {
+ if des == nil {
+ return nw
+ }
+
+ // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
+ var items []DeliveryPipelineCondition
+ for _, d := range des {
+ matchedIndex := -1
+ for i, n := range nw {
+ if diffs, _ := compareDeliveryPipelineConditionNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
+ matchedIndex = i
+ break
+ }
+ }
+ if matchedIndex != -1 {
+ items = append(items, *canonicalizeNewDeliveryPipelineCondition(c, &d, &nw[matchedIndex]))
+ nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
+ }
+ }
+ // Also include elements in nw that are not matched in des.
+ items = append(items, nw...)
+
+ return items
+}
+
+func canonicalizeNewDeliveryPipelineConditionSlice(c *Client, des, nw []DeliveryPipelineCondition) []DeliveryPipelineCondition {
+ if des == nil {
+ return nw
+ }
+
+ // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
+ // Return the original array.
+ if len(des) != len(nw) {
+ return nw
+ }
+
+ var items []DeliveryPipelineCondition
+ for i, d := range des {
+ n := nw[i]
+ items = append(items, *canonicalizeNewDeliveryPipelineCondition(c, &d, &n))
+ }
+
+ return items
+}
+
+func canonicalizeDeliveryPipelineConditionPipelineReadyCondition(des, initial *DeliveryPipelineConditionPipelineReadyCondition, opts ...dcl.ApplyOption) *DeliveryPipelineConditionPipelineReadyCondition {
+ if des == nil {
+ return initial
+ }
+ if des.empty {
+ return des
+ }
+
+ if initial == nil {
+ return des
+ }
+
+ cDes := &DeliveryPipelineConditionPipelineReadyCondition{}
+
+ if dcl.BoolCanonicalize(des.Status, initial.Status) || dcl.IsZeroValue(des.Status) {
+ cDes.Status = initial.Status
+ } else {
+ cDes.Status = des.Status
+ }
+ if dcl.IsZeroValue(des.UpdateTime) || (dcl.IsEmptyValueIndirect(des.UpdateTime) && dcl.IsEmptyValueIndirect(initial.UpdateTime)) {
+ // Desired and initial values are equivalent, so set canonical desired value to initial value.
+ cDes.UpdateTime = initial.UpdateTime
+ } else {
+ cDes.UpdateTime = des.UpdateTime
+ }
+
+ return cDes
+}
+
+func canonicalizeDeliveryPipelineConditionPipelineReadyConditionSlice(des, initial []DeliveryPipelineConditionPipelineReadyCondition, opts ...dcl.ApplyOption) []DeliveryPipelineConditionPipelineReadyCondition {
+ if dcl.IsEmptyValueIndirect(des) {
+ return initial
+ }
+
+ if len(des) != len(initial) {
+
+ items := make([]DeliveryPipelineConditionPipelineReadyCondition, 0, len(des))
+ for _, d := range des {
+ cd := canonicalizeDeliveryPipelineConditionPipelineReadyCondition(&d, nil, opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+ }
+
+ items := make([]DeliveryPipelineConditionPipelineReadyCondition, 0, len(des))
+ for i, d := range des {
+ cd := canonicalizeDeliveryPipelineConditionPipelineReadyCondition(&d, &initial[i], opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+
+}
+
+func canonicalizeNewDeliveryPipelineConditionPipelineReadyCondition(c *Client, des, nw *DeliveryPipelineConditionPipelineReadyCondition) *DeliveryPipelineConditionPipelineReadyCondition {
+
+ if des == nil {
+ return nw
+ }
+
+ if nw == nil {
+ if dcl.IsEmptyValueIndirect(des) {
+ c.Config.Logger.Info("Found explicitly empty value for DeliveryPipelineConditionPipelineReadyCondition while comparing non-nil desired to nil actual. Returning desired object.")
+ return des
+ }
+ return nil
+ }
+
+ if dcl.BoolCanonicalize(des.Status, nw.Status) {
+ nw.Status = des.Status
+ }
+
+ return nw
+}
+
+func canonicalizeNewDeliveryPipelineConditionPipelineReadyConditionSet(c *Client, des, nw []DeliveryPipelineConditionPipelineReadyCondition) []DeliveryPipelineConditionPipelineReadyCondition {
+ if des == nil {
+ return nw
+ }
+
+ // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
+ var items []DeliveryPipelineConditionPipelineReadyCondition
+ for _, d := range des {
+ matchedIndex := -1
+ for i, n := range nw {
+ if diffs, _ := compareDeliveryPipelineConditionPipelineReadyConditionNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
+ matchedIndex = i
+ break
+ }
+ }
+ if matchedIndex != -1 {
+ items = append(items, *canonicalizeNewDeliveryPipelineConditionPipelineReadyCondition(c, &d, &nw[matchedIndex]))
+ nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
+ }
+ }
+ // Also include elements in nw that are not matched in des.
+ items = append(items, nw...)
+
+ return items
+}
+
+func canonicalizeNewDeliveryPipelineConditionPipelineReadyConditionSlice(c *Client, des, nw []DeliveryPipelineConditionPipelineReadyCondition) []DeliveryPipelineConditionPipelineReadyCondition {
+ if des == nil {
+ return nw
+ }
+
+ // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
+ // Return the original array.
+ if len(des) != len(nw) {
+ return nw
+ }
+
+ var items []DeliveryPipelineConditionPipelineReadyCondition
+ for i, d := range des {
+ n := nw[i]
+ items = append(items, *canonicalizeNewDeliveryPipelineConditionPipelineReadyCondition(c, &d, &n))
+ }
+
+ return items
+}
+
+func canonicalizeDeliveryPipelineConditionTargetsPresentCondition(des, initial *DeliveryPipelineConditionTargetsPresentCondition, opts ...dcl.ApplyOption) *DeliveryPipelineConditionTargetsPresentCondition {
+ if des == nil {
+ return initial
+ }
+ if des.empty {
+ return des
+ }
+
+ if initial == nil {
+ return des
+ }
+
+ cDes := &DeliveryPipelineConditionTargetsPresentCondition{}
+
+ if dcl.BoolCanonicalize(des.Status, initial.Status) || dcl.IsZeroValue(des.Status) {
+ cDes.Status = initial.Status
+ } else {
+ cDes.Status = des.Status
+ }
+ if dcl.StringArrayCanonicalize(des.MissingTargets, initial.MissingTargets) {
+ cDes.MissingTargets = initial.MissingTargets
+ } else {
+ cDes.MissingTargets = des.MissingTargets
+ }
+ if dcl.IsZeroValue(des.UpdateTime) || (dcl.IsEmptyValueIndirect(des.UpdateTime) && dcl.IsEmptyValueIndirect(initial.UpdateTime)) {
+ // Desired and initial values are equivalent, so set canonical desired value to initial value.
+ cDes.UpdateTime = initial.UpdateTime
+ } else {
+ cDes.UpdateTime = des.UpdateTime
+ }
+
+ return cDes
+}
+
+func canonicalizeDeliveryPipelineConditionTargetsPresentConditionSlice(des, initial []DeliveryPipelineConditionTargetsPresentCondition, opts ...dcl.ApplyOption) []DeliveryPipelineConditionTargetsPresentCondition {
+ if dcl.IsEmptyValueIndirect(des) {
+ return initial
+ }
+
+ if len(des) != len(initial) {
+
+ items := make([]DeliveryPipelineConditionTargetsPresentCondition, 0, len(des))
+ for _, d := range des {
+ cd := canonicalizeDeliveryPipelineConditionTargetsPresentCondition(&d, nil, opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+ }
+
+ items := make([]DeliveryPipelineConditionTargetsPresentCondition, 0, len(des))
+ for i, d := range des {
+ cd := canonicalizeDeliveryPipelineConditionTargetsPresentCondition(&d, &initial[i], opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+
+}
+
+func canonicalizeNewDeliveryPipelineConditionTargetsPresentCondition(c *Client, des, nw *DeliveryPipelineConditionTargetsPresentCondition) *DeliveryPipelineConditionTargetsPresentCondition {
+
+ if des == nil {
+ return nw
+ }
+
+ if nw == nil {
+ if dcl.IsEmptyValueIndirect(des) {
+ c.Config.Logger.Info("Found explicitly empty value for DeliveryPipelineConditionTargetsPresentCondition while comparing non-nil desired to nil actual. Returning desired object.")
+ return des
+ }
+ return nil
+ }
+
+ if dcl.BoolCanonicalize(des.Status, nw.Status) {
+ nw.Status = des.Status
+ }
+ if dcl.StringArrayCanonicalize(des.MissingTargets, nw.MissingTargets) {
+ nw.MissingTargets = des.MissingTargets
+ }
+
+ return nw
+}
+
+func canonicalizeNewDeliveryPipelineConditionTargetsPresentConditionSet(c *Client, des, nw []DeliveryPipelineConditionTargetsPresentCondition) []DeliveryPipelineConditionTargetsPresentCondition {
+ if des == nil {
+ return nw
+ }
+
+ // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
+ var items []DeliveryPipelineConditionTargetsPresentCondition
+ for _, d := range des {
+ matchedIndex := -1
+ for i, n := range nw {
+ if diffs, _ := compareDeliveryPipelineConditionTargetsPresentConditionNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
+ matchedIndex = i
+ break
+ }
+ }
+ if matchedIndex != -1 {
+ items = append(items, *canonicalizeNewDeliveryPipelineConditionTargetsPresentCondition(c, &d, &nw[matchedIndex]))
+ nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
+ }
+ }
+ // Also include elements in nw that are not matched in des.
+ items = append(items, nw...)
+
+ return items
+}
+
+func canonicalizeNewDeliveryPipelineConditionTargetsPresentConditionSlice(c *Client, des, nw []DeliveryPipelineConditionTargetsPresentCondition) []DeliveryPipelineConditionTargetsPresentCondition {
+ if des == nil {
+ return nw
+ }
+
+ // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
+ // Return the original array.
+ if len(des) != len(nw) {
+ return nw
+ }
+
+ var items []DeliveryPipelineConditionTargetsPresentCondition
+ for i, d := range des {
+ n := nw[i]
+ items = append(items, *canonicalizeNewDeliveryPipelineConditionTargetsPresentCondition(c, &d, &n))
+ }
+
+ return items
+}
+
+func canonicalizeDeliveryPipelineConditionTargetsTypeCondition(des, initial *DeliveryPipelineConditionTargetsTypeCondition, opts ...dcl.ApplyOption) *DeliveryPipelineConditionTargetsTypeCondition {
+ if des == nil {
+ return initial
+ }
+ if des.empty {
+ return des
+ }
+
+ if initial == nil {
+ return des
+ }
+
+ cDes := &DeliveryPipelineConditionTargetsTypeCondition{}
+
+ if dcl.BoolCanonicalize(des.Status, initial.Status) || dcl.IsZeroValue(des.Status) {
+ cDes.Status = initial.Status
+ } else {
+ cDes.Status = des.Status
+ }
+ if dcl.StringCanonicalize(des.ErrorDetails, initial.ErrorDetails) || dcl.IsZeroValue(des.ErrorDetails) {
+ cDes.ErrorDetails = initial.ErrorDetails
+ } else {
+ cDes.ErrorDetails = des.ErrorDetails
+ }
+
+ return cDes
+}
+
+func canonicalizeDeliveryPipelineConditionTargetsTypeConditionSlice(des, initial []DeliveryPipelineConditionTargetsTypeCondition, opts ...dcl.ApplyOption) []DeliveryPipelineConditionTargetsTypeCondition {
+ if dcl.IsEmptyValueIndirect(des) {
+ return initial
+ }
+
+ if len(des) != len(initial) {
+
+ items := make([]DeliveryPipelineConditionTargetsTypeCondition, 0, len(des))
+ for _, d := range des {
+ cd := canonicalizeDeliveryPipelineConditionTargetsTypeCondition(&d, nil, opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+ }
+
+ items := make([]DeliveryPipelineConditionTargetsTypeCondition, 0, len(des))
+ for i, d := range des {
+ cd := canonicalizeDeliveryPipelineConditionTargetsTypeCondition(&d, &initial[i], opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+
+}
+
+func canonicalizeNewDeliveryPipelineConditionTargetsTypeCondition(c *Client, des, nw *DeliveryPipelineConditionTargetsTypeCondition) *DeliveryPipelineConditionTargetsTypeCondition {
+
+ if des == nil {
+ return nw
+ }
+
+ if nw == nil {
+ if dcl.IsEmptyValueIndirect(des) {
+ c.Config.Logger.Info("Found explicitly empty value for DeliveryPipelineConditionTargetsTypeCondition while comparing non-nil desired to nil actual. Returning desired object.")
+ return des
+ }
+ return nil
+ }
+
+ if dcl.BoolCanonicalize(des.Status, nw.Status) {
+ nw.Status = des.Status
+ }
+ if dcl.StringCanonicalize(des.ErrorDetails, nw.ErrorDetails) {
+ nw.ErrorDetails = des.ErrorDetails
+ }
+
+ return nw
+}
+
+func canonicalizeNewDeliveryPipelineConditionTargetsTypeConditionSet(c *Client, des, nw []DeliveryPipelineConditionTargetsTypeCondition) []DeliveryPipelineConditionTargetsTypeCondition {
+ if des == nil {
+ return nw
+ }
+
+ // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
+ var items []DeliveryPipelineConditionTargetsTypeCondition
+ for _, d := range des {
+ matchedIndex := -1
+ for i, n := range nw {
+ if diffs, _ := compareDeliveryPipelineConditionTargetsTypeConditionNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
+ matchedIndex = i
+ break
+ }
+ }
+ if matchedIndex != -1 {
+ items = append(items, *canonicalizeNewDeliveryPipelineConditionTargetsTypeCondition(c, &d, &nw[matchedIndex]))
+ nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
+ }
+ }
+ // Also include elements in nw that are not matched in des.
+ items = append(items, nw...)
+
+ return items
+}
+
+func canonicalizeNewDeliveryPipelineConditionTargetsTypeConditionSlice(c *Client, des, nw []DeliveryPipelineConditionTargetsTypeCondition) []DeliveryPipelineConditionTargetsTypeCondition {
+ if des == nil {
+ return nw
+ }
+
+ // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
+ // Return the original array.
+ if len(des) != len(nw) {
+ return nw
+ }
+
+ var items []DeliveryPipelineConditionTargetsTypeCondition
+ for i, d := range des {
+ n := nw[i]
+ items = append(items, *canonicalizeNewDeliveryPipelineConditionTargetsTypeCondition(c, &d, &n))
+ }
+
+ return items
+}
+
+// The differ returns a list of diffs, along with a list of operations that should be taken
+// to remedy them. Right now, it does not attempt to consolidate operations - if several
+// fields can be fixed with a patch update, it will perform the patch several times.
+// Diffs on some fields will be ignored if the `desired` state has an empty (nil)
+// value. This empty value indicates that the user does not care about the state for
+// the field. Empty fields on the actual object will cause diffs.
+// TODO(magic-modules-eng): for efficiency in some resources, add batching.
+func diffDeliveryPipeline(c *Client, desired, actual *DeliveryPipeline, opts ...dcl.ApplyOption) ([]*dcl.FieldDiff, error) {
+ if desired == nil || actual == nil {
+ return nil, fmt.Errorf("nil resource passed to diff - always a programming error: %#v, %#v", desired, actual)
+ }
+
+ c.Config.Logger.Infof("Diff function called with desired state: %v", desired)
+ c.Config.Logger.Infof("Diff function called with actual state: %v", actual)
+
+ var fn dcl.FieldName
+ var newDiffs []*dcl.FieldDiff
+ // New style diffs.
+ if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Name")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Uid, actual.Uid, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Uid")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Description, actual.Description, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Description")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Annotations, actual.Annotations, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Annotations")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Labels, actual.Labels, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Labels")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.CreateTime, actual.CreateTime, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("CreateTime")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.UpdateTime, actual.UpdateTime, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("UpdateTime")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.SerialPipeline, actual.SerialPipeline, dcl.DiffInfo{ObjectFunction: compareDeliveryPipelineSerialPipelineNewStyle, EmptyObject: EmptyDeliveryPipelineSerialPipeline, OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("SerialPipeline")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Condition, actual.Condition, dcl.DiffInfo{OutputOnly: true, ObjectFunction: compareDeliveryPipelineConditionNewStyle, EmptyObject: EmptyDeliveryPipelineCondition, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Condition")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Etag, actual.Etag, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Etag")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Project, actual.Project, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Project")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Location, actual.Location, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Location")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Suspended, actual.Suspended, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Suspended")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if len(newDiffs) > 0 {
+ c.Config.Logger.Infof("Diff function found diffs: %v", newDiffs)
+ }
+ return newDiffs, nil
+}
+func compareDeliveryPipelineSerialPipelineNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
+ var diffs []*dcl.FieldDiff
+
+ desired, ok := d.(*DeliveryPipelineSerialPipeline)
+ if !ok {
+ desiredNotPointer, ok := d.(DeliveryPipelineSerialPipeline)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipeline or *DeliveryPipelineSerialPipeline", d)
+ }
+ desired = &desiredNotPointer
+ }
+ actual, ok := a.(*DeliveryPipelineSerialPipeline)
+ if !ok {
+ actualNotPointer, ok := a.(DeliveryPipelineSerialPipeline)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipeline", a)
+ }
+ actual = &actualNotPointer
+ }
+
+ if ds, err := dcl.Diff(desired.Stages, actual.Stages, dcl.DiffInfo{ObjectFunction: compareDeliveryPipelineSerialPipelineStagesNewStyle, EmptyObject: EmptyDeliveryPipelineSerialPipelineStages, OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Stages")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+ return diffs, nil
+}
+
+func compareDeliveryPipelineSerialPipelineStagesNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
+ var diffs []*dcl.FieldDiff
+
+ desired, ok := d.(*DeliveryPipelineSerialPipelineStages)
+ if !ok {
+ desiredNotPointer, ok := d.(DeliveryPipelineSerialPipelineStages)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipelineStages or *DeliveryPipelineSerialPipelineStages", d)
+ }
+ desired = &desiredNotPointer
+ }
+ actual, ok := a.(*DeliveryPipelineSerialPipelineStages)
+ if !ok {
+ actualNotPointer, ok := a.(DeliveryPipelineSerialPipelineStages)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipelineStages", a)
+ }
+ actual = &actualNotPointer
+ }
+
+ if ds, err := dcl.Diff(desired.TargetId, actual.TargetId, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("TargetId")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Profiles, actual.Profiles, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Profiles")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Strategy, actual.Strategy, dcl.DiffInfo{ObjectFunction: compareDeliveryPipelineSerialPipelineStagesStrategyNewStyle, EmptyObject: EmptyDeliveryPipelineSerialPipelineStagesStrategy, OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Strategy")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.DeployParameters, actual.DeployParameters, dcl.DiffInfo{ObjectFunction: compareDeliveryPipelineSerialPipelineStagesDeployParametersNewStyle, EmptyObject: EmptyDeliveryPipelineSerialPipelineStagesDeployParameters, OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("DeployParameters")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+ return diffs, nil
+}
+
+func compareDeliveryPipelineSerialPipelineStagesStrategyNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
+ var diffs []*dcl.FieldDiff
+
+ desired, ok := d.(*DeliveryPipelineSerialPipelineStagesStrategy)
+ if !ok {
+ desiredNotPointer, ok := d.(DeliveryPipelineSerialPipelineStagesStrategy)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipelineStagesStrategy or *DeliveryPipelineSerialPipelineStagesStrategy", d)
+ }
+ desired = &desiredNotPointer
+ }
+ actual, ok := a.(*DeliveryPipelineSerialPipelineStagesStrategy)
+ if !ok {
+ actualNotPointer, ok := a.(DeliveryPipelineSerialPipelineStagesStrategy)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipelineStagesStrategy", a)
+ }
+ actual = &actualNotPointer
+ }
+
+ if ds, err := dcl.Diff(desired.Standard, actual.Standard, dcl.DiffInfo{ObjectFunction: compareDeliveryPipelineSerialPipelineStagesStrategyStandardNewStyle, EmptyObject: EmptyDeliveryPipelineSerialPipelineStagesStrategyStandard, OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Standard")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Canary, actual.Canary, dcl.DiffInfo{ObjectFunction: compareDeliveryPipelineSerialPipelineStagesStrategyCanaryNewStyle, EmptyObject: EmptyDeliveryPipelineSerialPipelineStagesStrategyCanary, OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Canary")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+ return diffs, nil
+}
+
+func compareDeliveryPipelineSerialPipelineStagesStrategyStandardNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
+ var diffs []*dcl.FieldDiff
+
+ desired, ok := d.(*DeliveryPipelineSerialPipelineStagesStrategyStandard)
+ if !ok {
+ desiredNotPointer, ok := d.(DeliveryPipelineSerialPipelineStagesStrategyStandard)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipelineStagesStrategyStandard or *DeliveryPipelineSerialPipelineStagesStrategyStandard", d)
+ }
+ desired = &desiredNotPointer
+ }
+ actual, ok := a.(*DeliveryPipelineSerialPipelineStagesStrategyStandard)
+ if !ok {
+ actualNotPointer, ok := a.(DeliveryPipelineSerialPipelineStagesStrategyStandard)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipelineStagesStrategyStandard", a)
+ }
+ actual = &actualNotPointer
+ }
+
+ if ds, err := dcl.Diff(desired.Verify, actual.Verify, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Verify")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+ return diffs, nil
+}
+
+func compareDeliveryPipelineSerialPipelineStagesStrategyCanaryNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
+ var diffs []*dcl.FieldDiff
+
+ desired, ok := d.(*DeliveryPipelineSerialPipelineStagesStrategyCanary)
+ if !ok {
+ desiredNotPointer, ok := d.(DeliveryPipelineSerialPipelineStagesStrategyCanary)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipelineStagesStrategyCanary or *DeliveryPipelineSerialPipelineStagesStrategyCanary", d)
+ }
+ desired = &desiredNotPointer
+ }
+ actual, ok := a.(*DeliveryPipelineSerialPipelineStagesStrategyCanary)
+ if !ok {
+ actualNotPointer, ok := a.(DeliveryPipelineSerialPipelineStagesStrategyCanary)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipelineStagesStrategyCanary", a)
+ }
+ actual = &actualNotPointer
+ }
+
+ if ds, err := dcl.Diff(desired.RuntimeConfig, actual.RuntimeConfig, dcl.DiffInfo{ObjectFunction: compareDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigNewStyle, EmptyObject: EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig, OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("RuntimeConfig")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.CanaryDeployment, actual.CanaryDeployment, dcl.DiffInfo{ObjectFunction: compareDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeploymentNewStyle, EmptyObject: EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment, OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("CanaryDeployment")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.CustomCanaryDeployment, actual.CustomCanaryDeployment, dcl.DiffInfo{ObjectFunction: compareDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentNewStyle, EmptyObject: EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment, OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("CustomCanaryDeployment")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+ return diffs, nil
+}
+
+func compareDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
+ var diffs []*dcl.FieldDiff
+
+ desired, ok := d.(*DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig)
+ if !ok {
+ desiredNotPointer, ok := d.(DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig or *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig", d)
+ }
+ desired = &desiredNotPointer
+ }
+ actual, ok := a.(*DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig)
+ if !ok {
+ actualNotPointer, ok := a.(DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig", a)
+ }
+ actual = &actualNotPointer
+ }
+
+ if ds, err := dcl.Diff(desired.Kubernetes, actual.Kubernetes, dcl.DiffInfo{ObjectFunction: compareDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesNewStyle, EmptyObject: EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes, OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Kubernetes")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.CloudRun, actual.CloudRun, dcl.DiffInfo{ObjectFunction: compareDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRunNewStyle, EmptyObject: EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun, OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("CloudRun")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+ return diffs, nil
+}
+
+func compareDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
+ var diffs []*dcl.FieldDiff
+
+ desired, ok := d.(*DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes)
+ if !ok {
+ desiredNotPointer, ok := d.(DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes or *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes", d)
+ }
+ desired = &desiredNotPointer
+ }
+ actual, ok := a.(*DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes)
+ if !ok {
+ actualNotPointer, ok := a.(DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes", a)
+ }
+ actual = &actualNotPointer
+ }
+
+ if ds, err := dcl.Diff(desired.GatewayServiceMesh, actual.GatewayServiceMesh, dcl.DiffInfo{ObjectFunction: compareDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshNewStyle, EmptyObject: EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh, OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("GatewayServiceMesh")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.ServiceNetworking, actual.ServiceNetworking, dcl.DiffInfo{ObjectFunction: compareDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworkingNewStyle, EmptyObject: EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking, OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("ServiceNetworking")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+ return diffs, nil
+}
+
+func compareDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
+ var diffs []*dcl.FieldDiff
+
+ desired, ok := d.(*DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh)
+ if !ok {
+ desiredNotPointer, ok := d.(DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh or *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh", d)
+ }
+ desired = &desiredNotPointer
+ }
+ actual, ok := a.(*DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh)
+ if !ok {
+ actualNotPointer, ok := a.(DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh", a)
+ }
+ actual = &actualNotPointer
+ }
+
+ if ds, err := dcl.Diff(desired.HttpRoute, actual.HttpRoute, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("HttpRoute")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Service, actual.Service, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Service")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Deployment, actual.Deployment, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Deployment")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+ return diffs, nil
+}
+
+func compareDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworkingNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
+ var diffs []*dcl.FieldDiff
+
+ desired, ok := d.(*DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking)
+ if !ok {
+ desiredNotPointer, ok := d.(DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking or *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking", d)
+ }
+ desired = &desiredNotPointer
+ }
+ actual, ok := a.(*DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking)
+ if !ok {
+ actualNotPointer, ok := a.(DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking", a)
+ }
+ actual = &actualNotPointer
+ }
+
+ if ds, err := dcl.Diff(desired.Service, actual.Service, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Service")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Deployment, actual.Deployment, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Deployment")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.DisablePodOverprovisioning, actual.DisablePodOverprovisioning, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("DisablePodOverprovisioning")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+ return diffs, nil
+}
+
+func compareDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRunNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
+ var diffs []*dcl.FieldDiff
+
+ desired, ok := d.(*DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun)
+ if !ok {
+ desiredNotPointer, ok := d.(DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun or *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun", d)
+ }
+ desired = &desiredNotPointer
+ }
+ actual, ok := a.(*DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun)
+ if !ok {
+ actualNotPointer, ok := a.(DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun", a)
+ }
+ actual = &actualNotPointer
+ }
+
+ if ds, err := dcl.Diff(desired.AutomaticTrafficControl, actual.AutomaticTrafficControl, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("AutomaticTrafficControl")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+ return diffs, nil
+}
+
+func compareDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeploymentNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
+ var diffs []*dcl.FieldDiff
+
+ desired, ok := d.(*DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment)
+ if !ok {
+ desiredNotPointer, ok := d.(DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment or *DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment", d)
+ }
+ desired = &desiredNotPointer
+ }
+ actual, ok := a.(*DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment)
+ if !ok {
+ actualNotPointer, ok := a.(DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment", a)
+ }
+ actual = &actualNotPointer
+ }
+
+ if ds, err := dcl.Diff(desired.Percentages, actual.Percentages, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Percentages")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Verify, actual.Verify, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Verify")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+ return diffs, nil
+}
+
+func compareDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
+ var diffs []*dcl.FieldDiff
+
+ desired, ok := d.(*DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment)
+ if !ok {
+ desiredNotPointer, ok := d.(DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment or *DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment", d)
+ }
+ desired = &desiredNotPointer
+ }
+ actual, ok := a.(*DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment)
+ if !ok {
+ actualNotPointer, ok := a.(DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment", a)
+ }
+ actual = &actualNotPointer
+ }
+
+ if ds, err := dcl.Diff(desired.PhaseConfigs, actual.PhaseConfigs, dcl.DiffInfo{ObjectFunction: compareDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigsNewStyle, EmptyObject: EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs, OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("PhaseConfigs")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+ return diffs, nil
+}
+
+func compareDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
+ var diffs []*dcl.FieldDiff
+
+ desired, ok := d.(*DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs)
+ if !ok {
+ desiredNotPointer, ok := d.(DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs or *DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs", d)
+ }
+ desired = &desiredNotPointer
+ }
+ actual, ok := a.(*DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs)
+ if !ok {
+ actualNotPointer, ok := a.(DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs", a)
+ }
+ actual = &actualNotPointer
+ }
+
+ if ds, err := dcl.Diff(desired.PhaseId, actual.PhaseId, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("PhaseId")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Percentage, actual.Percentage, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Percentage")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Profiles, actual.Profiles, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Profiles")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.Verify, actual.Verify, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Verify")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+ return diffs, nil
+}
+
+func compareDeliveryPipelineSerialPipelineStagesDeployParametersNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
+ var diffs []*dcl.FieldDiff
+
+ desired, ok := d.(*DeliveryPipelineSerialPipelineStagesDeployParameters)
+ if !ok {
+ desiredNotPointer, ok := d.(DeliveryPipelineSerialPipelineStagesDeployParameters)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipelineStagesDeployParameters or *DeliveryPipelineSerialPipelineStagesDeployParameters", d)
+ }
+ desired = &desiredNotPointer
+ }
+ actual, ok := a.(*DeliveryPipelineSerialPipelineStagesDeployParameters)
+ if !ok {
+ actualNotPointer, ok := a.(DeliveryPipelineSerialPipelineStagesDeployParameters)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipelineStagesDeployParameters", a)
+ }
+ actual = &actualNotPointer
+ }
+
+ if ds, err := dcl.Diff(desired.Values, actual.Values, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Values")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.MatchTargetLabels, actual.MatchTargetLabels, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("MatchTargetLabels")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+ return diffs, nil
+}
+
+func compareDeliveryPipelineConditionNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
+ var diffs []*dcl.FieldDiff
+
+ desired, ok := d.(*DeliveryPipelineCondition)
+ if !ok {
+ desiredNotPointer, ok := d.(DeliveryPipelineCondition)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineCondition or *DeliveryPipelineCondition", d)
+ }
+ desired = &desiredNotPointer
+ }
+ actual, ok := a.(*DeliveryPipelineCondition)
+ if !ok {
+ actualNotPointer, ok := a.(DeliveryPipelineCondition)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineCondition", a)
+ }
+ actual = &actualNotPointer
+ }
+
+ if ds, err := dcl.Diff(desired.PipelineReadyCondition, actual.PipelineReadyCondition, dcl.DiffInfo{ObjectFunction: compareDeliveryPipelineConditionPipelineReadyConditionNewStyle, EmptyObject: EmptyDeliveryPipelineConditionPipelineReadyCondition, OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("PipelineReadyCondition")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.TargetsPresentCondition, actual.TargetsPresentCondition, dcl.DiffInfo{ObjectFunction: compareDeliveryPipelineConditionTargetsPresentConditionNewStyle, EmptyObject: EmptyDeliveryPipelineConditionTargetsPresentCondition, OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("TargetsPresentCondition")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.TargetsTypeCondition, actual.TargetsTypeCondition, dcl.DiffInfo{ObjectFunction: compareDeliveryPipelineConditionTargetsTypeConditionNewStyle, EmptyObject: EmptyDeliveryPipelineConditionTargetsTypeCondition, OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("TargetsTypeCondition")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+ return diffs, nil
+}
+
+func compareDeliveryPipelineConditionPipelineReadyConditionNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
+ var diffs []*dcl.FieldDiff
+
+ desired, ok := d.(*DeliveryPipelineConditionPipelineReadyCondition)
+ if !ok {
+ desiredNotPointer, ok := d.(DeliveryPipelineConditionPipelineReadyCondition)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineConditionPipelineReadyCondition or *DeliveryPipelineConditionPipelineReadyCondition", d)
+ }
+ desired = &desiredNotPointer
+ }
+ actual, ok := a.(*DeliveryPipelineConditionPipelineReadyCondition)
+ if !ok {
+ actualNotPointer, ok := a.(DeliveryPipelineConditionPipelineReadyCondition)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineConditionPipelineReadyCondition", a)
+ }
+ actual = &actualNotPointer
+ }
+
+ if ds, err := dcl.Diff(desired.Status, actual.Status, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Status")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.UpdateTime, actual.UpdateTime, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("UpdateTime")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+ return diffs, nil
+}
+
+func compareDeliveryPipelineConditionTargetsPresentConditionNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
+ var diffs []*dcl.FieldDiff
+
+ desired, ok := d.(*DeliveryPipelineConditionTargetsPresentCondition)
+ if !ok {
+ desiredNotPointer, ok := d.(DeliveryPipelineConditionTargetsPresentCondition)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineConditionTargetsPresentCondition or *DeliveryPipelineConditionTargetsPresentCondition", d)
+ }
+ desired = &desiredNotPointer
+ }
+ actual, ok := a.(*DeliveryPipelineConditionTargetsPresentCondition)
+ if !ok {
+ actualNotPointer, ok := a.(DeliveryPipelineConditionTargetsPresentCondition)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineConditionTargetsPresentCondition", a)
+ }
+ actual = &actualNotPointer
+ }
+
+ if ds, err := dcl.Diff(desired.Status, actual.Status, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Status")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.MissingTargets, actual.MissingTargets, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("MissingTargets")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.UpdateTime, actual.UpdateTime, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("UpdateTime")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+ return diffs, nil
+}
+
+func compareDeliveryPipelineConditionTargetsTypeConditionNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
+ var diffs []*dcl.FieldDiff
+
+ desired, ok := d.(*DeliveryPipelineConditionTargetsTypeCondition)
+ if !ok {
+ desiredNotPointer, ok := d.(DeliveryPipelineConditionTargetsTypeCondition)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineConditionTargetsTypeCondition or *DeliveryPipelineConditionTargetsTypeCondition", d)
+ }
+ desired = &desiredNotPointer
+ }
+ actual, ok := a.(*DeliveryPipelineConditionTargetsTypeCondition)
+ if !ok {
+ actualNotPointer, ok := a.(DeliveryPipelineConditionTargetsTypeCondition)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a DeliveryPipelineConditionTargetsTypeCondition", a)
+ }
+ actual = &actualNotPointer
+ }
+
+ if ds, err := dcl.Diff(desired.Status, actual.Status, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Status")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.ErrorDetails, actual.ErrorDetails, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("ErrorDetails")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+ return diffs, nil
+}
+
+// urlNormalized returns a copy of the resource struct with values normalized
+// for URL substitutions. For instance, it converts long-form self-links to
+// short-form so they can be substituted in.
+func (r *DeliveryPipeline) urlNormalized() *DeliveryPipeline {
+ normalized := dcl.Copy(*r).(DeliveryPipeline)
+ normalized.Name = dcl.SelfLinkToName(r.Name)
+ normalized.Uid = dcl.SelfLinkToName(r.Uid)
+ normalized.Description = dcl.SelfLinkToName(r.Description)
+ normalized.Etag = dcl.SelfLinkToName(r.Etag)
+ normalized.Project = dcl.SelfLinkToName(r.Project)
+ normalized.Location = dcl.SelfLinkToName(r.Location)
+ return &normalized
+}
+
+func (r *DeliveryPipeline) updateURL(userBasePath, updateName string) (string, error) {
+ nr := r.urlNormalized()
+ if updateName == "UpdateDeliveryPipeline" {
+ fields := map[string]interface{}{
+ "project": dcl.ValueOrEmptyString(nr.Project),
+ "location": dcl.ValueOrEmptyString(nr.Location),
+ "name": dcl.ValueOrEmptyString(nr.Name),
+ }
+ return dcl.URL("projects/{{project}}/locations/{{location}}/deliveryPipelines/{{name}}", nr.basePath(), userBasePath, fields), nil
+
+ }
+
+ return "", fmt.Errorf("unknown update name: %s", updateName)
+}
+
+// marshal encodes the DeliveryPipeline resource into JSON for a Create request, and
+// performs transformations from the resource schema to the API schema if
+// necessary.
+func (r *DeliveryPipeline) marshal(c *Client) ([]byte, error) {
+ m, err := expandDeliveryPipeline(c, r)
+ if err != nil {
+ return nil, fmt.Errorf("error marshalling DeliveryPipeline: %w", err)
+ }
+
+ return json.Marshal(m)
+}
+
+// unmarshalDeliveryPipeline decodes JSON responses into the DeliveryPipeline resource schema.
+func unmarshalDeliveryPipeline(b []byte, c *Client, res *DeliveryPipeline) (*DeliveryPipeline, error) {
+ var m map[string]interface{}
+ if err := json.Unmarshal(b, &m); err != nil {
+ return nil, err
+ }
+ return unmarshalMapDeliveryPipeline(m, c, res)
+}
+
+func unmarshalMapDeliveryPipeline(m map[string]interface{}, c *Client, res *DeliveryPipeline) (*DeliveryPipeline, error) {
+
+ flattened := flattenDeliveryPipeline(c, m, res)
+ if flattened == nil {
+ return nil, fmt.Errorf("attempted to flatten empty json object")
+ }
+ return flattened, nil
+}
+
+// expandDeliveryPipeline expands DeliveryPipeline into a JSON request object.
+func expandDeliveryPipeline(c *Client, f *DeliveryPipeline) (map[string]interface{}, error) {
+ m := make(map[string]interface{})
+ res := f
+ _ = res
+ if v, err := dcl.EmptyValue(); err != nil {
+ return nil, fmt.Errorf("error expanding Name into name: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ m["name"] = v
+ }
+ if v := f.Description; dcl.ValueShouldBeSent(v) {
+ m["description"] = v
+ }
+ if v := f.Annotations; dcl.ValueShouldBeSent(v) {
+ m["annotations"] = v
+ }
+ if v := f.Labels; dcl.ValueShouldBeSent(v) {
+ m["labels"] = v
+ }
+ if v, err := expandDeliveryPipelineSerialPipeline(c, f.SerialPipeline, res); err != nil {
+ return nil, fmt.Errorf("error expanding SerialPipeline into serialPipeline: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ m["serialPipeline"] = v
+ }
+ if v, err := dcl.EmptyValue(); err != nil {
+ return nil, fmt.Errorf("error expanding Project into project: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ m["project"] = v
+ }
+ if v, err := dcl.EmptyValue(); err != nil {
+ return nil, fmt.Errorf("error expanding Location into location: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ m["location"] = v
+ }
+ if v := f.Suspended; dcl.ValueShouldBeSent(v) {
+ m["suspended"] = v
+ }
+
+ return m, nil
+}
+
+// flattenDeliveryPipeline flattens DeliveryPipeline from a JSON request object into the
+// DeliveryPipeline type.
+func flattenDeliveryPipeline(c *Client, i interface{}, res *DeliveryPipeline) *DeliveryPipeline {
+ m, ok := i.(map[string]interface{})
+ if !ok {
+ return nil
+ }
+ if len(m) == 0 {
+ return nil
+ }
+
+ resultRes := &DeliveryPipeline{}
+ resultRes.Name = dcl.FlattenString(m["name"])
+ resultRes.Uid = dcl.FlattenString(m["uid"])
+ resultRes.Description = dcl.FlattenString(m["description"])
+ resultRes.Annotations = dcl.FlattenKeyValuePairs(m["annotations"])
+ resultRes.Labels = dcl.FlattenKeyValuePairs(m["labels"])
+ resultRes.CreateTime = dcl.FlattenString(m["createTime"])
+ resultRes.UpdateTime = dcl.FlattenString(m["updateTime"])
+ resultRes.SerialPipeline = flattenDeliveryPipelineSerialPipeline(c, m["serialPipeline"], res)
+ resultRes.Condition = flattenDeliveryPipelineCondition(c, m["condition"], res)
+ resultRes.Etag = dcl.FlattenString(m["etag"])
+ resultRes.Project = dcl.FlattenString(m["project"])
+ resultRes.Location = dcl.FlattenString(m["location"])
+ resultRes.Suspended = dcl.FlattenBool(m["suspended"])
+
+ return resultRes
+}
+
+// expandDeliveryPipelineSerialPipelineMap expands the contents of DeliveryPipelineSerialPipeline into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineMap(c *Client, f map[string]DeliveryPipelineSerialPipeline, res *DeliveryPipeline) (map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := make(map[string]interface{})
+ for k, item := range f {
+ i, err := expandDeliveryPipelineSerialPipeline(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+ if i != nil {
+ items[k] = i
+ }
+ }
+
+ return items, nil
+}
+
+// expandDeliveryPipelineSerialPipelineSlice expands the contents of DeliveryPipelineSerialPipeline into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineSlice(c *Client, f []DeliveryPipelineSerialPipeline, res *DeliveryPipeline) ([]map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := []map[string]interface{}{}
+ for _, item := range f {
+ i, err := expandDeliveryPipelineSerialPipeline(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+
+ items = append(items, i)
+ }
+
+ return items, nil
+}
+
+// flattenDeliveryPipelineSerialPipelineMap flattens the contents of DeliveryPipelineSerialPipeline from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineMap(c *Client, i interface{}, res *DeliveryPipeline) map[string]DeliveryPipelineSerialPipeline {
+ a, ok := i.(map[string]interface{})
+ if !ok {
+ return map[string]DeliveryPipelineSerialPipeline{}
+ }
+
+ if len(a) == 0 {
+ return map[string]DeliveryPipelineSerialPipeline{}
+ }
+
+ items := make(map[string]DeliveryPipelineSerialPipeline)
+ for k, item := range a {
+ items[k] = *flattenDeliveryPipelineSerialPipeline(c, item.(map[string]interface{}), res)
+ }
+
+ return items
+}
+
+// flattenDeliveryPipelineSerialPipelineSlice flattens the contents of DeliveryPipelineSerialPipeline from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineSlice(c *Client, i interface{}, res *DeliveryPipeline) []DeliveryPipelineSerialPipeline {
+ a, ok := i.([]interface{})
+ if !ok {
+ return []DeliveryPipelineSerialPipeline{}
+ }
+
+ if len(a) == 0 {
+ return []DeliveryPipelineSerialPipeline{}
+ }
+
+ items := make([]DeliveryPipelineSerialPipeline, 0, len(a))
+ for _, item := range a {
+ items = append(items, *flattenDeliveryPipelineSerialPipeline(c, item.(map[string]interface{}), res))
+ }
+
+ return items
+}
+
+// expandDeliveryPipelineSerialPipeline expands an instance of DeliveryPipelineSerialPipeline into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipeline(c *Client, f *DeliveryPipelineSerialPipeline, res *DeliveryPipeline) (map[string]interface{}, error) {
+ if dcl.IsEmptyValueIndirect(f) {
+ return nil, nil
+ }
+
+ m := make(map[string]interface{})
+ if v, err := expandDeliveryPipelineSerialPipelineStagesSlice(c, f.Stages, res); err != nil {
+ return nil, fmt.Errorf("error expanding Stages into stages: %w", err)
+ } else if v != nil {
+ m["stages"] = v
+ }
+
+ return m, nil
+}
+
+// flattenDeliveryPipelineSerialPipeline flattens an instance of DeliveryPipelineSerialPipeline from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipeline(c *Client, i interface{}, res *DeliveryPipeline) *DeliveryPipelineSerialPipeline {
+ m, ok := i.(map[string]interface{})
+ if !ok {
+ return nil
+ }
+
+ r := &DeliveryPipelineSerialPipeline{}
+
+ if dcl.IsEmptyValueIndirect(i) {
+ return EmptyDeliveryPipelineSerialPipeline
+ }
+ r.Stages = flattenDeliveryPipelineSerialPipelineStagesSlice(c, m["stages"], res)
+
+ return r
+}
+
+// expandDeliveryPipelineSerialPipelineStagesMap expands the contents of DeliveryPipelineSerialPipelineStages into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesMap(c *Client, f map[string]DeliveryPipelineSerialPipelineStages, res *DeliveryPipeline) (map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := make(map[string]interface{})
+ for k, item := range f {
+ i, err := expandDeliveryPipelineSerialPipelineStages(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+ if i != nil {
+ items[k] = i
+ }
+ }
+
+ return items, nil
+}
+
+// expandDeliveryPipelineSerialPipelineStagesSlice expands the contents of DeliveryPipelineSerialPipelineStages into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesSlice(c *Client, f []DeliveryPipelineSerialPipelineStages, res *DeliveryPipeline) ([]map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := []map[string]interface{}{}
+ for _, item := range f {
+ i, err := expandDeliveryPipelineSerialPipelineStages(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+
+ items = append(items, i)
+ }
+
+ return items, nil
+}
+
+// flattenDeliveryPipelineSerialPipelineStagesMap flattens the contents of DeliveryPipelineSerialPipelineStages from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesMap(c *Client, i interface{}, res *DeliveryPipeline) map[string]DeliveryPipelineSerialPipelineStages {
+ a, ok := i.(map[string]interface{})
+ if !ok {
+ return map[string]DeliveryPipelineSerialPipelineStages{}
+ }
+
+ if len(a) == 0 {
+ return map[string]DeliveryPipelineSerialPipelineStages{}
+ }
+
+ items := make(map[string]DeliveryPipelineSerialPipelineStages)
+ for k, item := range a {
+ items[k] = *flattenDeliveryPipelineSerialPipelineStages(c, item.(map[string]interface{}), res)
+ }
+
+ return items
+}
+
+// flattenDeliveryPipelineSerialPipelineStagesSlice flattens the contents of DeliveryPipelineSerialPipelineStages from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesSlice(c *Client, i interface{}, res *DeliveryPipeline) []DeliveryPipelineSerialPipelineStages {
+ a, ok := i.([]interface{})
+ if !ok {
+ return []DeliveryPipelineSerialPipelineStages{}
+ }
+
+ if len(a) == 0 {
+ return []DeliveryPipelineSerialPipelineStages{}
+ }
+
+ items := make([]DeliveryPipelineSerialPipelineStages, 0, len(a))
+ for _, item := range a {
+ items = append(items, *flattenDeliveryPipelineSerialPipelineStages(c, item.(map[string]interface{}), res))
+ }
+
+ return items
+}
+
+// expandDeliveryPipelineSerialPipelineStages expands an instance of DeliveryPipelineSerialPipelineStages into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStages(c *Client, f *DeliveryPipelineSerialPipelineStages, res *DeliveryPipeline) (map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ m := make(map[string]interface{})
+ if v := f.TargetId; !dcl.IsEmptyValueIndirect(v) {
+ m["targetId"] = v
+ }
+ if v := f.Profiles; v != nil {
+ m["profiles"] = v
+ }
+ if v, err := expandDeliveryPipelineSerialPipelineStagesStrategy(c, f.Strategy, res); err != nil {
+ return nil, fmt.Errorf("error expanding Strategy into strategy: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ m["strategy"] = v
+ }
+ if v, err := expandDeliveryPipelineSerialPipelineStagesDeployParametersSlice(c, f.DeployParameters, res); err != nil {
+ return nil, fmt.Errorf("error expanding DeployParameters into deployParameters: %w", err)
+ } else if v != nil {
+ m["deployParameters"] = v
+ }
+
+ return m, nil
+}
+
+// flattenDeliveryPipelineSerialPipelineStages flattens an instance of DeliveryPipelineSerialPipelineStages from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStages(c *Client, i interface{}, res *DeliveryPipeline) *DeliveryPipelineSerialPipelineStages {
+ m, ok := i.(map[string]interface{})
+ if !ok {
+ return nil
+ }
+
+ r := &DeliveryPipelineSerialPipelineStages{}
+
+ if dcl.IsEmptyValueIndirect(i) {
+ return EmptyDeliveryPipelineSerialPipelineStages
+ }
+ r.TargetId = dcl.FlattenString(m["targetId"])
+ r.Profiles = dcl.FlattenStringSlice(m["profiles"])
+ r.Strategy = flattenDeliveryPipelineSerialPipelineStagesStrategy(c, m["strategy"], res)
+ r.DeployParameters = flattenDeliveryPipelineSerialPipelineStagesDeployParametersSlice(c, m["deployParameters"], res)
+
+ return r
+}
+
+// expandDeliveryPipelineSerialPipelineStagesStrategyMap expands the contents of DeliveryPipelineSerialPipelineStagesStrategy into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesStrategyMap(c *Client, f map[string]DeliveryPipelineSerialPipelineStagesStrategy, res *DeliveryPipeline) (map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := make(map[string]interface{})
+ for k, item := range f {
+ i, err := expandDeliveryPipelineSerialPipelineStagesStrategy(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+ if i != nil {
+ items[k] = i
+ }
+ }
+
+ return items, nil
+}
+
+// expandDeliveryPipelineSerialPipelineStagesStrategySlice expands the contents of DeliveryPipelineSerialPipelineStagesStrategy into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesStrategySlice(c *Client, f []DeliveryPipelineSerialPipelineStagesStrategy, res *DeliveryPipeline) ([]map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := []map[string]interface{}{}
+ for _, item := range f {
+ i, err := expandDeliveryPipelineSerialPipelineStagesStrategy(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+
+ items = append(items, i)
+ }
+
+ return items, nil
+}
+
+// flattenDeliveryPipelineSerialPipelineStagesStrategyMap flattens the contents of DeliveryPipelineSerialPipelineStagesStrategy from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesStrategyMap(c *Client, i interface{}, res *DeliveryPipeline) map[string]DeliveryPipelineSerialPipelineStagesStrategy {
+ a, ok := i.(map[string]interface{})
+ if !ok {
+ return map[string]DeliveryPipelineSerialPipelineStagesStrategy{}
+ }
+
+ if len(a) == 0 {
+ return map[string]DeliveryPipelineSerialPipelineStagesStrategy{}
+ }
+
+ items := make(map[string]DeliveryPipelineSerialPipelineStagesStrategy)
+ for k, item := range a {
+ items[k] = *flattenDeliveryPipelineSerialPipelineStagesStrategy(c, item.(map[string]interface{}), res)
+ }
+
+ return items
+}
+
+// flattenDeliveryPipelineSerialPipelineStagesStrategySlice flattens the contents of DeliveryPipelineSerialPipelineStagesStrategy from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesStrategySlice(c *Client, i interface{}, res *DeliveryPipeline) []DeliveryPipelineSerialPipelineStagesStrategy {
+ a, ok := i.([]interface{})
+ if !ok {
+ return []DeliveryPipelineSerialPipelineStagesStrategy{}
+ }
+
+ if len(a) == 0 {
+ return []DeliveryPipelineSerialPipelineStagesStrategy{}
+ }
+
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategy, 0, len(a))
+ for _, item := range a {
+ items = append(items, *flattenDeliveryPipelineSerialPipelineStagesStrategy(c, item.(map[string]interface{}), res))
+ }
+
+ return items
+}
+
+// expandDeliveryPipelineSerialPipelineStagesStrategy expands an instance of DeliveryPipelineSerialPipelineStagesStrategy into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesStrategy(c *Client, f *DeliveryPipelineSerialPipelineStagesStrategy, res *DeliveryPipeline) (map[string]interface{}, error) {
+ if dcl.IsEmptyValueIndirect(f) {
+ return nil, nil
+ }
+
+ m := make(map[string]interface{})
+ if v, err := expandDeliveryPipelineSerialPipelineStagesStrategyStandard(c, f.Standard, res); err != nil {
+ return nil, fmt.Errorf("error expanding Standard into standard: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ m["standard"] = v
+ }
+ if v, err := expandDeliveryPipelineSerialPipelineStagesStrategyCanary(c, f.Canary, res); err != nil {
+ return nil, fmt.Errorf("error expanding Canary into canary: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ m["canary"] = v
+ }
+
+ return m, nil
+}
+
+// flattenDeliveryPipelineSerialPipelineStagesStrategy flattens an instance of DeliveryPipelineSerialPipelineStagesStrategy from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesStrategy(c *Client, i interface{}, res *DeliveryPipeline) *DeliveryPipelineSerialPipelineStagesStrategy {
+ m, ok := i.(map[string]interface{})
+ if !ok {
+ return nil
+ }
+
+ r := &DeliveryPipelineSerialPipelineStagesStrategy{}
+
+ if dcl.IsEmptyValueIndirect(i) {
+ return EmptyDeliveryPipelineSerialPipelineStagesStrategy
+ }
+ r.Standard = flattenDeliveryPipelineSerialPipelineStagesStrategyStandard(c, m["standard"], res)
+ r.Canary = flattenDeliveryPipelineSerialPipelineStagesStrategyCanary(c, m["canary"], res)
+
+ return r
+}
+
+// expandDeliveryPipelineSerialPipelineStagesStrategyStandardMap expands the contents of DeliveryPipelineSerialPipelineStagesStrategyStandard into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesStrategyStandardMap(c *Client, f map[string]DeliveryPipelineSerialPipelineStagesStrategyStandard, res *DeliveryPipeline) (map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := make(map[string]interface{})
+ for k, item := range f {
+ i, err := expandDeliveryPipelineSerialPipelineStagesStrategyStandard(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+ if i != nil {
+ items[k] = i
+ }
+ }
+
+ return items, nil
+}
+
+// expandDeliveryPipelineSerialPipelineStagesStrategyStandardSlice expands the contents of DeliveryPipelineSerialPipelineStagesStrategyStandard into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesStrategyStandardSlice(c *Client, f []DeliveryPipelineSerialPipelineStagesStrategyStandard, res *DeliveryPipeline) ([]map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := []map[string]interface{}{}
+ for _, item := range f {
+ i, err := expandDeliveryPipelineSerialPipelineStagesStrategyStandard(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+
+ items = append(items, i)
+ }
+
+ return items, nil
+}
+
+// flattenDeliveryPipelineSerialPipelineStagesStrategyStandardMap flattens the contents of DeliveryPipelineSerialPipelineStagesStrategyStandard from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesStrategyStandardMap(c *Client, i interface{}, res *DeliveryPipeline) map[string]DeliveryPipelineSerialPipelineStagesStrategyStandard {
+ a, ok := i.(map[string]interface{})
+ if !ok {
+ return map[string]DeliveryPipelineSerialPipelineStagesStrategyStandard{}
+ }
+
+ if len(a) == 0 {
+ return map[string]DeliveryPipelineSerialPipelineStagesStrategyStandard{}
+ }
+
+ items := make(map[string]DeliveryPipelineSerialPipelineStagesStrategyStandard)
+ for k, item := range a {
+ items[k] = *flattenDeliveryPipelineSerialPipelineStagesStrategyStandard(c, item.(map[string]interface{}), res)
+ }
+
+ return items
+}
+
+// flattenDeliveryPipelineSerialPipelineStagesStrategyStandardSlice flattens the contents of DeliveryPipelineSerialPipelineStagesStrategyStandard from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesStrategyStandardSlice(c *Client, i interface{}, res *DeliveryPipeline) []DeliveryPipelineSerialPipelineStagesStrategyStandard {
+ a, ok := i.([]interface{})
+ if !ok {
+ return []DeliveryPipelineSerialPipelineStagesStrategyStandard{}
+ }
+
+ if len(a) == 0 {
+ return []DeliveryPipelineSerialPipelineStagesStrategyStandard{}
+ }
+
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategyStandard, 0, len(a))
+ for _, item := range a {
+ items = append(items, *flattenDeliveryPipelineSerialPipelineStagesStrategyStandard(c, item.(map[string]interface{}), res))
+ }
+
+ return items
+}
+
+// expandDeliveryPipelineSerialPipelineStagesStrategyStandard expands an instance of DeliveryPipelineSerialPipelineStagesStrategyStandard into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesStrategyStandard(c *Client, f *DeliveryPipelineSerialPipelineStagesStrategyStandard, res *DeliveryPipeline) (map[string]interface{}, error) {
+ if dcl.IsEmptyValueIndirect(f) {
+ return nil, nil
+ }
+
+ m := make(map[string]interface{})
+ if v := f.Verify; !dcl.IsEmptyValueIndirect(v) {
+ m["verify"] = v
+ }
+
+ return m, nil
+}
+
+// flattenDeliveryPipelineSerialPipelineStagesStrategyStandard flattens an instance of DeliveryPipelineSerialPipelineStagesStrategyStandard from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesStrategyStandard(c *Client, i interface{}, res *DeliveryPipeline) *DeliveryPipelineSerialPipelineStagesStrategyStandard {
+ m, ok := i.(map[string]interface{})
+ if !ok {
+ return nil
+ }
+
+ r := &DeliveryPipelineSerialPipelineStagesStrategyStandard{}
+
+ if dcl.IsEmptyValueIndirect(i) {
+ return EmptyDeliveryPipelineSerialPipelineStagesStrategyStandard
+ }
+ r.Verify = dcl.FlattenBool(m["verify"])
+
+ return r
+}
+
+// expandDeliveryPipelineSerialPipelineStagesStrategyCanaryMap expands the contents of DeliveryPipelineSerialPipelineStagesStrategyCanary into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesStrategyCanaryMap(c *Client, f map[string]DeliveryPipelineSerialPipelineStagesStrategyCanary, res *DeliveryPipeline) (map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := make(map[string]interface{})
+ for k, item := range f {
+ i, err := expandDeliveryPipelineSerialPipelineStagesStrategyCanary(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+ if i != nil {
+ items[k] = i
+ }
+ }
+
+ return items, nil
+}
+
+// expandDeliveryPipelineSerialPipelineStagesStrategyCanarySlice expands the contents of DeliveryPipelineSerialPipelineStagesStrategyCanary into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesStrategyCanarySlice(c *Client, f []DeliveryPipelineSerialPipelineStagesStrategyCanary, res *DeliveryPipeline) ([]map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := []map[string]interface{}{}
+ for _, item := range f {
+ i, err := expandDeliveryPipelineSerialPipelineStagesStrategyCanary(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+
+ items = append(items, i)
+ }
+
+ return items, nil
+}
+
+// flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryMap flattens the contents of DeliveryPipelineSerialPipelineStagesStrategyCanary from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryMap(c *Client, i interface{}, res *DeliveryPipeline) map[string]DeliveryPipelineSerialPipelineStagesStrategyCanary {
+ a, ok := i.(map[string]interface{})
+ if !ok {
+ return map[string]DeliveryPipelineSerialPipelineStagesStrategyCanary{}
+ }
+
+ if len(a) == 0 {
+ return map[string]DeliveryPipelineSerialPipelineStagesStrategyCanary{}
+ }
+
+ items := make(map[string]DeliveryPipelineSerialPipelineStagesStrategyCanary)
+ for k, item := range a {
+ items[k] = *flattenDeliveryPipelineSerialPipelineStagesStrategyCanary(c, item.(map[string]interface{}), res)
+ }
+
+ return items
+}
+
+// flattenDeliveryPipelineSerialPipelineStagesStrategyCanarySlice flattens the contents of DeliveryPipelineSerialPipelineStagesStrategyCanary from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesStrategyCanarySlice(c *Client, i interface{}, res *DeliveryPipeline) []DeliveryPipelineSerialPipelineStagesStrategyCanary {
+ a, ok := i.([]interface{})
+ if !ok {
+ return []DeliveryPipelineSerialPipelineStagesStrategyCanary{}
+ }
+
+ if len(a) == 0 {
+ return []DeliveryPipelineSerialPipelineStagesStrategyCanary{}
+ }
+
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategyCanary, 0, len(a))
+ for _, item := range a {
+ items = append(items, *flattenDeliveryPipelineSerialPipelineStagesStrategyCanary(c, item.(map[string]interface{}), res))
+ }
+
+ return items
+}
+
+// expandDeliveryPipelineSerialPipelineStagesStrategyCanary expands an instance of DeliveryPipelineSerialPipelineStagesStrategyCanary into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesStrategyCanary(c *Client, f *DeliveryPipelineSerialPipelineStagesStrategyCanary, res *DeliveryPipeline) (map[string]interface{}, error) {
+ if dcl.IsEmptyValueIndirect(f) {
+ return nil, nil
+ }
+
+ m := make(map[string]interface{})
+ if v, err := expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig(c, f.RuntimeConfig, res); err != nil {
+ return nil, fmt.Errorf("error expanding RuntimeConfig into runtimeConfig: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ m["runtimeConfig"] = v
+ }
+ if v, err := expandDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment(c, f.CanaryDeployment, res); err != nil {
+ return nil, fmt.Errorf("error expanding CanaryDeployment into canaryDeployment: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ m["canaryDeployment"] = v
+ }
+ if v, err := expandDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment(c, f.CustomCanaryDeployment, res); err != nil {
+ return nil, fmt.Errorf("error expanding CustomCanaryDeployment into customCanaryDeployment: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ m["customCanaryDeployment"] = v
+ }
+
+ return m, nil
+}
+
+// flattenDeliveryPipelineSerialPipelineStagesStrategyCanary flattens an instance of DeliveryPipelineSerialPipelineStagesStrategyCanary from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesStrategyCanary(c *Client, i interface{}, res *DeliveryPipeline) *DeliveryPipelineSerialPipelineStagesStrategyCanary {
+ m, ok := i.(map[string]interface{})
+ if !ok {
+ return nil
+ }
+
+ r := &DeliveryPipelineSerialPipelineStagesStrategyCanary{}
+
+ if dcl.IsEmptyValueIndirect(i) {
+ return EmptyDeliveryPipelineSerialPipelineStagesStrategyCanary
+ }
+ r.RuntimeConfig = flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig(c, m["runtimeConfig"], res)
+ r.CanaryDeployment = flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment(c, m["canaryDeployment"], res)
+ r.CustomCanaryDeployment = flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment(c, m["customCanaryDeployment"], res)
+
+ return r
+}
+
+// expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigMap expands the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigMap(c *Client, f map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig, res *DeliveryPipeline) (map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := make(map[string]interface{})
+ for k, item := range f {
+ i, err := expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+ if i != nil {
+ items[k] = i
+ }
+ }
+
+ return items, nil
+}
+
+// expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigSlice expands the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigSlice(c *Client, f []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig, res *DeliveryPipeline) ([]map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := []map[string]interface{}{}
+ for _, item := range f {
+ i, err := expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
- if ds, err := dcl.Diff(desired.Condition, actual.Condition, dcl.DiffInfo{OutputOnly: true, ObjectFunction: compareDeliveryPipelineConditionNewStyle, EmptyObject: EmptyDeliveryPipelineCondition, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Condition")); len(ds) != 0 || err != nil {
+ items = append(items, i)
+ }
+
+ return items, nil
+}
+
+// flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigMap flattens the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigMap(c *Client, i interface{}, res *DeliveryPipeline) map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig {
+ a, ok := i.(map[string]interface{})
+ if !ok {
+ return map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig{}
+ }
+
+ if len(a) == 0 {
+ return map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig{}
+ }
+
+ items := make(map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig)
+ for k, item := range a {
+ items[k] = *flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig(c, item.(map[string]interface{}), res)
+ }
+
+ return items
+}
+
+// flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigSlice flattens the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigSlice(c *Client, i interface{}, res *DeliveryPipeline) []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig {
+ a, ok := i.([]interface{})
+ if !ok {
+ return []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig{}
+ }
+
+ if len(a) == 0 {
+ return []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig{}
+ }
+
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig, 0, len(a))
+ for _, item := range a {
+ items = append(items, *flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig(c, item.(map[string]interface{}), res))
+ }
+
+ return items
+}
+
+// expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig expands an instance of DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig(c *Client, f *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig, res *DeliveryPipeline) (map[string]interface{}, error) {
+ if dcl.IsEmptyValueIndirect(f) {
+ return nil, nil
+ }
+
+ m := make(map[string]interface{})
+ if v, err := expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes(c, f.Kubernetes, res); err != nil {
+ return nil, fmt.Errorf("error expanding Kubernetes into kubernetes: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ m["kubernetes"] = v
+ }
+ if v, err := expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun(c, f.CloudRun, res); err != nil {
+ return nil, fmt.Errorf("error expanding CloudRun into cloudRun: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ m["cloudRun"] = v
+ }
+
+ return m, nil
+}
+
+// flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig flattens an instance of DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig(c *Client, i interface{}, res *DeliveryPipeline) *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig {
+ m, ok := i.(map[string]interface{})
+ if !ok {
+ return nil
+ }
+
+ r := &DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig{}
+
+ if dcl.IsEmptyValueIndirect(i) {
+ return EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig
+ }
+ r.Kubernetes = flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes(c, m["kubernetes"], res)
+ r.CloudRun = flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun(c, m["cloudRun"], res)
+
+ return r
+}
+
+// expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesMap expands the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesMap(c *Client, f map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes, res *DeliveryPipeline) (map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := make(map[string]interface{})
+ for k, item := range f {
+ i, err := expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes(c, &item, res)
if err != nil {
return nil, err
}
- newDiffs = append(newDiffs, ds...)
+ if i != nil {
+ items[k] = i
+ }
}
- if ds, err := dcl.Diff(desired.Etag, actual.Etag, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Etag")); len(ds) != 0 || err != nil {
+ return items, nil
+}
+
+// expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesSlice expands the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesSlice(c *Client, f []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes, res *DeliveryPipeline) ([]map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := []map[string]interface{}{}
+ for _, item := range f {
+ i, err := expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes(c, &item, res)
if err != nil {
return nil, err
}
- newDiffs = append(newDiffs, ds...)
+
+ items = append(items, i)
}
- if ds, err := dcl.Diff(desired.Project, actual.Project, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Project")); len(ds) != 0 || err != nil {
+ return items, nil
+}
+
+// flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesMap flattens the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesMap(c *Client, i interface{}, res *DeliveryPipeline) map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes {
+ a, ok := i.(map[string]interface{})
+ if !ok {
+ return map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes{}
+ }
+
+ if len(a) == 0 {
+ return map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes{}
+ }
+
+ items := make(map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes)
+ for k, item := range a {
+ items[k] = *flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes(c, item.(map[string]interface{}), res)
+ }
+
+ return items
+}
+
+// flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesSlice flattens the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesSlice(c *Client, i interface{}, res *DeliveryPipeline) []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes {
+ a, ok := i.([]interface{})
+ if !ok {
+ return []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes{}
+ }
+
+ if len(a) == 0 {
+ return []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes{}
+ }
+
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes, 0, len(a))
+ for _, item := range a {
+ items = append(items, *flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes(c, item.(map[string]interface{}), res))
+ }
+
+ return items
+}
+
+// expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes expands an instance of DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes(c *Client, f *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes, res *DeliveryPipeline) (map[string]interface{}, error) {
+ if dcl.IsEmptyValueIndirect(f) {
+ return nil, nil
+ }
+
+ m := make(map[string]interface{})
+ if v, err := expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh(c, f.GatewayServiceMesh, res); err != nil {
+ return nil, fmt.Errorf("error expanding GatewayServiceMesh into gatewayServiceMesh: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ m["gatewayServiceMesh"] = v
+ }
+ if v, err := expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking(c, f.ServiceNetworking, res); err != nil {
+ return nil, fmt.Errorf("error expanding ServiceNetworking into serviceNetworking: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ m["serviceNetworking"] = v
+ }
+
+ return m, nil
+}
+
+// flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes flattens an instance of DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes(c *Client, i interface{}, res *DeliveryPipeline) *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes {
+ m, ok := i.(map[string]interface{})
+ if !ok {
+ return nil
+ }
+
+ r := &DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes{}
+
+ if dcl.IsEmptyValueIndirect(i) {
+ return EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes
+ }
+ r.GatewayServiceMesh = flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh(c, m["gatewayServiceMesh"], res)
+ r.ServiceNetworking = flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking(c, m["serviceNetworking"], res)
+
+ return r
+}
+
+// expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshMap expands the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshMap(c *Client, f map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh, res *DeliveryPipeline) (map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := make(map[string]interface{})
+ for k, item := range f {
+ i, err := expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh(c, &item, res)
if err != nil {
return nil, err
}
- newDiffs = append(newDiffs, ds...)
+ if i != nil {
+ items[k] = i
+ }
}
- if ds, err := dcl.Diff(desired.Location, actual.Location, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Location")); len(ds) != 0 || err != nil {
+ return items, nil
+}
+
+// expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshSlice expands the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshSlice(c *Client, f []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh, res *DeliveryPipeline) ([]map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := []map[string]interface{}{}
+ for _, item := range f {
+ i, err := expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh(c, &item, res)
if err != nil {
return nil, err
}
- newDiffs = append(newDiffs, ds...)
+
+ items = append(items, i)
+ }
+
+ return items, nil
+}
+
+// flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshMap flattens the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshMap(c *Client, i interface{}, res *DeliveryPipeline) map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh {
+ a, ok := i.(map[string]interface{})
+ if !ok {
+ return map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh{}
+ }
+
+ if len(a) == 0 {
+ return map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh{}
+ }
+
+ items := make(map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh)
+ for k, item := range a {
+ items[k] = *flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh(c, item.(map[string]interface{}), res)
+ }
+
+ return items
+}
+
+// flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshSlice flattens the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshSlice(c *Client, i interface{}, res *DeliveryPipeline) []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh {
+ a, ok := i.([]interface{})
+ if !ok {
+ return []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh{}
+ }
+
+ if len(a) == 0 {
+ return []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh{}
+ }
+
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh, 0, len(a))
+ for _, item := range a {
+ items = append(items, *flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh(c, item.(map[string]interface{}), res))
+ }
+
+ return items
+}
+
+// expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh expands an instance of DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh(c *Client, f *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh, res *DeliveryPipeline) (map[string]interface{}, error) {
+ if dcl.IsEmptyValueIndirect(f) {
+ return nil, nil
+ }
+
+ m := make(map[string]interface{})
+ if v := f.HttpRoute; !dcl.IsEmptyValueIndirect(v) {
+ m["httpRoute"] = v
+ }
+ if v := f.Service; !dcl.IsEmptyValueIndirect(v) {
+ m["service"] = v
+ }
+ if v := f.Deployment; !dcl.IsEmptyValueIndirect(v) {
+ m["deployment"] = v
+ }
+
+ return m, nil
+}
+
+// flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh flattens an instance of DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh(c *Client, i interface{}, res *DeliveryPipeline) *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh {
+ m, ok := i.(map[string]interface{})
+ if !ok {
+ return nil
+ }
+
+ r := &DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh{}
+
+ if dcl.IsEmptyValueIndirect(i) {
+ return EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh
+ }
+ r.HttpRoute = dcl.FlattenString(m["httpRoute"])
+ r.Service = dcl.FlattenString(m["service"])
+ r.Deployment = dcl.FlattenString(m["deployment"])
+
+ return r
+}
+
+// expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworkingMap expands the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworkingMap(c *Client, f map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking, res *DeliveryPipeline) (map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := make(map[string]interface{})
+ for k, item := range f {
+ i, err := expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+ if i != nil {
+ items[k] = i
+ }
+ }
+
+ return items, nil
+}
+
+// expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworkingSlice expands the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworkingSlice(c *Client, f []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking, res *DeliveryPipeline) ([]map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
}
- if ds, err := dcl.Diff(desired.Suspended, actual.Suspended, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Suspended")); len(ds) != 0 || err != nil {
+ items := []map[string]interface{}{}
+ for _, item := range f {
+ i, err := expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking(c, &item, res)
if err != nil {
return nil, err
}
- newDiffs = append(newDiffs, ds...)
- }
- if len(newDiffs) > 0 {
- c.Config.Logger.Infof("Diff function found diffs: %v", newDiffs)
+ items = append(items, i)
}
- return newDiffs, nil
+
+ return items, nil
}
-func compareDeliveryPipelineSerialPipelineNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
- desired, ok := d.(*DeliveryPipelineSerialPipeline)
+// flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworkingMap flattens the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworkingMap(c *Client, i interface{}, res *DeliveryPipeline) map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking {
+ a, ok := i.(map[string]interface{})
if !ok {
- desiredNotPointer, ok := d.(DeliveryPipelineSerialPipeline)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipeline or *DeliveryPipelineSerialPipeline", d)
- }
- desired = &desiredNotPointer
+ return map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking{}
}
- actual, ok := a.(*DeliveryPipelineSerialPipeline)
+
+ if len(a) == 0 {
+ return map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking{}
+ }
+
+ items := make(map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking)
+ for k, item := range a {
+ items[k] = *flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking(c, item.(map[string]interface{}), res)
+ }
+
+ return items
+}
+
+// flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworkingSlice flattens the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworkingSlice(c *Client, i interface{}, res *DeliveryPipeline) []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking {
+ a, ok := i.([]interface{})
if !ok {
- actualNotPointer, ok := a.(DeliveryPipelineSerialPipeline)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipeline", a)
- }
- actual = &actualNotPointer
+ return []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking{}
}
- if ds, err := dcl.Diff(desired.Stages, actual.Stages, dcl.DiffInfo{ObjectFunction: compareDeliveryPipelineSerialPipelineStagesNewStyle, EmptyObject: EmptyDeliveryPipelineSerialPipelineStages, OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Stages")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
+ if len(a) == 0 {
+ return []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking{}
}
- return diffs, nil
+
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking, 0, len(a))
+ for _, item := range a {
+ items = append(items, *flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking(c, item.(map[string]interface{}), res))
+ }
+
+ return items
}
-func compareDeliveryPipelineSerialPipelineStagesNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
+// expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking expands an instance of DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking(c *Client, f *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking, res *DeliveryPipeline) (map[string]interface{}, error) {
+ if dcl.IsEmptyValueIndirect(f) {
+ return nil, nil
+ }
- desired, ok := d.(*DeliveryPipelineSerialPipelineStages)
- if !ok {
- desiredNotPointer, ok := d.(DeliveryPipelineSerialPipelineStages)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipelineStages or *DeliveryPipelineSerialPipelineStages", d)
- }
- desired = &desiredNotPointer
+ m := make(map[string]interface{})
+ if v := f.Service; !dcl.IsEmptyValueIndirect(v) {
+ m["service"] = v
}
- actual, ok := a.(*DeliveryPipelineSerialPipelineStages)
+ if v := f.Deployment; !dcl.IsEmptyValueIndirect(v) {
+ m["deployment"] = v
+ }
+ if v := f.DisablePodOverprovisioning; !dcl.IsEmptyValueIndirect(v) {
+ m["disablePodOverprovisioning"] = v
+ }
+
+ return m, nil
+}
+
+// flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking flattens an instance of DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking(c *Client, i interface{}, res *DeliveryPipeline) *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking {
+ m, ok := i.(map[string]interface{})
if !ok {
- actualNotPointer, ok := a.(DeliveryPipelineSerialPipelineStages)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DeliveryPipelineSerialPipelineStages", a)
- }
- actual = &actualNotPointer
+ return nil
}
- if ds, err := dcl.Diff(desired.TargetId, actual.TargetId, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("TargetId")); len(ds) != 0 || err != nil {
+ r := &DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking{}
+
+ if dcl.IsEmptyValueIndirect(i) {
+ return EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking
+ }
+ r.Service = dcl.FlattenString(m["service"])
+ r.Deployment = dcl.FlattenString(m["deployment"])
+ r.DisablePodOverprovisioning = dcl.FlattenBool(m["disablePodOverprovisioning"])
+
+ return r
+}
+
+// expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRunMap expands the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRunMap(c *Client, f map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun, res *DeliveryPipeline) (map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := make(map[string]interface{})
+ for k, item := range f {
+ i, err := expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun(c, &item, res)
if err != nil {
return nil, err
}
- diffs = append(diffs, ds...)
+ if i != nil {
+ items[k] = i
+ }
}
- if ds, err := dcl.Diff(desired.Profiles, actual.Profiles, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Profiles")); len(ds) != 0 || err != nil {
+ return items, nil
+}
+
+// expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRunSlice expands the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRunSlice(c *Client, f []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun, res *DeliveryPipeline) ([]map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := []map[string]interface{}{}
+ for _, item := range f {
+ i, err := expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun(c, &item, res)
if err != nil {
return nil, err
}
- diffs = append(diffs, ds...)
+
+ items = append(items, i)
}
- return diffs, nil
+
+ return items, nil
}
-func compareDeliveryPipelineConditionNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
+// flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRunMap flattens the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRunMap(c *Client, i interface{}, res *DeliveryPipeline) map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun {
+ a, ok := i.(map[string]interface{})
+ if !ok {
+ return map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun{}
+ }
- desired, ok := d.(*DeliveryPipelineCondition)
+ if len(a) == 0 {
+ return map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun{}
+ }
+
+ items := make(map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun)
+ for k, item := range a {
+ items[k] = *flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun(c, item.(map[string]interface{}), res)
+ }
+
+ return items
+}
+
+// flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRunSlice flattens the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRunSlice(c *Client, i interface{}, res *DeliveryPipeline) []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun {
+ a, ok := i.([]interface{})
if !ok {
- desiredNotPointer, ok := d.(DeliveryPipelineCondition)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DeliveryPipelineCondition or *DeliveryPipelineCondition", d)
- }
- desired = &desiredNotPointer
+ return []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun{}
}
- actual, ok := a.(*DeliveryPipelineCondition)
+
+ if len(a) == 0 {
+ return []DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun{}
+ }
+
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun, 0, len(a))
+ for _, item := range a {
+ items = append(items, *flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun(c, item.(map[string]interface{}), res))
+ }
+
+ return items
+}
+
+// expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun expands an instance of DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun(c *Client, f *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun, res *DeliveryPipeline) (map[string]interface{}, error) {
+ if dcl.IsEmptyValueIndirect(f) {
+ return nil, nil
+ }
+
+ m := make(map[string]interface{})
+ if v := f.AutomaticTrafficControl; !dcl.IsEmptyValueIndirect(v) {
+ m["automaticTrafficControl"] = v
+ }
+
+ return m, nil
+}
+
+// flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun flattens an instance of DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun(c *Client, i interface{}, res *DeliveryPipeline) *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun {
+ m, ok := i.(map[string]interface{})
if !ok {
- actualNotPointer, ok := a.(DeliveryPipelineCondition)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DeliveryPipelineCondition", a)
- }
- actual = &actualNotPointer
+ return nil
}
- if ds, err := dcl.Diff(desired.PipelineReadyCondition, actual.PipelineReadyCondition, dcl.DiffInfo{ObjectFunction: compareDeliveryPipelineConditionPipelineReadyConditionNewStyle, EmptyObject: EmptyDeliveryPipelineConditionPipelineReadyCondition, OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("PipelineReadyCondition")); len(ds) != 0 || err != nil {
+ r := &DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun{}
+
+ if dcl.IsEmptyValueIndirect(i) {
+ return EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun
+ }
+ r.AutomaticTrafficControl = dcl.FlattenBool(m["automaticTrafficControl"])
+
+ return r
+}
+
+// expandDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeploymentMap expands the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeploymentMap(c *Client, f map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment, res *DeliveryPipeline) (map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := make(map[string]interface{})
+ for k, item := range f {
+ i, err := expandDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment(c, &item, res)
if err != nil {
return nil, err
}
- diffs = append(diffs, ds...)
+ if i != nil {
+ items[k] = i
+ }
}
- if ds, err := dcl.Diff(desired.TargetsPresentCondition, actual.TargetsPresentCondition, dcl.DiffInfo{ObjectFunction: compareDeliveryPipelineConditionTargetsPresentConditionNewStyle, EmptyObject: EmptyDeliveryPipelineConditionTargetsPresentCondition, OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("TargetsPresentCondition")); len(ds) != 0 || err != nil {
+ return items, nil
+}
+
+// expandDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeploymentSlice expands the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeploymentSlice(c *Client, f []DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment, res *DeliveryPipeline) ([]map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := []map[string]interface{}{}
+ for _, item := range f {
+ i, err := expandDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment(c, &item, res)
if err != nil {
return nil, err
}
- diffs = append(diffs, ds...)
+
+ items = append(items, i)
}
- return diffs, nil
-}
-func compareDeliveryPipelineConditionPipelineReadyConditionNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
+ return items, nil
+}
- desired, ok := d.(*DeliveryPipelineConditionPipelineReadyCondition)
+// flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeploymentMap flattens the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeploymentMap(c *Client, i interface{}, res *DeliveryPipeline) map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment {
+ a, ok := i.(map[string]interface{})
if !ok {
- desiredNotPointer, ok := d.(DeliveryPipelineConditionPipelineReadyCondition)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DeliveryPipelineConditionPipelineReadyCondition or *DeliveryPipelineConditionPipelineReadyCondition", d)
- }
- desired = &desiredNotPointer
+ return map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment{}
}
- actual, ok := a.(*DeliveryPipelineConditionPipelineReadyCondition)
+
+ if len(a) == 0 {
+ return map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment{}
+ }
+
+ items := make(map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment)
+ for k, item := range a {
+ items[k] = *flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment(c, item.(map[string]interface{}), res)
+ }
+
+ return items
+}
+
+// flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeploymentSlice flattens the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeploymentSlice(c *Client, i interface{}, res *DeliveryPipeline) []DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment {
+ a, ok := i.([]interface{})
if !ok {
- actualNotPointer, ok := a.(DeliveryPipelineConditionPipelineReadyCondition)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DeliveryPipelineConditionPipelineReadyCondition", a)
- }
- actual = &actualNotPointer
+ return []DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment{}
}
- if ds, err := dcl.Diff(desired.Status, actual.Status, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Status")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
+ if len(a) == 0 {
+ return []DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment{}
}
- if ds, err := dcl.Diff(desired.UpdateTime, actual.UpdateTime, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("UpdateTime")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment, 0, len(a))
+ for _, item := range a {
+ items = append(items, *flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment(c, item.(map[string]interface{}), res))
+ }
+
+ return items
+}
+
+// expandDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment expands an instance of DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment(c *Client, f *DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment, res *DeliveryPipeline) (map[string]interface{}, error) {
+ if dcl.IsEmptyValueIndirect(f) {
+ return nil, nil
+ }
+
+ m := make(map[string]interface{})
+ if v := f.Percentages; v != nil {
+ m["percentages"] = v
+ }
+ if v := f.Verify; !dcl.IsEmptyValueIndirect(v) {
+ m["verify"] = v
}
- return diffs, nil
-}
-func compareDeliveryPipelineConditionTargetsPresentConditionNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
+ return m, nil
+}
- desired, ok := d.(*DeliveryPipelineConditionTargetsPresentCondition)
+// flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment flattens an instance of DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment(c *Client, i interface{}, res *DeliveryPipeline) *DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment {
+ m, ok := i.(map[string]interface{})
if !ok {
- desiredNotPointer, ok := d.(DeliveryPipelineConditionTargetsPresentCondition)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DeliveryPipelineConditionTargetsPresentCondition or *DeliveryPipelineConditionTargetsPresentCondition", d)
- }
- desired = &desiredNotPointer
+ return nil
}
- actual, ok := a.(*DeliveryPipelineConditionTargetsPresentCondition)
- if !ok {
- actualNotPointer, ok := a.(DeliveryPipelineConditionTargetsPresentCondition)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DeliveryPipelineConditionTargetsPresentCondition", a)
- }
- actual = &actualNotPointer
+
+ r := &DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment{}
+
+ if dcl.IsEmptyValueIndirect(i) {
+ return EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment
}
+ r.Percentages = dcl.FlattenIntSlice(m["percentages"])
+ r.Verify = dcl.FlattenBool(m["verify"])
- if ds, err := dcl.Diff(desired.Status, actual.Status, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("Status")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
+ return r
+}
+
+// expandDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentMap expands the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentMap(c *Client, f map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment, res *DeliveryPipeline) (map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
}
- if ds, err := dcl.Diff(desired.MissingTargets, actual.MissingTargets, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("MissingTargets")); len(ds) != 0 || err != nil {
+ items := make(map[string]interface{})
+ for k, item := range f {
+ i, err := expandDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment(c, &item, res)
if err != nil {
return nil, err
}
- diffs = append(diffs, ds...)
+ if i != nil {
+ items[k] = i
+ }
}
- if ds, err := dcl.Diff(desired.UpdateTime, actual.UpdateTime, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeliveryPipelineUpdateDeliveryPipelineOperation")}, fn.AddNest("UpdateTime")); len(ds) != 0 || err != nil {
+ return items, nil
+}
+
+// expandDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentSlice expands the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentSlice(c *Client, f []DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment, res *DeliveryPipeline) ([]map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := []map[string]interface{}{}
+ for _, item := range f {
+ i, err := expandDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment(c, &item, res)
if err != nil {
return nil, err
}
- diffs = append(diffs, ds...)
+
+ items = append(items, i)
}
- return diffs, nil
-}
-// urlNormalized returns a copy of the resource struct with values normalized
-// for URL substitutions. For instance, it converts long-form self-links to
-// short-form so they can be substituted in.
-func (r *DeliveryPipeline) urlNormalized() *DeliveryPipeline {
- normalized := dcl.Copy(*r).(DeliveryPipeline)
- normalized.Name = dcl.SelfLinkToName(r.Name)
- normalized.Uid = dcl.SelfLinkToName(r.Uid)
- normalized.Description = dcl.SelfLinkToName(r.Description)
- normalized.Etag = dcl.SelfLinkToName(r.Etag)
- normalized.Project = dcl.SelfLinkToName(r.Project)
- normalized.Location = dcl.SelfLinkToName(r.Location)
- return &normalized
+ return items, nil
}
-func (r *DeliveryPipeline) updateURL(userBasePath, updateName string) (string, error) {
- nr := r.urlNormalized()
- if updateName == "UpdateDeliveryPipeline" {
- fields := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "location": dcl.ValueOrEmptyString(nr.Location),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("projects/{{project}}/locations/{{location}}/deliveryPipelines/{{name}}", nr.basePath(), userBasePath, fields), nil
-
+// flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentMap flattens the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentMap(c *Client, i interface{}, res *DeliveryPipeline) map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment {
+ a, ok := i.(map[string]interface{})
+ if !ok {
+ return map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment{}
}
- return "", fmt.Errorf("unknown update name: %s", updateName)
-}
+ if len(a) == 0 {
+ return map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment{}
+ }
-// marshal encodes the DeliveryPipeline resource into JSON for a Create request, and
-// performs transformations from the resource schema to the API schema if
-// necessary.
-func (r *DeliveryPipeline) marshal(c *Client) ([]byte, error) {
- m, err := expandDeliveryPipeline(c, r)
- if err != nil {
- return nil, fmt.Errorf("error marshalling DeliveryPipeline: %w", err)
+ items := make(map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment)
+ for k, item := range a {
+ items[k] = *flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment(c, item.(map[string]interface{}), res)
}
- return json.Marshal(m)
+ return items
}
-// unmarshalDeliveryPipeline decodes JSON responses into the DeliveryPipeline resource schema.
-func unmarshalDeliveryPipeline(b []byte, c *Client, res *DeliveryPipeline) (*DeliveryPipeline, error) {
- var m map[string]interface{}
- if err := json.Unmarshal(b, &m); err != nil {
- return nil, err
+// flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentSlice flattens the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentSlice(c *Client, i interface{}, res *DeliveryPipeline) []DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment {
+ a, ok := i.([]interface{})
+ if !ok {
+ return []DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment{}
}
- return unmarshalMapDeliveryPipeline(m, c, res)
-}
-func unmarshalMapDeliveryPipeline(m map[string]interface{}, c *Client, res *DeliveryPipeline) (*DeliveryPipeline, error) {
+ if len(a) == 0 {
+ return []DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment{}
+ }
- flattened := flattenDeliveryPipeline(c, m, res)
- if flattened == nil {
- return nil, fmt.Errorf("attempted to flatten empty json object")
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment, 0, len(a))
+ for _, item := range a {
+ items = append(items, *flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment(c, item.(map[string]interface{}), res))
}
- return flattened, nil
+
+ return items
}
-// expandDeliveryPipeline expands DeliveryPipeline into a JSON request object.
-func expandDeliveryPipeline(c *Client, f *DeliveryPipeline) (map[string]interface{}, error) {
- m := make(map[string]interface{})
- res := f
- _ = res
- if v, err := dcl.EmptyValue(); err != nil {
- return nil, fmt.Errorf("error expanding Name into name: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["name"] = v
- }
- if v := f.Description; dcl.ValueShouldBeSent(v) {
- m["description"] = v
- }
- if v := f.Annotations; dcl.ValueShouldBeSent(v) {
- m["annotations"] = v
- }
- if v := f.Labels; dcl.ValueShouldBeSent(v) {
- m["labels"] = v
- }
- if v, err := expandDeliveryPipelineSerialPipeline(c, f.SerialPipeline, res); err != nil {
- return nil, fmt.Errorf("error expanding SerialPipeline into serialPipeline: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["serialPipeline"] = v
- }
- if v, err := dcl.EmptyValue(); err != nil {
- return nil, fmt.Errorf("error expanding Project into project: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["project"] = v
- }
- if v, err := dcl.EmptyValue(); err != nil {
- return nil, fmt.Errorf("error expanding Location into location: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["location"] = v
+// expandDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment expands an instance of DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment into a JSON
+// request object.
+func expandDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment(c *Client, f *DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment, res *DeliveryPipeline) (map[string]interface{}, error) {
+ if dcl.IsEmptyValueIndirect(f) {
+ return nil, nil
}
- if v := f.Suspended; dcl.ValueShouldBeSent(v) {
- m["suspended"] = v
+
+ m := make(map[string]interface{})
+ if v, err := expandDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigsSlice(c, f.PhaseConfigs, res); err != nil {
+ return nil, fmt.Errorf("error expanding PhaseConfigs into phaseConfigs: %w", err)
+ } else if v != nil {
+ m["phaseConfigs"] = v
}
return m, nil
}
-// flattenDeliveryPipeline flattens DeliveryPipeline from a JSON request object into the
-// DeliveryPipeline type.
-func flattenDeliveryPipeline(c *Client, i interface{}, res *DeliveryPipeline) *DeliveryPipeline {
+// flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment flattens an instance of DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment from a JSON
+// response object.
+func flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment(c *Client, i interface{}, res *DeliveryPipeline) *DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
- if len(m) == 0 {
- return nil
- }
- resultRes := &DeliveryPipeline{}
- resultRes.Name = dcl.FlattenString(m["name"])
- resultRes.Uid = dcl.FlattenString(m["uid"])
- resultRes.Description = dcl.FlattenString(m["description"])
- resultRes.Annotations = dcl.FlattenKeyValuePairs(m["annotations"])
- resultRes.Labels = dcl.FlattenKeyValuePairs(m["labels"])
- resultRes.CreateTime = dcl.FlattenString(m["createTime"])
- resultRes.UpdateTime = dcl.FlattenString(m["updateTime"])
- resultRes.SerialPipeline = flattenDeliveryPipelineSerialPipeline(c, m["serialPipeline"], res)
- resultRes.Condition = flattenDeliveryPipelineCondition(c, m["condition"], res)
- resultRes.Etag = dcl.FlattenString(m["etag"])
- resultRes.Project = dcl.FlattenString(m["project"])
- resultRes.Location = dcl.FlattenString(m["location"])
- resultRes.Suspended = dcl.FlattenBool(m["suspended"])
+ r := &DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment{}
- return resultRes
+ if dcl.IsEmptyValueIndirect(i) {
+ return EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment
+ }
+ r.PhaseConfigs = flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigsSlice(c, m["phaseConfigs"], res)
+
+ return r
}
-// expandDeliveryPipelineSerialPipelineMap expands the contents of DeliveryPipelineSerialPipeline into a JSON
+// expandDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigsMap expands the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs into a JSON
// request object.
-func expandDeliveryPipelineSerialPipelineMap(c *Client, f map[string]DeliveryPipelineSerialPipeline, res *DeliveryPipeline) (map[string]interface{}, error) {
+func expandDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigsMap(c *Client, f map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs, res *DeliveryPipeline) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
- i, err := expandDeliveryPipelineSerialPipeline(c, &item, res)
+ i, err := expandDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs(c, &item, res)
if err != nil {
return nil, err
}
@@ -1701,16 +5434,16 @@ func expandDeliveryPipelineSerialPipelineMap(c *Client, f map[string]DeliveryPip
return items, nil
}
-// expandDeliveryPipelineSerialPipelineSlice expands the contents of DeliveryPipelineSerialPipeline into a JSON
+// expandDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigsSlice expands the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs into a JSON
// request object.
-func expandDeliveryPipelineSerialPipelineSlice(c *Client, f []DeliveryPipelineSerialPipeline, res *DeliveryPipeline) ([]map[string]interface{}, error) {
+func expandDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigsSlice(c *Client, f []DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs, res *DeliveryPipeline) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
- i, err := expandDeliveryPipelineSerialPipeline(c, &item, res)
+ i, err := expandDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs(c, &item, res)
if err != nil {
return nil, err
}
@@ -1721,91 +5454,101 @@ func expandDeliveryPipelineSerialPipelineSlice(c *Client, f []DeliveryPipelineSe
return items, nil
}
-// flattenDeliveryPipelineSerialPipelineMap flattens the contents of DeliveryPipelineSerialPipeline from a JSON
+// flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigsMap flattens the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs from a JSON
// response object.
-func flattenDeliveryPipelineSerialPipelineMap(c *Client, i interface{}, res *DeliveryPipeline) map[string]DeliveryPipelineSerialPipeline {
+func flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigsMap(c *Client, i interface{}, res *DeliveryPipeline) map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs {
a, ok := i.(map[string]interface{})
if !ok {
- return map[string]DeliveryPipelineSerialPipeline{}
+ return map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs{}
}
if len(a) == 0 {
- return map[string]DeliveryPipelineSerialPipeline{}
+ return map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs{}
}
- items := make(map[string]DeliveryPipelineSerialPipeline)
+ items := make(map[string]DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs)
for k, item := range a {
- items[k] = *flattenDeliveryPipelineSerialPipeline(c, item.(map[string]interface{}), res)
+ items[k] = *flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs(c, item.(map[string]interface{}), res)
}
return items
}
-// flattenDeliveryPipelineSerialPipelineSlice flattens the contents of DeliveryPipelineSerialPipeline from a JSON
+// flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigsSlice flattens the contents of DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs from a JSON
// response object.
-func flattenDeliveryPipelineSerialPipelineSlice(c *Client, i interface{}, res *DeliveryPipeline) []DeliveryPipelineSerialPipeline {
+func flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigsSlice(c *Client, i interface{}, res *DeliveryPipeline) []DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs {
a, ok := i.([]interface{})
if !ok {
- return []DeliveryPipelineSerialPipeline{}
+ return []DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs{}
}
if len(a) == 0 {
- return []DeliveryPipelineSerialPipeline{}
+ return []DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs{}
}
- items := make([]DeliveryPipelineSerialPipeline, 0, len(a))
+ items := make([]DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs, 0, len(a))
for _, item := range a {
- items = append(items, *flattenDeliveryPipelineSerialPipeline(c, item.(map[string]interface{}), res))
+ items = append(items, *flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs(c, item.(map[string]interface{}), res))
}
return items
}
-// expandDeliveryPipelineSerialPipeline expands an instance of DeliveryPipelineSerialPipeline into a JSON
+// expandDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs expands an instance of DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs into a JSON
// request object.
-func expandDeliveryPipelineSerialPipeline(c *Client, f *DeliveryPipelineSerialPipeline, res *DeliveryPipeline) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
+func expandDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs(c *Client, f *DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs, res *DeliveryPipeline) (map[string]interface{}, error) {
+ if f == nil {
return nil, nil
}
m := make(map[string]interface{})
- if v, err := expandDeliveryPipelineSerialPipelineStagesSlice(c, f.Stages, res); err != nil {
- return nil, fmt.Errorf("error expanding Stages into stages: %w", err)
- } else if v != nil {
- m["stages"] = v
+ if v := f.PhaseId; !dcl.IsEmptyValueIndirect(v) {
+ m["phaseId"] = v
+ }
+ if v := f.Percentage; !dcl.IsEmptyValueIndirect(v) {
+ m["percentage"] = v
+ }
+ if v := f.Profiles; v != nil {
+ m["profiles"] = v
+ }
+ if v := f.Verify; !dcl.IsEmptyValueIndirect(v) {
+ m["verify"] = v
}
return m, nil
}
-// flattenDeliveryPipelineSerialPipeline flattens an instance of DeliveryPipelineSerialPipeline from a JSON
+// flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs flattens an instance of DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs from a JSON
// response object.
-func flattenDeliveryPipelineSerialPipeline(c *Client, i interface{}, res *DeliveryPipeline) *DeliveryPipelineSerialPipeline {
+func flattenDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs(c *Client, i interface{}, res *DeliveryPipeline) *DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
- r := &DeliveryPipelineSerialPipeline{}
+ r := &DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs{}
if dcl.IsEmptyValueIndirect(i) {
- return EmptyDeliveryPipelineSerialPipeline
+ return EmptyDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs
}
- r.Stages = flattenDeliveryPipelineSerialPipelineStagesSlice(c, m["stages"], res)
+ r.PhaseId = dcl.FlattenString(m["phaseId"])
+ r.Percentage = dcl.FlattenInteger(m["percentage"])
+ r.Profiles = dcl.FlattenStringSlice(m["profiles"])
+ r.Verify = dcl.FlattenBool(m["verify"])
return r
}
-// expandDeliveryPipelineSerialPipelineStagesMap expands the contents of DeliveryPipelineSerialPipelineStages into a JSON
+// expandDeliveryPipelineSerialPipelineStagesDeployParametersMap expands the contents of DeliveryPipelineSerialPipelineStagesDeployParameters into a JSON
// request object.
-func expandDeliveryPipelineSerialPipelineStagesMap(c *Client, f map[string]DeliveryPipelineSerialPipelineStages, res *DeliveryPipeline) (map[string]interface{}, error) {
+func expandDeliveryPipelineSerialPipelineStagesDeployParametersMap(c *Client, f map[string]DeliveryPipelineSerialPipelineStagesDeployParameters, res *DeliveryPipeline) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
- i, err := expandDeliveryPipelineSerialPipelineStages(c, &item, res)
+ i, err := expandDeliveryPipelineSerialPipelineStagesDeployParameters(c, &item, res)
if err != nil {
return nil, err
}
@@ -1817,16 +5560,16 @@ func expandDeliveryPipelineSerialPipelineStagesMap(c *Client, f map[string]Deliv
return items, nil
}
-// expandDeliveryPipelineSerialPipelineStagesSlice expands the contents of DeliveryPipelineSerialPipelineStages into a JSON
+// expandDeliveryPipelineSerialPipelineStagesDeployParametersSlice expands the contents of DeliveryPipelineSerialPipelineStagesDeployParameters into a JSON
// request object.
-func expandDeliveryPipelineSerialPipelineStagesSlice(c *Client, f []DeliveryPipelineSerialPipelineStages, res *DeliveryPipeline) ([]map[string]interface{}, error) {
+func expandDeliveryPipelineSerialPipelineStagesDeployParametersSlice(c *Client, f []DeliveryPipelineSerialPipelineStagesDeployParameters, res *DeliveryPipeline) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
- i, err := expandDeliveryPipelineSerialPipelineStages(c, &item, res)
+ i, err := expandDeliveryPipelineSerialPipelineStagesDeployParameters(c, &item, res)
if err != nil {
return nil, err
}
@@ -1837,79 +5580,79 @@ func expandDeliveryPipelineSerialPipelineStagesSlice(c *Client, f []DeliveryPipe
return items, nil
}
-// flattenDeliveryPipelineSerialPipelineStagesMap flattens the contents of DeliveryPipelineSerialPipelineStages from a JSON
+// flattenDeliveryPipelineSerialPipelineStagesDeployParametersMap flattens the contents of DeliveryPipelineSerialPipelineStagesDeployParameters from a JSON
// response object.
-func flattenDeliveryPipelineSerialPipelineStagesMap(c *Client, i interface{}, res *DeliveryPipeline) map[string]DeliveryPipelineSerialPipelineStages {
+func flattenDeliveryPipelineSerialPipelineStagesDeployParametersMap(c *Client, i interface{}, res *DeliveryPipeline) map[string]DeliveryPipelineSerialPipelineStagesDeployParameters {
a, ok := i.(map[string]interface{})
if !ok {
- return map[string]DeliveryPipelineSerialPipelineStages{}
+ return map[string]DeliveryPipelineSerialPipelineStagesDeployParameters{}
}
if len(a) == 0 {
- return map[string]DeliveryPipelineSerialPipelineStages{}
+ return map[string]DeliveryPipelineSerialPipelineStagesDeployParameters{}
}
- items := make(map[string]DeliveryPipelineSerialPipelineStages)
+ items := make(map[string]DeliveryPipelineSerialPipelineStagesDeployParameters)
for k, item := range a {
- items[k] = *flattenDeliveryPipelineSerialPipelineStages(c, item.(map[string]interface{}), res)
+ items[k] = *flattenDeliveryPipelineSerialPipelineStagesDeployParameters(c, item.(map[string]interface{}), res)
}
return items
}
-// flattenDeliveryPipelineSerialPipelineStagesSlice flattens the contents of DeliveryPipelineSerialPipelineStages from a JSON
+// flattenDeliveryPipelineSerialPipelineStagesDeployParametersSlice flattens the contents of DeliveryPipelineSerialPipelineStagesDeployParameters from a JSON
// response object.
-func flattenDeliveryPipelineSerialPipelineStagesSlice(c *Client, i interface{}, res *DeliveryPipeline) []DeliveryPipelineSerialPipelineStages {
+func flattenDeliveryPipelineSerialPipelineStagesDeployParametersSlice(c *Client, i interface{}, res *DeliveryPipeline) []DeliveryPipelineSerialPipelineStagesDeployParameters {
a, ok := i.([]interface{})
if !ok {
- return []DeliveryPipelineSerialPipelineStages{}
+ return []DeliveryPipelineSerialPipelineStagesDeployParameters{}
}
if len(a) == 0 {
- return []DeliveryPipelineSerialPipelineStages{}
+ return []DeliveryPipelineSerialPipelineStagesDeployParameters{}
}
- items := make([]DeliveryPipelineSerialPipelineStages, 0, len(a))
+ items := make([]DeliveryPipelineSerialPipelineStagesDeployParameters, 0, len(a))
for _, item := range a {
- items = append(items, *flattenDeliveryPipelineSerialPipelineStages(c, item.(map[string]interface{}), res))
+ items = append(items, *flattenDeliveryPipelineSerialPipelineStagesDeployParameters(c, item.(map[string]interface{}), res))
}
return items
}
-// expandDeliveryPipelineSerialPipelineStages expands an instance of DeliveryPipelineSerialPipelineStages into a JSON
+// expandDeliveryPipelineSerialPipelineStagesDeployParameters expands an instance of DeliveryPipelineSerialPipelineStagesDeployParameters into a JSON
// request object.
-func expandDeliveryPipelineSerialPipelineStages(c *Client, f *DeliveryPipelineSerialPipelineStages, res *DeliveryPipeline) (map[string]interface{}, error) {
+func expandDeliveryPipelineSerialPipelineStagesDeployParameters(c *Client, f *DeliveryPipelineSerialPipelineStagesDeployParameters, res *DeliveryPipeline) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
m := make(map[string]interface{})
- if v := f.TargetId; !dcl.IsEmptyValueIndirect(v) {
- m["targetId"] = v
+ if v := f.Values; !dcl.IsEmptyValueIndirect(v) {
+ m["values"] = v
}
- if v := f.Profiles; v != nil {
- m["profiles"] = v
+ if v := f.MatchTargetLabels; !dcl.IsEmptyValueIndirect(v) {
+ m["matchTargetLabels"] = v
}
return m, nil
}
-// flattenDeliveryPipelineSerialPipelineStages flattens an instance of DeliveryPipelineSerialPipelineStages from a JSON
+// flattenDeliveryPipelineSerialPipelineStagesDeployParameters flattens an instance of DeliveryPipelineSerialPipelineStagesDeployParameters from a JSON
// response object.
-func flattenDeliveryPipelineSerialPipelineStages(c *Client, i interface{}, res *DeliveryPipeline) *DeliveryPipelineSerialPipelineStages {
+func flattenDeliveryPipelineSerialPipelineStagesDeployParameters(c *Client, i interface{}, res *DeliveryPipeline) *DeliveryPipelineSerialPipelineStagesDeployParameters {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
- r := &DeliveryPipelineSerialPipelineStages{}
+ r := &DeliveryPipelineSerialPipelineStagesDeployParameters{}
if dcl.IsEmptyValueIndirect(i) {
- return EmptyDeliveryPipelineSerialPipelineStages
- }
- r.TargetId = dcl.FlattenString(m["targetId"])
- r.Profiles = dcl.FlattenStringSlice(m["profiles"])
+ return EmptyDeliveryPipelineSerialPipelineStagesDeployParameters
+ }
+ r.Values = dcl.FlattenKeyValuePairs(m["values"])
+ r.MatchTargetLabels = dcl.FlattenKeyValuePairs(m["matchTargetLabels"])
return r
}
@@ -2013,6 +5756,11 @@ func expandDeliveryPipelineCondition(c *Client, f *DeliveryPipelineCondition, re
} else if !dcl.IsEmptyValueIndirect(v) {
m["targetsPresentCondition"] = v
}
+ if v, err := expandDeliveryPipelineConditionTargetsTypeCondition(c, f.TargetsTypeCondition, res); err != nil {
+ return nil, fmt.Errorf("error expanding TargetsTypeCondition into targetsTypeCondition: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ m["targetsTypeCondition"] = v
+ }
return m, nil
}
@@ -2032,6 +5780,7 @@ func flattenDeliveryPipelineCondition(c *Client, i interface{}, res *DeliveryPip
}
r.PipelineReadyCondition = flattenDeliveryPipelineConditionPipelineReadyCondition(c, m["pipelineReadyCondition"], res)
r.TargetsPresentCondition = flattenDeliveryPipelineConditionTargetsPresentCondition(c, m["targetsPresentCondition"], res)
+ r.TargetsTypeCondition = flattenDeliveryPipelineConditionTargetsTypeCondition(c, m["targetsTypeCondition"], res)
return r
}
@@ -2276,6 +6025,124 @@ func flattenDeliveryPipelineConditionTargetsPresentCondition(c *Client, i interf
return r
}
+// expandDeliveryPipelineConditionTargetsTypeConditionMap expands the contents of DeliveryPipelineConditionTargetsTypeCondition into a JSON
+// request object.
+func expandDeliveryPipelineConditionTargetsTypeConditionMap(c *Client, f map[string]DeliveryPipelineConditionTargetsTypeCondition, res *DeliveryPipeline) (map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := make(map[string]interface{})
+ for k, item := range f {
+ i, err := expandDeliveryPipelineConditionTargetsTypeCondition(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+ if i != nil {
+ items[k] = i
+ }
+ }
+
+ return items, nil
+}
+
+// expandDeliveryPipelineConditionTargetsTypeConditionSlice expands the contents of DeliveryPipelineConditionTargetsTypeCondition into a JSON
+// request object.
+func expandDeliveryPipelineConditionTargetsTypeConditionSlice(c *Client, f []DeliveryPipelineConditionTargetsTypeCondition, res *DeliveryPipeline) ([]map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := []map[string]interface{}{}
+ for _, item := range f {
+ i, err := expandDeliveryPipelineConditionTargetsTypeCondition(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+
+ items = append(items, i)
+ }
+
+ return items, nil
+}
+
+// flattenDeliveryPipelineConditionTargetsTypeConditionMap flattens the contents of DeliveryPipelineConditionTargetsTypeCondition from a JSON
+// response object.
+func flattenDeliveryPipelineConditionTargetsTypeConditionMap(c *Client, i interface{}, res *DeliveryPipeline) map[string]DeliveryPipelineConditionTargetsTypeCondition {
+ a, ok := i.(map[string]interface{})
+ if !ok {
+ return map[string]DeliveryPipelineConditionTargetsTypeCondition{}
+ }
+
+ if len(a) == 0 {
+ return map[string]DeliveryPipelineConditionTargetsTypeCondition{}
+ }
+
+ items := make(map[string]DeliveryPipelineConditionTargetsTypeCondition)
+ for k, item := range a {
+ items[k] = *flattenDeliveryPipelineConditionTargetsTypeCondition(c, item.(map[string]interface{}), res)
+ }
+
+ return items
+}
+
+// flattenDeliveryPipelineConditionTargetsTypeConditionSlice flattens the contents of DeliveryPipelineConditionTargetsTypeCondition from a JSON
+// response object.
+func flattenDeliveryPipelineConditionTargetsTypeConditionSlice(c *Client, i interface{}, res *DeliveryPipeline) []DeliveryPipelineConditionTargetsTypeCondition {
+ a, ok := i.([]interface{})
+ if !ok {
+ return []DeliveryPipelineConditionTargetsTypeCondition{}
+ }
+
+ if len(a) == 0 {
+ return []DeliveryPipelineConditionTargetsTypeCondition{}
+ }
+
+ items := make([]DeliveryPipelineConditionTargetsTypeCondition, 0, len(a))
+ for _, item := range a {
+ items = append(items, *flattenDeliveryPipelineConditionTargetsTypeCondition(c, item.(map[string]interface{}), res))
+ }
+
+ return items
+}
+
+// expandDeliveryPipelineConditionTargetsTypeCondition expands an instance of DeliveryPipelineConditionTargetsTypeCondition into a JSON
+// request object.
+func expandDeliveryPipelineConditionTargetsTypeCondition(c *Client, f *DeliveryPipelineConditionTargetsTypeCondition, res *DeliveryPipeline) (map[string]interface{}, error) {
+ if dcl.IsEmptyValueIndirect(f) {
+ return nil, nil
+ }
+
+ m := make(map[string]interface{})
+ if v := f.Status; !dcl.IsEmptyValueIndirect(v) {
+ m["status"] = v
+ }
+ if v := f.ErrorDetails; !dcl.IsEmptyValueIndirect(v) {
+ m["errorDetails"] = v
+ }
+
+ return m, nil
+}
+
+// flattenDeliveryPipelineConditionTargetsTypeCondition flattens an instance of DeliveryPipelineConditionTargetsTypeCondition from a JSON
+// response object.
+func flattenDeliveryPipelineConditionTargetsTypeCondition(c *Client, i interface{}, res *DeliveryPipeline) *DeliveryPipelineConditionTargetsTypeCondition {
+ m, ok := i.(map[string]interface{})
+ if !ok {
+ return nil
+ }
+
+ r := &DeliveryPipelineConditionTargetsTypeCondition{}
+
+ if dcl.IsEmptyValueIndirect(i) {
+ return EmptyDeliveryPipelineConditionTargetsTypeCondition
+ }
+ r.Status = dcl.FlattenBool(m["status"])
+ r.ErrorDetails = dcl.FlattenString(m["errorDetails"])
+
+ return r
+}
+
// This function returns a matcher that checks whether a serialized resource matches this resource
// in its parameters (as defined by the fields in a Get, which definitionally define resource
// identity). This is useful in extracting the element from a List call.
@@ -2398,6 +6265,152 @@ func extractDeliveryPipelineSerialPipelineFields(r *DeliveryPipeline, o *Deliver
return nil
}
func extractDeliveryPipelineSerialPipelineStagesFields(r *DeliveryPipeline, o *DeliveryPipelineSerialPipelineStages) error {
+ vStrategy := o.Strategy
+ if vStrategy == nil {
+ // note: explicitly not the empty object.
+ vStrategy = &DeliveryPipelineSerialPipelineStagesStrategy{}
+ }
+ if err := extractDeliveryPipelineSerialPipelineStagesStrategyFields(r, vStrategy); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vStrategy) {
+ o.Strategy = vStrategy
+ }
+ return nil
+}
+func extractDeliveryPipelineSerialPipelineStagesStrategyFields(r *DeliveryPipeline, o *DeliveryPipelineSerialPipelineStagesStrategy) error {
+ vStandard := o.Standard
+ if vStandard == nil {
+ // note: explicitly not the empty object.
+ vStandard = &DeliveryPipelineSerialPipelineStagesStrategyStandard{}
+ }
+ if err := extractDeliveryPipelineSerialPipelineStagesStrategyStandardFields(r, vStandard); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vStandard) {
+ o.Standard = vStandard
+ }
+ vCanary := o.Canary
+ if vCanary == nil {
+ // note: explicitly not the empty object.
+ vCanary = &DeliveryPipelineSerialPipelineStagesStrategyCanary{}
+ }
+ if err := extractDeliveryPipelineSerialPipelineStagesStrategyCanaryFields(r, vCanary); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vCanary) {
+ o.Canary = vCanary
+ }
+ return nil
+}
+func extractDeliveryPipelineSerialPipelineStagesStrategyStandardFields(r *DeliveryPipeline, o *DeliveryPipelineSerialPipelineStagesStrategyStandard) error {
+ return nil
+}
+func extractDeliveryPipelineSerialPipelineStagesStrategyCanaryFields(r *DeliveryPipeline, o *DeliveryPipelineSerialPipelineStagesStrategyCanary) error {
+ vRuntimeConfig := o.RuntimeConfig
+ if vRuntimeConfig == nil {
+ // note: explicitly not the empty object.
+ vRuntimeConfig = &DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig{}
+ }
+ if err := extractDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigFields(r, vRuntimeConfig); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vRuntimeConfig) {
+ o.RuntimeConfig = vRuntimeConfig
+ }
+ vCanaryDeployment := o.CanaryDeployment
+ if vCanaryDeployment == nil {
+ // note: explicitly not the empty object.
+ vCanaryDeployment = &DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment{}
+ }
+ if err := extractDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeploymentFields(r, vCanaryDeployment); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vCanaryDeployment) {
+ o.CanaryDeployment = vCanaryDeployment
+ }
+ vCustomCanaryDeployment := o.CustomCanaryDeployment
+ if vCustomCanaryDeployment == nil {
+ // note: explicitly not the empty object.
+ vCustomCanaryDeployment = &DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment{}
+ }
+ if err := extractDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentFields(r, vCustomCanaryDeployment); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vCustomCanaryDeployment) {
+ o.CustomCanaryDeployment = vCustomCanaryDeployment
+ }
+ return nil
+}
+func extractDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigFields(r *DeliveryPipeline, o *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig) error {
+ vKubernetes := o.Kubernetes
+ if vKubernetes == nil {
+ // note: explicitly not the empty object.
+ vKubernetes = &DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes{}
+ }
+ if err := extractDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesFields(r, vKubernetes); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vKubernetes) {
+ o.Kubernetes = vKubernetes
+ }
+ vCloudRun := o.CloudRun
+ if vCloudRun == nil {
+ // note: explicitly not the empty object.
+ vCloudRun = &DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun{}
+ }
+ if err := extractDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRunFields(r, vCloudRun); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vCloudRun) {
+ o.CloudRun = vCloudRun
+ }
+ return nil
+}
+func extractDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesFields(r *DeliveryPipeline, o *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes) error {
+ vGatewayServiceMesh := o.GatewayServiceMesh
+ if vGatewayServiceMesh == nil {
+ // note: explicitly not the empty object.
+ vGatewayServiceMesh = &DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh{}
+ }
+ if err := extractDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshFields(r, vGatewayServiceMesh); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vGatewayServiceMesh) {
+ o.GatewayServiceMesh = vGatewayServiceMesh
+ }
+ vServiceNetworking := o.ServiceNetworking
+ if vServiceNetworking == nil {
+ // note: explicitly not the empty object.
+ vServiceNetworking = &DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking{}
+ }
+ if err := extractDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworkingFields(r, vServiceNetworking); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vServiceNetworking) {
+ o.ServiceNetworking = vServiceNetworking
+ }
+ return nil
+}
+func extractDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshFields(r *DeliveryPipeline, o *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh) error {
+ return nil
+}
+func extractDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworkingFields(r *DeliveryPipeline, o *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking) error {
+ return nil
+}
+func extractDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRunFields(r *DeliveryPipeline, o *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun) error {
+ return nil
+}
+func extractDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeploymentFields(r *DeliveryPipeline, o *DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment) error {
+ return nil
+}
+func extractDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentFields(r *DeliveryPipeline, o *DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment) error {
+ return nil
+}
+func extractDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigsFields(r *DeliveryPipeline, o *DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs) error {
+ return nil
+}
+func extractDeliveryPipelineSerialPipelineStagesDeployParametersFields(r *DeliveryPipeline, o *DeliveryPipelineSerialPipelineStagesDeployParameters) error {
return nil
}
func extractDeliveryPipelineConditionFields(r *DeliveryPipeline, o *DeliveryPipelineCondition) error {
@@ -2423,6 +6436,17 @@ func extractDeliveryPipelineConditionFields(r *DeliveryPipeline, o *DeliveryPipe
if !dcl.IsEmptyValueIndirect(vTargetsPresentCondition) {
o.TargetsPresentCondition = vTargetsPresentCondition
}
+ vTargetsTypeCondition := o.TargetsTypeCondition
+ if vTargetsTypeCondition == nil {
+ // note: explicitly not the empty object.
+ vTargetsTypeCondition = &DeliveryPipelineConditionTargetsTypeCondition{}
+ }
+ if err := extractDeliveryPipelineConditionTargetsTypeConditionFields(r, vTargetsTypeCondition); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vTargetsTypeCondition) {
+ o.TargetsTypeCondition = vTargetsTypeCondition
+ }
return nil
}
func extractDeliveryPipelineConditionPipelineReadyConditionFields(r *DeliveryPipeline, o *DeliveryPipelineConditionPipelineReadyCondition) error {
@@ -2431,6 +6455,9 @@ func extractDeliveryPipelineConditionPipelineReadyConditionFields(r *DeliveryPip
func extractDeliveryPipelineConditionTargetsPresentConditionFields(r *DeliveryPipeline, o *DeliveryPipelineConditionTargetsPresentCondition) error {
return nil
}
+func extractDeliveryPipelineConditionTargetsTypeConditionFields(r *DeliveryPipeline, o *DeliveryPipelineConditionTargetsTypeCondition) error {
+ return nil
+}
func postReadExtractDeliveryPipelineFields(r *DeliveryPipeline) error {
vSerialPipeline := r.SerialPipeline
@@ -2461,6 +6488,152 @@ func postReadExtractDeliveryPipelineSerialPipelineFields(r *DeliveryPipeline, o
return nil
}
func postReadExtractDeliveryPipelineSerialPipelineStagesFields(r *DeliveryPipeline, o *DeliveryPipelineSerialPipelineStages) error {
+ vStrategy := o.Strategy
+ if vStrategy == nil {
+ // note: explicitly not the empty object.
+ vStrategy = &DeliveryPipelineSerialPipelineStagesStrategy{}
+ }
+ if err := extractDeliveryPipelineSerialPipelineStagesStrategyFields(r, vStrategy); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vStrategy) {
+ o.Strategy = vStrategy
+ }
+ return nil
+}
+func postReadExtractDeliveryPipelineSerialPipelineStagesStrategyFields(r *DeliveryPipeline, o *DeliveryPipelineSerialPipelineStagesStrategy) error {
+ vStandard := o.Standard
+ if vStandard == nil {
+ // note: explicitly not the empty object.
+ vStandard = &DeliveryPipelineSerialPipelineStagesStrategyStandard{}
+ }
+ if err := extractDeliveryPipelineSerialPipelineStagesStrategyStandardFields(r, vStandard); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vStandard) {
+ o.Standard = vStandard
+ }
+ vCanary := o.Canary
+ if vCanary == nil {
+ // note: explicitly not the empty object.
+ vCanary = &DeliveryPipelineSerialPipelineStagesStrategyCanary{}
+ }
+ if err := extractDeliveryPipelineSerialPipelineStagesStrategyCanaryFields(r, vCanary); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vCanary) {
+ o.Canary = vCanary
+ }
+ return nil
+}
+func postReadExtractDeliveryPipelineSerialPipelineStagesStrategyStandardFields(r *DeliveryPipeline, o *DeliveryPipelineSerialPipelineStagesStrategyStandard) error {
+ return nil
+}
+func postReadExtractDeliveryPipelineSerialPipelineStagesStrategyCanaryFields(r *DeliveryPipeline, o *DeliveryPipelineSerialPipelineStagesStrategyCanary) error {
+ vRuntimeConfig := o.RuntimeConfig
+ if vRuntimeConfig == nil {
+ // note: explicitly not the empty object.
+ vRuntimeConfig = &DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig{}
+ }
+ if err := extractDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigFields(r, vRuntimeConfig); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vRuntimeConfig) {
+ o.RuntimeConfig = vRuntimeConfig
+ }
+ vCanaryDeployment := o.CanaryDeployment
+ if vCanaryDeployment == nil {
+ // note: explicitly not the empty object.
+ vCanaryDeployment = &DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment{}
+ }
+ if err := extractDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeploymentFields(r, vCanaryDeployment); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vCanaryDeployment) {
+ o.CanaryDeployment = vCanaryDeployment
+ }
+ vCustomCanaryDeployment := o.CustomCanaryDeployment
+ if vCustomCanaryDeployment == nil {
+ // note: explicitly not the empty object.
+ vCustomCanaryDeployment = &DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment{}
+ }
+ if err := extractDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentFields(r, vCustomCanaryDeployment); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vCustomCanaryDeployment) {
+ o.CustomCanaryDeployment = vCustomCanaryDeployment
+ }
+ return nil
+}
+func postReadExtractDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigFields(r *DeliveryPipeline, o *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig) error {
+ vKubernetes := o.Kubernetes
+ if vKubernetes == nil {
+ // note: explicitly not the empty object.
+ vKubernetes = &DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes{}
+ }
+ if err := extractDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesFields(r, vKubernetes); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vKubernetes) {
+ o.Kubernetes = vKubernetes
+ }
+ vCloudRun := o.CloudRun
+ if vCloudRun == nil {
+ // note: explicitly not the empty object.
+ vCloudRun = &DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun{}
+ }
+ if err := extractDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRunFields(r, vCloudRun); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vCloudRun) {
+ o.CloudRun = vCloudRun
+ }
+ return nil
+}
+func postReadExtractDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesFields(r *DeliveryPipeline, o *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes) error {
+ vGatewayServiceMesh := o.GatewayServiceMesh
+ if vGatewayServiceMesh == nil {
+ // note: explicitly not the empty object.
+ vGatewayServiceMesh = &DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh{}
+ }
+ if err := extractDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshFields(r, vGatewayServiceMesh); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vGatewayServiceMesh) {
+ o.GatewayServiceMesh = vGatewayServiceMesh
+ }
+ vServiceNetworking := o.ServiceNetworking
+ if vServiceNetworking == nil {
+ // note: explicitly not the empty object.
+ vServiceNetworking = &DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking{}
+ }
+ if err := extractDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworkingFields(r, vServiceNetworking); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vServiceNetworking) {
+ o.ServiceNetworking = vServiceNetworking
+ }
+ return nil
+}
+func postReadExtractDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshFields(r *DeliveryPipeline, o *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh) error {
+ return nil
+}
+func postReadExtractDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworkingFields(r *DeliveryPipeline, o *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking) error {
+ return nil
+}
+func postReadExtractDeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRunFields(r *DeliveryPipeline, o *DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun) error {
+ return nil
+}
+func postReadExtractDeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeploymentFields(r *DeliveryPipeline, o *DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment) error {
+ return nil
+}
+func postReadExtractDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentFields(r *DeliveryPipeline, o *DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment) error {
+ return nil
+}
+func postReadExtractDeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigsFields(r *DeliveryPipeline, o *DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs) error {
+ return nil
+}
+func postReadExtractDeliveryPipelineSerialPipelineStagesDeployParametersFields(r *DeliveryPipeline, o *DeliveryPipelineSerialPipelineStagesDeployParameters) error {
return nil
}
func postReadExtractDeliveryPipelineConditionFields(r *DeliveryPipeline, o *DeliveryPipelineCondition) error {
@@ -2486,6 +6659,17 @@ func postReadExtractDeliveryPipelineConditionFields(r *DeliveryPipeline, o *Deli
if !dcl.IsEmptyValueIndirect(vTargetsPresentCondition) {
o.TargetsPresentCondition = vTargetsPresentCondition
}
+ vTargetsTypeCondition := o.TargetsTypeCondition
+ if vTargetsTypeCondition == nil {
+ // note: explicitly not the empty object.
+ vTargetsTypeCondition = &DeliveryPipelineConditionTargetsTypeCondition{}
+ }
+ if err := extractDeliveryPipelineConditionTargetsTypeConditionFields(r, vTargetsTypeCondition); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vTargetsTypeCondition) {
+ o.TargetsTypeCondition = vTargetsTypeCondition
+ }
return nil
}
func postReadExtractDeliveryPipelineConditionPipelineReadyConditionFields(r *DeliveryPipeline, o *DeliveryPipelineConditionPipelineReadyCondition) error {
@@ -2494,3 +6678,6 @@ func postReadExtractDeliveryPipelineConditionPipelineReadyConditionFields(r *Del
func postReadExtractDeliveryPipelineConditionTargetsPresentConditionFields(r *DeliveryPipeline, o *DeliveryPipelineConditionTargetsPresentCondition) error {
return nil
}
+func postReadExtractDeliveryPipelineConditionTargetsTypeConditionFields(r *DeliveryPipeline, o *DeliveryPipelineConditionTargetsTypeCondition) error {
+ return nil
+}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/delivery_pipeline_schema.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/delivery_pipeline_schema.go
index 4820b9b3b8..394f5675e4 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/delivery_pipeline_schema.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/delivery_pipeline_schema.go
@@ -183,6 +183,24 @@ func DCLDeliveryPipelineSchema() *dcl.Schema {
},
},
},
+ "targetsTypeCondition": &dcl.Property{
+ Type: "object",
+ GoName: "TargetsTypeCondition",
+ GoType: "DeliveryPipelineConditionTargetsTypeCondition",
+ Description: "Details on the whether the targets enumerated in the pipeline are of the same type.",
+ Properties: map[string]*dcl.Property{
+ "errorDetails": &dcl.Property{
+ Type: "string",
+ GoName: "ErrorDetails",
+ Description: "Human readable error message.",
+ },
+ "status": &dcl.Property{
+ Type: "boolean",
+ GoName: "Status",
+ Description: "True if the targets are all a comparable type. For example this is true if all targets are GKE clusters. This is false if some targets are Cloud Run targets and others are GKE clusters.",
+ },
+ },
+ },
},
},
"createTime": &dcl.Property{
@@ -254,6 +272,38 @@ func DCLDeliveryPipelineSchema() *dcl.Schema {
Type: "object",
GoType: "DeliveryPipelineSerialPipelineStages",
Properties: map[string]*dcl.Property{
+ "deployParameters": &dcl.Property{
+ Type: "array",
+ GoName: "DeployParameters",
+ Description: "Optional. The deploy parameters to use for the target in this stage.",
+ SendEmpty: true,
+ ListType: "list",
+ Items: &dcl.Property{
+ Type: "object",
+ GoType: "DeliveryPipelineSerialPipelineStagesDeployParameters",
+ Required: []string{
+ "values",
+ },
+ Properties: map[string]*dcl.Property{
+ "matchTargetLabels": &dcl.Property{
+ Type: "object",
+ AdditionalProperties: &dcl.Property{
+ Type: "string",
+ },
+ GoName: "MatchTargetLabels",
+ Description: "Optional. Deploy parameters are applied to targets with match labels. If unspecified, deploy parameters are applied to all targets (including child targets of a multi-target).",
+ },
+ "values": &dcl.Property{
+ Type: "object",
+ AdditionalProperties: &dcl.Property{
+ Type: "string",
+ },
+ GoName: "Values",
+ Description: "Required. Values are deploy parameters in key-value pairs.",
+ },
+ },
+ },
+ },
"profiles": &dcl.Property{
Type: "array",
GoName: "Profiles",
@@ -265,6 +315,220 @@ func DCLDeliveryPipelineSchema() *dcl.Schema {
GoType: "string",
},
},
+ "strategy": &dcl.Property{
+ Type: "object",
+ GoName: "Strategy",
+ GoType: "DeliveryPipelineSerialPipelineStagesStrategy",
+ Description: "Optional. The strategy to use for a `Rollout` to this stage.",
+ Properties: map[string]*dcl.Property{
+ "canary": &dcl.Property{
+ Type: "object",
+ GoName: "Canary",
+ GoType: "DeliveryPipelineSerialPipelineStagesStrategyCanary",
+ Description: "Canary deployment strategy provides progressive percentage based deployments to a Target.",
+ Properties: map[string]*dcl.Property{
+ "canaryDeployment": &dcl.Property{
+ Type: "object",
+ GoName: "CanaryDeployment",
+ GoType: "DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment",
+ Description: "Configures the progressive based deployment for a Target.",
+ Conflicts: []string{
+ "customCanaryDeployment",
+ },
+ Required: []string{
+ "percentages",
+ },
+ Properties: map[string]*dcl.Property{
+ "percentages": &dcl.Property{
+ Type: "array",
+ GoName: "Percentages",
+ Description: "Required. The percentage based deployments that will occur as a part of a `Rollout`. List is expected in ascending order and each integer n is 0 <= n < 100.",
+ SendEmpty: true,
+ ListType: "list",
+ Items: &dcl.Property{
+ Type: "integer",
+ Format: "int64",
+ GoType: "int64",
+ },
+ },
+ "verify": &dcl.Property{
+ Type: "boolean",
+ GoName: "Verify",
+ Description: "Whether to run verify tests after each percentage deployment.",
+ },
+ },
+ },
+ "customCanaryDeployment": &dcl.Property{
+ Type: "object",
+ GoName: "CustomCanaryDeployment",
+ GoType: "DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment",
+ Description: "Configures the progressive based deployment for a Target, but allows customizing at the phase level where a phase represents each of the percentage deployments.",
+ Conflicts: []string{
+ "canaryDeployment",
+ },
+ Required: []string{
+ "phaseConfigs",
+ },
+ Properties: map[string]*dcl.Property{
+ "phaseConfigs": &dcl.Property{
+ Type: "array",
+ GoName: "PhaseConfigs",
+ Description: "Required. Configuration for each phase in the canary deployment in the order executed.",
+ SendEmpty: true,
+ ListType: "list",
+ Items: &dcl.Property{
+ Type: "object",
+ GoType: "DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs",
+ Required: []string{
+ "phaseId",
+ "percentage",
+ },
+ Properties: map[string]*dcl.Property{
+ "percentage": &dcl.Property{
+ Type: "integer",
+ Format: "int64",
+ GoName: "Percentage",
+ Description: "Required. Percentage deployment for the phase.",
+ },
+ "phaseId": &dcl.Property{
+ Type: "string",
+ GoName: "PhaseId",
+ Description: "Required. The ID to assign to the `Rollout` phase. This value must consist of lower-case letters, numbers, and hyphens, start with a letter and end with a letter or a number, and have a max length of 63 characters. In other words, it must match the following regex: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.",
+ },
+ "profiles": &dcl.Property{
+ Type: "array",
+ GoName: "Profiles",
+ Description: "Skaffold profiles to use when rendering the manifest for this phase. These are in addition to the profiles list specified in the `DeliveryPipeline` stage.",
+ SendEmpty: true,
+ ListType: "list",
+ Items: &dcl.Property{
+ Type: "string",
+ GoType: "string",
+ },
+ },
+ "verify": &dcl.Property{
+ Type: "boolean",
+ GoName: "Verify",
+ Description: "Whether to run verify tests after the deployment.",
+ },
+ },
+ },
+ },
+ },
+ },
+ "runtimeConfig": &dcl.Property{
+ Type: "object",
+ GoName: "RuntimeConfig",
+ GoType: "DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig",
+ Description: "Optional. Runtime specific configurations for the deployment strategy. The runtime configuration is used to determine how Cloud Deploy will split traffic to enable a progressive deployment.",
+ Properties: map[string]*dcl.Property{
+ "cloudRun": &dcl.Property{
+ Type: "object",
+ GoName: "CloudRun",
+ GoType: "DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun",
+ Description: "Cloud Run runtime configuration.",
+ Conflicts: []string{
+ "kubernetes",
+ },
+ Properties: map[string]*dcl.Property{
+ "automaticTrafficControl": &dcl.Property{
+ Type: "boolean",
+ GoName: "AutomaticTrafficControl",
+ Description: "Whether Cloud Deploy should update the traffic stanza in a Cloud Run Service on the user's behalf to facilitate traffic splitting. This is required to be true for CanaryDeployments, but optional for CustomCanaryDeployments.",
+ },
+ },
+ },
+ "kubernetes": &dcl.Property{
+ Type: "object",
+ GoName: "Kubernetes",
+ GoType: "DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes",
+ Description: "Kubernetes runtime configuration.",
+ Conflicts: []string{
+ "cloudRun",
+ },
+ Properties: map[string]*dcl.Property{
+ "gatewayServiceMesh": &dcl.Property{
+ Type: "object",
+ GoName: "GatewayServiceMesh",
+ GoType: "DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh",
+ Description: "Kubernetes Gateway API service mesh configuration.",
+ Conflicts: []string{
+ "serviceNetworking",
+ },
+ Required: []string{
+ "httpRoute",
+ "service",
+ "deployment",
+ },
+ Properties: map[string]*dcl.Property{
+ "deployment": &dcl.Property{
+ Type: "string",
+ GoName: "Deployment",
+ Description: "Required. Name of the Kubernetes Deployment whose traffic is managed by the specified HTTPRoute and Service.",
+ },
+ "httpRoute": &dcl.Property{
+ Type: "string",
+ GoName: "HttpRoute",
+ Description: "Required. Name of the Gateway API HTTPRoute.",
+ },
+ "service": &dcl.Property{
+ Type: "string",
+ GoName: "Service",
+ Description: "Required. Name of the Kubernetes Service.",
+ },
+ },
+ },
+ "serviceNetworking": &dcl.Property{
+ Type: "object",
+ GoName: "ServiceNetworking",
+ GoType: "DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking",
+ Description: "Kubernetes Service networking configuration.",
+ Conflicts: []string{
+ "gatewayServiceMesh",
+ },
+ Required: []string{
+ "service",
+ "deployment",
+ },
+ Properties: map[string]*dcl.Property{
+ "deployment": &dcl.Property{
+ Type: "string",
+ GoName: "Deployment",
+ Description: "Required. Name of the Kubernetes Deployment whose traffic is managed by the specified Service.",
+ },
+ "disablePodOverprovisioning": &dcl.Property{
+ Type: "boolean",
+ GoName: "DisablePodOverprovisioning",
+ Description: "Optional. Whether to disable Pod overprovisioning. If Pod overprovisioning is disabled then Cloud Deploy will limit the number of total Pods used for the deployment strategy to the number of Pods the Deployment has on the cluster.",
+ },
+ "service": &dcl.Property{
+ Type: "string",
+ GoName: "Service",
+ Description: "Required. Name of the Kubernetes Service.",
+ },
+ },
+ },
+ },
+ },
+ },
+ },
+ },
+ },
+ "standard": &dcl.Property{
+ Type: "object",
+ GoName: "Standard",
+ GoType: "DeliveryPipelineSerialPipelineStagesStrategyStandard",
+ Description: "Standard deployment strategy executes a single deploy and allows verifying the deployment.",
+ Properties: map[string]*dcl.Property{
+ "verify": &dcl.Property{
+ Type: "boolean",
+ GoName: "Verify",
+ Description: "Whether to verify a deployment.",
+ },
+ },
+ },
+ },
+ },
"targetId": &dcl.Property{
Type: "string",
GoName: "TargetId",
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/delivery_pipeline_yaml_embed.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/delivery_pipeline_yaml_embed.go
index a5bb36491d..66c2d740d4 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/delivery_pipeline_yaml_embed.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/delivery_pipeline_yaml_embed.go
@@ -17,7 +17,7 @@
package clouddeploy
// blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/clouddeploy/delivery_pipeline.yaml
-var YAML_delivery_pipeline = []byte("info:\n title: Clouddeploy/DeliveryPipeline\n description: The Cloud Deploy `DeliveryPipeline` resource\n x-dcl-struct-name: DeliveryPipeline\n x-dcl-has-iam: false\n x-dcl-ref:\n text: REST API\n url: https://cloud.google.com/deploy/docs/api/reference/rest/v1/projects.locations.deliveryPipelines\npaths:\n get:\n description: The function used to get information about a DeliveryPipeline\n parameters:\n - name: deliveryPipeline\n required: true\n description: A full instance of a DeliveryPipeline\n apply:\n description: The function used to apply information about a DeliveryPipeline\n parameters:\n - name: deliveryPipeline\n required: true\n description: A full instance of a DeliveryPipeline\n delete:\n description: The function used to delete a DeliveryPipeline\n parameters:\n - name: deliveryPipeline\n required: true\n description: A full instance of a DeliveryPipeline\n deleteAll:\n description: The function used to delete all DeliveryPipeline\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many DeliveryPipeline\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n DeliveryPipeline:\n title: DeliveryPipeline\n x-dcl-id: projects/{{project}}/locations/{{location}}/deliveryPipelines/{{name}}\n x-dcl-parent-container: project\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - project\n - location\n properties:\n annotations:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Annotations\n description: User annotations. These attributes can only be set and used\n by the user, and not by Google Cloud Deploy. See https://google.aip.dev/128#annotations\n for more details such as format and size limitations.\n condition:\n type: object\n x-dcl-go-name: Condition\n x-dcl-go-type: DeliveryPipelineCondition\n readOnly: true\n description: Output only. Information around the state of the Delivery Pipeline.\n properties:\n pipelineReadyCondition:\n type: object\n x-dcl-go-name: PipelineReadyCondition\n x-dcl-go-type: DeliveryPipelineConditionPipelineReadyCondition\n description: Details around the Pipeline's overall status.\n properties:\n status:\n type: boolean\n x-dcl-go-name: Status\n description: True if the Pipeline is in a valid state. Otherwise\n at least one condition in `PipelineCondition` is in an invalid\n state. Iterate over those conditions and see which condition(s)\n has status = false to find out what is wrong with the Pipeline.\n updateTime:\n type: string\n format: date-time\n x-dcl-go-name: UpdateTime\n description: Last time the condition was updated.\n targetsPresentCondition:\n type: object\n x-dcl-go-name: TargetsPresentCondition\n x-dcl-go-type: DeliveryPipelineConditionTargetsPresentCondition\n description: Details around targets enumerated in the pipeline.\n properties:\n missingTargets:\n type: array\n x-dcl-go-name: MissingTargets\n description: The list of Target names that are missing. For example,\n projects/{project_id}/locations/{location_name}/targets/{target_name}.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x-dcl-references:\n - resource: Clouddeploy/Target\n field: selfLink\n status:\n type: boolean\n x-dcl-go-name: Status\n description: True if there aren't any missing Targets.\n updateTime:\n type: string\n format: date-time\n x-dcl-go-name: UpdateTime\n description: Last time the condition was updated.\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Output only. Time at which the pipeline was created.\n x-kubernetes-immutable: true\n description:\n type: string\n x-dcl-go-name: Description\n description: Description of the `DeliveryPipeline`. Max length is 255 characters.\n etag:\n type: string\n x-dcl-go-name: Etag\n readOnly: true\n description: This checksum is computed by the server based on the value\n of other fields, and may be sent on update and delete requests to ensure\n the client has an up-to-date value before proceeding.\n x-kubernetes-immutable: true\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: 'Labels are attributes that can be set and used by both the\n user and by Google Cloud Deploy. Labels must meet the following constraints:\n * Keys and values can contain only lowercase letters, numeric characters,\n underscores, and dashes. * All characters must use UTF-8 encoding, and\n international characters are allowed. * Keys must start with a lowercase\n letter or international character. * Each resource is limited to a maximum\n of 64 labels. Both keys and values are additionally constrained to be\n <= 128 bytes.'\n location:\n type: string\n x-dcl-go-name: Location\n description: The location for the resource\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the `DeliveryPipeline`. Format is [a-z][a-z0-9\\-]{0,62}.\n x-kubernetes-immutable: true\n project:\n type: string\n x-dcl-go-name: Project\n description: The project for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n serialPipeline:\n type: object\n x-dcl-go-name: SerialPipeline\n x-dcl-go-type: DeliveryPipelineSerialPipeline\n description: SerialPipeline defines a sequential set of stages for a `DeliveryPipeline`.\n properties:\n stages:\n type: array\n x-dcl-go-name: Stages\n description: Each stage specifies configuration for a `Target`. The\n ordering of this list defines the promotion flow.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeliveryPipelineSerialPipelineStages\n properties:\n profiles:\n type: array\n x-dcl-go-name: Profiles\n description: Skaffold profiles to use when rendering the manifest\n for this stage's `Target`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n targetId:\n type: string\n x-dcl-go-name: TargetId\n description: The target_id to which this stage points. This field\n refers exclusively to the last segment of a target name. For\n example, this field would just be `my-target` (rather than `projects/project/locations/location/targets/my-target`).\n The location of the `Target` is inferred to be the same as the\n location of the `DeliveryPipeline` that contains this `Stage`.\n suspended:\n type: boolean\n x-dcl-go-name: Suspended\n description: When suspended, no new releases or rollouts can be created,\n but in-progress ones will complete.\n uid:\n type: string\n x-dcl-go-name: Uid\n readOnly: true\n description: Output only. Unique identifier of the `DeliveryPipeline`.\n x-kubernetes-immutable: true\n updateTime:\n type: string\n format: date-time\n x-dcl-go-name: UpdateTime\n readOnly: true\n description: Output only. Most recent time at which the pipeline was updated.\n x-kubernetes-immutable: true\n")
+var YAML_delivery_pipeline = []byte("info:\n title: Clouddeploy/DeliveryPipeline\n description: The Cloud Deploy `DeliveryPipeline` resource\n x-dcl-struct-name: DeliveryPipeline\n x-dcl-has-iam: false\n x-dcl-ref:\n text: REST API\n url: https://cloud.google.com/deploy/docs/api/reference/rest/v1/projects.locations.deliveryPipelines\npaths:\n get:\n description: The function used to get information about a DeliveryPipeline\n parameters:\n - name: deliveryPipeline\n required: true\n description: A full instance of a DeliveryPipeline\n apply:\n description: The function used to apply information about a DeliveryPipeline\n parameters:\n - name: deliveryPipeline\n required: true\n description: A full instance of a DeliveryPipeline\n delete:\n description: The function used to delete a DeliveryPipeline\n parameters:\n - name: deliveryPipeline\n required: true\n description: A full instance of a DeliveryPipeline\n deleteAll:\n description: The function used to delete all DeliveryPipeline\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many DeliveryPipeline\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n DeliveryPipeline:\n title: DeliveryPipeline\n x-dcl-id: projects/{{project}}/locations/{{location}}/deliveryPipelines/{{name}}\n x-dcl-parent-container: project\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - project\n - location\n properties:\n annotations:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Annotations\n description: User annotations. These attributes can only be set and used\n by the user, and not by Google Cloud Deploy. See https://google.aip.dev/128#annotations\n for more details such as format and size limitations.\n condition:\n type: object\n x-dcl-go-name: Condition\n x-dcl-go-type: DeliveryPipelineCondition\n readOnly: true\n description: Output only. Information around the state of the Delivery Pipeline.\n properties:\n pipelineReadyCondition:\n type: object\n x-dcl-go-name: PipelineReadyCondition\n x-dcl-go-type: DeliveryPipelineConditionPipelineReadyCondition\n description: Details around the Pipeline's overall status.\n properties:\n status:\n type: boolean\n x-dcl-go-name: Status\n description: True if the Pipeline is in a valid state. Otherwise\n at least one condition in `PipelineCondition` is in an invalid\n state. Iterate over those conditions and see which condition(s)\n has status = false to find out what is wrong with the Pipeline.\n updateTime:\n type: string\n format: date-time\n x-dcl-go-name: UpdateTime\n description: Last time the condition was updated.\n targetsPresentCondition:\n type: object\n x-dcl-go-name: TargetsPresentCondition\n x-dcl-go-type: DeliveryPipelineConditionTargetsPresentCondition\n description: Details around targets enumerated in the pipeline.\n properties:\n missingTargets:\n type: array\n x-dcl-go-name: MissingTargets\n description: The list of Target names that are missing. For example,\n projects/{project_id}/locations/{location_name}/targets/{target_name}.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x-dcl-references:\n - resource: Clouddeploy/Target\n field: selfLink\n status:\n type: boolean\n x-dcl-go-name: Status\n description: True if there aren't any missing Targets.\n updateTime:\n type: string\n format: date-time\n x-dcl-go-name: UpdateTime\n description: Last time the condition was updated.\n targetsTypeCondition:\n type: object\n x-dcl-go-name: TargetsTypeCondition\n x-dcl-go-type: DeliveryPipelineConditionTargetsTypeCondition\n description: Details on the whether the targets enumerated in the pipeline\n are of the same type.\n properties:\n errorDetails:\n type: string\n x-dcl-go-name: ErrorDetails\n description: Human readable error message.\n status:\n type: boolean\n x-dcl-go-name: Status\n description: True if the targets are all a comparable type. For\n example this is true if all targets are GKE clusters. This is\n false if some targets are Cloud Run targets and others are GKE\n clusters.\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Output only. Time at which the pipeline was created.\n x-kubernetes-immutable: true\n description:\n type: string\n x-dcl-go-name: Description\n description: Description of the `DeliveryPipeline`. Max length is 255 characters.\n etag:\n type: string\n x-dcl-go-name: Etag\n readOnly: true\n description: This checksum is computed by the server based on the value\n of other fields, and may be sent on update and delete requests to ensure\n the client has an up-to-date value before proceeding.\n x-kubernetes-immutable: true\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: 'Labels are attributes that can be set and used by both the\n user and by Google Cloud Deploy. Labels must meet the following constraints:\n * Keys and values can contain only lowercase letters, numeric characters,\n underscores, and dashes. * All characters must use UTF-8 encoding, and\n international characters are allowed. * Keys must start with a lowercase\n letter or international character. * Each resource is limited to a maximum\n of 64 labels. Both keys and values are additionally constrained to be\n <= 128 bytes.'\n location:\n type: string\n x-dcl-go-name: Location\n description: The location for the resource\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the `DeliveryPipeline`. Format is [a-z][a-z0-9\\-]{0,62}.\n x-kubernetes-immutable: true\n project:\n type: string\n x-dcl-go-name: Project\n description: The project for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n serialPipeline:\n type: object\n x-dcl-go-name: SerialPipeline\n x-dcl-go-type: DeliveryPipelineSerialPipeline\n description: SerialPipeline defines a sequential set of stages for a `DeliveryPipeline`.\n properties:\n stages:\n type: array\n x-dcl-go-name: Stages\n description: Each stage specifies configuration for a `Target`. The\n ordering of this list defines the promotion flow.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeliveryPipelineSerialPipelineStages\n properties:\n deployParameters:\n type: array\n x-dcl-go-name: DeployParameters\n description: Optional. The deploy parameters to use for the target\n in this stage.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeliveryPipelineSerialPipelineStagesDeployParameters\n required:\n - values\n properties:\n matchTargetLabels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: MatchTargetLabels\n description: Optional. Deploy parameters are applied to\n targets with match labels. If unspecified, deploy parameters\n are applied to all targets (including child targets of\n a multi-target).\n values:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Values\n description: Required. Values are deploy parameters in key-value\n pairs.\n profiles:\n type: array\n x-dcl-go-name: Profiles\n description: Skaffold profiles to use when rendering the manifest\n for this stage's `Target`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n strategy:\n type: object\n x-dcl-go-name: Strategy\n x-dcl-go-type: DeliveryPipelineSerialPipelineStagesStrategy\n description: Optional. The strategy to use for a `Rollout` to\n this stage.\n properties:\n canary:\n type: object\n x-dcl-go-name: Canary\n x-dcl-go-type: DeliveryPipelineSerialPipelineStagesStrategyCanary\n description: Canary deployment strategy provides progressive\n percentage based deployments to a Target.\n properties:\n canaryDeployment:\n type: object\n x-dcl-go-name: CanaryDeployment\n x-dcl-go-type: DeliveryPipelineSerialPipelineStagesStrategyCanaryCanaryDeployment\n description: Configures the progressive based deployment\n for a Target.\n x-dcl-conflicts:\n - customCanaryDeployment\n required:\n - percentages\n properties:\n percentages:\n type: array\n x-dcl-go-name: Percentages\n description: Required. The percentage based deployments\n that will occur as a part of a `Rollout`. List is\n expected in ascending order and each integer n is\n 0 <= n < 100.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: integer\n format: int64\n x-dcl-go-type: int64\n verify:\n type: boolean\n x-dcl-go-name: Verify\n description: Whether to run verify tests after each\n percentage deployment.\n customCanaryDeployment:\n type: object\n x-dcl-go-name: CustomCanaryDeployment\n x-dcl-go-type: DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeployment\n description: Configures the progressive based deployment\n for a Target, but allows customizing at the phase level\n where a phase represents each of the percentage deployments.\n x-dcl-conflicts:\n - canaryDeployment\n required:\n - phaseConfigs\n properties:\n phaseConfigs:\n type: array\n x-dcl-go-name: PhaseConfigs\n description: Required. Configuration for each phase\n in the canary deployment in the order executed.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeliveryPipelineSerialPipelineStagesStrategyCanaryCustomCanaryDeploymentPhaseConfigs\n required:\n - phaseId\n - percentage\n properties:\n percentage:\n type: integer\n format: int64\n x-dcl-go-name: Percentage\n description: Required. Percentage deployment\n for the phase.\n phaseId:\n type: string\n x-dcl-go-name: PhaseId\n description: 'Required. The ID to assign to\n the `Rollout` phase. This value must consist\n of lower-case letters, numbers, and hyphens,\n start with a letter and end with a letter\n or a number, and have a max length of 63 characters.\n In other words, it must match the following\n regex: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.'\n profiles:\n type: array\n x-dcl-go-name: Profiles\n description: Skaffold profiles to use when rendering\n the manifest for this phase. These are in\n addition to the profiles list specified in\n the `DeliveryPipeline` stage.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n verify:\n type: boolean\n x-dcl-go-name: Verify\n description: Whether to run verify tests after\n the deployment.\n runtimeConfig:\n type: object\n x-dcl-go-name: RuntimeConfig\n x-dcl-go-type: DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfig\n description: Optional. Runtime specific configurations\n for the deployment strategy. The runtime configuration\n is used to determine how Cloud Deploy will split traffic\n to enable a progressive deployment.\n properties:\n cloudRun:\n type: object\n x-dcl-go-name: CloudRun\n x-dcl-go-type: DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigCloudRun\n description: Cloud Run runtime configuration.\n x-dcl-conflicts:\n - kubernetes\n properties:\n automaticTrafficControl:\n type: boolean\n x-dcl-go-name: AutomaticTrafficControl\n description: Whether Cloud Deploy should update\n the traffic stanza in a Cloud Run Service on\n the user's behalf to facilitate traffic splitting.\n This is required to be true for CanaryDeployments,\n but optional for CustomCanaryDeployments.\n kubernetes:\n type: object\n x-dcl-go-name: Kubernetes\n x-dcl-go-type: DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetes\n description: Kubernetes runtime configuration.\n x-dcl-conflicts:\n - cloudRun\n properties:\n gatewayServiceMesh:\n type: object\n x-dcl-go-name: GatewayServiceMesh\n x-dcl-go-type: DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh\n description: Kubernetes Gateway API service mesh\n configuration.\n x-dcl-conflicts:\n - serviceNetworking\n required:\n - httpRoute\n - service\n - deployment\n properties:\n deployment:\n type: string\n x-dcl-go-name: Deployment\n description: Required. Name of the Kubernetes\n Deployment whose traffic is managed by the\n specified HTTPRoute and Service.\n httpRoute:\n type: string\n x-dcl-go-name: HttpRoute\n description: Required. Name of the Gateway\n API HTTPRoute.\n service:\n type: string\n x-dcl-go-name: Service\n description: Required. Name of the Kubernetes\n Service.\n serviceNetworking:\n type: object\n x-dcl-go-name: ServiceNetworking\n x-dcl-go-type: DeliveryPipelineSerialPipelineStagesStrategyCanaryRuntimeConfigKubernetesServiceNetworking\n description: Kubernetes Service networking configuration.\n x-dcl-conflicts:\n - gatewayServiceMesh\n required:\n - service\n - deployment\n properties:\n deployment:\n type: string\n x-dcl-go-name: Deployment\n description: Required. Name of the Kubernetes\n Deployment whose traffic is managed by the\n specified Service.\n disablePodOverprovisioning:\n type: boolean\n x-dcl-go-name: DisablePodOverprovisioning\n description: Optional. Whether to disable\n Pod overprovisioning. If Pod overprovisioning\n is disabled then Cloud Deploy will limit\n the number of total Pods used for the deployment\n strategy to the number of Pods the Deployment\n has on the cluster.\n service:\n type: string\n x-dcl-go-name: Service\n description: Required. Name of the Kubernetes\n Service.\n standard:\n type: object\n x-dcl-go-name: Standard\n x-dcl-go-type: DeliveryPipelineSerialPipelineStagesStrategyStandard\n description: Standard deployment strategy executes a single\n deploy and allows verifying the deployment.\n properties:\n verify:\n type: boolean\n x-dcl-go-name: Verify\n description: Whether to verify a deployment.\n targetId:\n type: string\n x-dcl-go-name: TargetId\n description: The target_id to which this stage points. This field\n refers exclusively to the last segment of a target name. For\n example, this field would just be `my-target` (rather than `projects/project/locations/location/targets/my-target`).\n The location of the `Target` is inferred to be the same as the\n location of the `DeliveryPipeline` that contains this `Stage`.\n suspended:\n type: boolean\n x-dcl-go-name: Suspended\n description: When suspended, no new releases or rollouts can be created,\n but in-progress ones will complete.\n uid:\n type: string\n x-dcl-go-name: Uid\n readOnly: true\n description: Output only. Unique identifier of the `DeliveryPipeline`.\n x-kubernetes-immutable: true\n updateTime:\n type: string\n format: date-time\n x-dcl-go-name: UpdateTime\n readOnly: true\n description: Output only. Most recent time at which the pipeline was updated.\n x-kubernetes-immutable: true\n")
-// 9321 bytes
-// MD5: 0d460ed1a19cc897922581015b2e537f
+// 24434 bytes
+// MD5: 6a0abf2c7318c93d232cc641af7528b8
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/target.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/target.go
index a64b1395fc..1592bc13d9 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/target.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/target.go
@@ -41,6 +41,8 @@ type Target struct {
ExecutionConfigs []TargetExecutionConfigs `json:"executionConfigs"`
Project *string `json:"project"`
Location *string `json:"location"`
+ Run *TargetRun `json:"run"`
+ DeployParameters map[string]string `json:"deployParameters"`
}
func (r *Target) String() string {
@@ -227,6 +229,52 @@ func (r *TargetExecutionConfigs) HashCode() string {
return fmt.Sprintf("%x", hash)
}
+type TargetRun struct {
+ empty bool `json:"-"`
+ Location *string `json:"location"`
+}
+
+type jsonTargetRun TargetRun
+
+func (r *TargetRun) UnmarshalJSON(data []byte) error {
+ var res jsonTargetRun
+ if err := json.Unmarshal(data, &res); err != nil {
+ return err
+ }
+
+ var m map[string]interface{}
+ json.Unmarshal(data, &m)
+
+ if len(m) == 0 {
+ *r = *EmptyTargetRun
+ } else {
+
+ r.Location = res.Location
+
+ }
+ return nil
+}
+
+// This object is used to assert a desired state where this TargetRun is
+// empty. Go lacks global const objects, but this object should be treated
+// as one. Modifying this object will have undesirable results.
+var EmptyTargetRun *TargetRun = &TargetRun{empty: true}
+
+func (r *TargetRun) Empty() bool {
+ return r.empty
+}
+
+func (r *TargetRun) String() string {
+ return dcl.SprintResource(r)
+}
+
+func (r *TargetRun) HashCode() string {
+ // Placeholder for a more complex hash method that handles ordering, etc
+ // Hash resource body for easy comparison later
+ hash := sha256.New().Sum([]byte(r.String()))
+ return fmt.Sprintf("%x", hash)
+}
+
// Describe returns a simple description of this resource to ensure that automated tools
// can identify it.
func (r *Target) Describe() dcl.ServiceTypeVersion {
@@ -258,6 +306,8 @@ func (r *Target) ID() (string, error) {
"execution_configs": dcl.ValueOrEmptyString(nr.ExecutionConfigs),
"project": dcl.ValueOrEmptyString(nr.Project),
"location": dcl.ValueOrEmptyString(nr.Location),
+ "run": dcl.ValueOrEmptyString(nr.Run),
+ "deploy_parameters": dcl.ValueOrEmptyString(nr.DeployParameters),
}
return dcl.Nprintf("projects/{{project}}/locations/{{location}}/targets/{{name}}", params), nil
}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/target.yaml b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/target.yaml
index dd69478ac6..0c74dfa825 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/target.yaml
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/target.yaml
@@ -92,6 +92,7 @@ components:
description: Information specifying an Anthos Cluster.
x-dcl-conflicts:
- gke
+ - run
properties:
membership:
type: string
@@ -108,6 +109,12 @@ components:
readOnly: true
description: Output only. Time at which the `Target` was created.
x-kubernetes-immutable: true
+ deployParameters:
+ type: object
+ additionalProperties:
+ type: string
+ x-dcl-go-name: DeployParameters
+ description: Optional. The deploy parameters to use for this target.
description:
type: string
x-dcl-go-name: Description
@@ -190,6 +197,7 @@ components:
description: Information specifying a GKE Cluster.
x-dcl-conflicts:
- anthosCluster
+ - run
properties:
cluster:
type: string
@@ -243,6 +251,22 @@ components:
type: boolean
x-dcl-go-name: RequireApproval
description: Optional. Whether or not the `Target` requires approval.
+ run:
+ type: object
+ x-dcl-go-name: Run
+ x-dcl-go-type: TargetRun
+ description: Information specifying a Cloud Run deployment target.
+ x-dcl-conflicts:
+ - gke
+ - anthosCluster
+ required:
+ - location
+ properties:
+ location:
+ type: string
+ x-dcl-go-name: Location
+ description: Required. The location where the Cloud Run Service should
+ be located. Format is `projects/{project}/locations/{location}`.
targetId:
type: string
x-dcl-go-name: TargetId
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/target_internal.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/target_internal.go
index ea51a4f066..e6642a2dcd 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/target_internal.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/target_internal.go
@@ -27,7 +27,7 @@ import (
func (r *Target) validate() error {
- if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"Gke", "AnthosCluster"}, r.Gke, r.AnthosCluster); err != nil {
+ if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"Gke", "AnthosCluster", "Run"}, r.Gke, r.AnthosCluster, r.Run); err != nil {
return err
}
if err := dcl.RequiredParameter(r.Name, "Name"); err != nil {
@@ -49,6 +49,11 @@ func (r *Target) validate() error {
return err
}
}
+ if !dcl.IsEmptyValueIndirect(r.Run) {
+ if err := r.Run.validate(); err != nil {
+ return err
+ }
+ }
return nil
}
func (r *TargetGke) validate() error {
@@ -66,6 +71,12 @@ func (r *TargetExecutionConfigs) validate() error {
}
return nil
}
+func (r *TargetRun) validate() error {
+ if err := dcl.Required(r, "location"); err != nil {
+ return err
+ }
+ return nil
+}
func (r *Target) basePath() string {
params := map[string]interface{}{}
return dcl.Nprintf("https://clouddeploy.googleapis.com/v1/", params)
@@ -173,6 +184,14 @@ func newUpdateTargetUpdateTargetRequest(ctx context.Context, f *Target, c *Clien
} else if v != nil {
req["executionConfigs"] = v
}
+ if v, err := expandTargetRun(c, f.Run, res); err != nil {
+ return nil, fmt.Errorf("error expanding Run into run: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ req["run"] = v
+ }
+ if v := f.DeployParameters; !dcl.IsEmptyValueIndirect(v) {
+ req["deployParameters"] = v
+ }
b, err := c.getTargetRaw(ctx, f)
if err != nil {
return nil, err
@@ -508,18 +527,25 @@ func canonicalizeTargetInitialState(rawInitial, rawDesired *Target) (*Target, er
if !dcl.IsZeroValue(rawInitial.Gke) {
// Check if anything else is set.
- if dcl.AnySet(rawInitial.AnthosCluster) {
+ if dcl.AnySet(rawInitial.AnthosCluster, rawInitial.Run) {
rawInitial.Gke = EmptyTargetGke
}
}
if !dcl.IsZeroValue(rawInitial.AnthosCluster) {
// Check if anything else is set.
- if dcl.AnySet(rawInitial.Gke) {
+ if dcl.AnySet(rawInitial.Gke, rawInitial.Run) {
rawInitial.AnthosCluster = EmptyTargetAnthosCluster
}
}
+ if !dcl.IsZeroValue(rawInitial.Run) {
+ // Check if anything else is set.
+ if dcl.AnySet(rawInitial.Gke, rawInitial.AnthosCluster) {
+ rawInitial.Run = EmptyTargetRun
+ }
+ }
+
return rawInitial, nil
}
@@ -537,6 +563,7 @@ func canonicalizeTargetDesiredState(rawDesired, rawInitial *Target, opts ...dcl.
// We canonicalize the remaining nested objects with nil to pick up defaults.
rawDesired.Gke = canonicalizeTargetGke(rawDesired.Gke, nil, opts...)
rawDesired.AnthosCluster = canonicalizeTargetAnthosCluster(rawDesired.AnthosCluster, nil, opts...)
+ rawDesired.Run = canonicalizeTargetRun(rawDesired.Run, nil, opts...)
return rawDesired, nil
}
@@ -581,21 +608,35 @@ func canonicalizeTargetDesiredState(rawDesired, rawInitial *Target, opts ...dcl.
} else {
canonicalDesired.Location = rawDesired.Location
}
+ canonicalDesired.Run = canonicalizeTargetRun(rawDesired.Run, rawInitial.Run, opts...)
+ if dcl.IsZeroValue(rawDesired.DeployParameters) || (dcl.IsEmptyValueIndirect(rawDesired.DeployParameters) && dcl.IsEmptyValueIndirect(rawInitial.DeployParameters)) {
+ // Desired and initial values are equivalent, so set canonical desired value to initial value.
+ canonicalDesired.DeployParameters = rawInitial.DeployParameters
+ } else {
+ canonicalDesired.DeployParameters = rawDesired.DeployParameters
+ }
if canonicalDesired.Gke != nil {
// Check if anything else is set.
- if dcl.AnySet(rawDesired.AnthosCluster) {
+ if dcl.AnySet(rawDesired.AnthosCluster, rawDesired.Run) {
canonicalDesired.Gke = EmptyTargetGke
}
}
if canonicalDesired.AnthosCluster != nil {
// Check if anything else is set.
- if dcl.AnySet(rawDesired.Gke) {
+ if dcl.AnySet(rawDesired.Gke, rawDesired.Run) {
canonicalDesired.AnthosCluster = EmptyTargetAnthosCluster
}
}
+ if canonicalDesired.Run != nil {
+ // Check if anything else is set.
+ if dcl.AnySet(rawDesired.Gke, rawDesired.AnthosCluster) {
+ canonicalDesired.Run = EmptyTargetRun
+ }
+ }
+
return canonicalDesired, nil
}
@@ -685,6 +726,17 @@ func canonicalizeTargetNewState(c *Client, rawNew, rawDesired *Target) (*Target,
rawNew.Location = rawDesired.Location
+ if dcl.IsEmptyValueIndirect(rawNew.Run) && dcl.IsEmptyValueIndirect(rawDesired.Run) {
+ rawNew.Run = rawDesired.Run
+ } else {
+ rawNew.Run = canonicalizeNewTargetRun(c, rawDesired.Run, rawNew.Run)
+ }
+
+ if dcl.IsEmptyValueIndirect(rawNew.DeployParameters) && dcl.IsEmptyValueIndirect(rawDesired.DeployParameters) {
+ rawNew.DeployParameters = rawDesired.DeployParameters
+ } else {
+ }
+
return rawNew, nil
}
@@ -1073,6 +1125,124 @@ func canonicalizeNewTargetExecutionConfigsSlice(c *Client, des, nw []TargetExecu
return items
}
+func canonicalizeTargetRun(des, initial *TargetRun, opts ...dcl.ApplyOption) *TargetRun {
+ if des == nil {
+ return initial
+ }
+ if des.empty {
+ return des
+ }
+
+ if initial == nil {
+ return des
+ }
+
+ cDes := &TargetRun{}
+
+ if dcl.StringCanonicalize(des.Location, initial.Location) || dcl.IsZeroValue(des.Location) {
+ cDes.Location = initial.Location
+ } else {
+ cDes.Location = des.Location
+ }
+
+ return cDes
+}
+
+func canonicalizeTargetRunSlice(des, initial []TargetRun, opts ...dcl.ApplyOption) []TargetRun {
+ if dcl.IsEmptyValueIndirect(des) {
+ return initial
+ }
+
+ if len(des) != len(initial) {
+
+ items := make([]TargetRun, 0, len(des))
+ for _, d := range des {
+ cd := canonicalizeTargetRun(&d, nil, opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+ }
+
+ items := make([]TargetRun, 0, len(des))
+ for i, d := range des {
+ cd := canonicalizeTargetRun(&d, &initial[i], opts...)
+ if cd != nil {
+ items = append(items, *cd)
+ }
+ }
+ return items
+
+}
+
+func canonicalizeNewTargetRun(c *Client, des, nw *TargetRun) *TargetRun {
+
+ if des == nil {
+ return nw
+ }
+
+ if nw == nil {
+ if dcl.IsEmptyValueIndirect(des) {
+ c.Config.Logger.Info("Found explicitly empty value for TargetRun while comparing non-nil desired to nil actual. Returning desired object.")
+ return des
+ }
+ return nil
+ }
+
+ if dcl.StringCanonicalize(des.Location, nw.Location) {
+ nw.Location = des.Location
+ }
+
+ return nw
+}
+
+func canonicalizeNewTargetRunSet(c *Client, des, nw []TargetRun) []TargetRun {
+ if des == nil {
+ return nw
+ }
+
+ // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
+ var items []TargetRun
+ for _, d := range des {
+ matchedIndex := -1
+ for i, n := range nw {
+ if diffs, _ := compareTargetRunNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
+ matchedIndex = i
+ break
+ }
+ }
+ if matchedIndex != -1 {
+ items = append(items, *canonicalizeNewTargetRun(c, &d, &nw[matchedIndex]))
+ nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
+ }
+ }
+ // Also include elements in nw that are not matched in des.
+ items = append(items, nw...)
+
+ return items
+}
+
+func canonicalizeNewTargetRunSlice(c *Client, des, nw []TargetRun) []TargetRun {
+ if des == nil {
+ return nw
+ }
+
+ // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
+ // Return the original array.
+ if len(des) != len(nw) {
+ return nw
+ }
+
+ var items []TargetRun
+ for i, d := range des {
+ n := nw[i]
+ items = append(items, *canonicalizeNewTargetRun(c, &d, &n))
+ }
+
+ return items
+}
+
// The differ returns a list of diffs, along with a list of operations that should be taken
// to remedy them. Right now, it does not attempt to consolidate operations - if several
// fields can be fixed with a patch update, it will perform the patch several times.
@@ -1196,6 +1366,20 @@ func diffTarget(c *Client, desired, actual *Target, opts ...dcl.ApplyOption) ([]
newDiffs = append(newDiffs, ds...)
}
+ if ds, err := dcl.Diff(desired.Run, actual.Run, dcl.DiffInfo{ObjectFunction: compareTargetRunNewStyle, EmptyObject: EmptyTargetRun, OperationSelector: dcl.TriggersOperation("updateTargetUpdateTargetOperation")}, fn.AddNest("Run")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.DeployParameters, actual.DeployParameters, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateTargetUpdateTargetOperation")}, fn.AddNest("DeployParameters")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
if len(newDiffs) > 0 {
c.Config.Logger.Infof("Diff function found diffs: %v", newDiffs)
}
@@ -1323,6 +1507,35 @@ func compareTargetExecutionConfigsNewStyle(d, a interface{}, fn dcl.FieldName) (
return diffs, nil
}
+func compareTargetRunNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
+ var diffs []*dcl.FieldDiff
+
+ desired, ok := d.(*TargetRun)
+ if !ok {
+ desiredNotPointer, ok := d.(TargetRun)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a TargetRun or *TargetRun", d)
+ }
+ desired = &desiredNotPointer
+ }
+ actual, ok := a.(*TargetRun)
+ if !ok {
+ actualNotPointer, ok := a.(TargetRun)
+ if !ok {
+ return nil, fmt.Errorf("obj %v is not a TargetRun", a)
+ }
+ actual = &actualNotPointer
+ }
+
+ if ds, err := dcl.Diff(desired.Location, actual.Location, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Location")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+ return diffs, nil
+}
+
// urlNormalized returns a copy of the resource struct with values normalized
// for URL substitutions. For instance, it converts long-form self-links to
// short-form so they can be substituted in.
@@ -1430,6 +1643,14 @@ func expandTarget(c *Client, f *Target) (map[string]interface{}, error) {
} else if !dcl.IsEmptyValueIndirect(v) {
m["location"] = v
}
+ if v, err := expandTargetRun(c, f.Run, res); err != nil {
+ return nil, fmt.Errorf("error expanding Run into run: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ m["run"] = v
+ }
+ if v := f.DeployParameters; dcl.ValueShouldBeSent(v) {
+ m["deployParameters"] = v
+ }
return m, nil
}
@@ -1461,6 +1682,8 @@ func flattenTarget(c *Client, i interface{}, res *Target) *Target {
resultRes.ExecutionConfigs = flattenTargetExecutionConfigsSlice(c, m["executionConfigs"], res)
resultRes.Project = dcl.FlattenString(m["project"])
resultRes.Location = dcl.FlattenString(m["location"])
+ resultRes.Run = flattenTargetRun(c, m["run"], res)
+ resultRes.DeployParameters = dcl.FlattenKeyValuePairs(m["deployParameters"])
return resultRes
}
@@ -1827,6 +2050,120 @@ func flattenTargetExecutionConfigs(c *Client, i interface{}, res *Target) *Targe
return r
}
+// expandTargetRunMap expands the contents of TargetRun into a JSON
+// request object.
+func expandTargetRunMap(c *Client, f map[string]TargetRun, res *Target) (map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := make(map[string]interface{})
+ for k, item := range f {
+ i, err := expandTargetRun(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+ if i != nil {
+ items[k] = i
+ }
+ }
+
+ return items, nil
+}
+
+// expandTargetRunSlice expands the contents of TargetRun into a JSON
+// request object.
+func expandTargetRunSlice(c *Client, f []TargetRun, res *Target) ([]map[string]interface{}, error) {
+ if f == nil {
+ return nil, nil
+ }
+
+ items := []map[string]interface{}{}
+ for _, item := range f {
+ i, err := expandTargetRun(c, &item, res)
+ if err != nil {
+ return nil, err
+ }
+
+ items = append(items, i)
+ }
+
+ return items, nil
+}
+
+// flattenTargetRunMap flattens the contents of TargetRun from a JSON
+// response object.
+func flattenTargetRunMap(c *Client, i interface{}, res *Target) map[string]TargetRun {
+ a, ok := i.(map[string]interface{})
+ if !ok {
+ return map[string]TargetRun{}
+ }
+
+ if len(a) == 0 {
+ return map[string]TargetRun{}
+ }
+
+ items := make(map[string]TargetRun)
+ for k, item := range a {
+ items[k] = *flattenTargetRun(c, item.(map[string]interface{}), res)
+ }
+
+ return items
+}
+
+// flattenTargetRunSlice flattens the contents of TargetRun from a JSON
+// response object.
+func flattenTargetRunSlice(c *Client, i interface{}, res *Target) []TargetRun {
+ a, ok := i.([]interface{})
+ if !ok {
+ return []TargetRun{}
+ }
+
+ if len(a) == 0 {
+ return []TargetRun{}
+ }
+
+ items := make([]TargetRun, 0, len(a))
+ for _, item := range a {
+ items = append(items, *flattenTargetRun(c, item.(map[string]interface{}), res))
+ }
+
+ return items
+}
+
+// expandTargetRun expands an instance of TargetRun into a JSON
+// request object.
+func expandTargetRun(c *Client, f *TargetRun, res *Target) (map[string]interface{}, error) {
+ if dcl.IsEmptyValueIndirect(f) {
+ return nil, nil
+ }
+
+ m := make(map[string]interface{})
+ if v := f.Location; !dcl.IsEmptyValueIndirect(v) {
+ m["location"] = v
+ }
+
+ return m, nil
+}
+
+// flattenTargetRun flattens an instance of TargetRun from a JSON
+// response object.
+func flattenTargetRun(c *Client, i interface{}, res *Target) *TargetRun {
+ m, ok := i.(map[string]interface{})
+ if !ok {
+ return nil
+ }
+
+ r := &TargetRun{}
+
+ if dcl.IsEmptyValueIndirect(i) {
+ return EmptyTargetRun
+ }
+ r.Location = dcl.FlattenString(m["location"])
+
+ return r
+}
+
// flattenTargetExecutionConfigsUsagesEnumMap flattens the contents of TargetExecutionConfigsUsagesEnum from a JSON
// response object.
func flattenTargetExecutionConfigsUsagesEnumMap(c *Client, i interface{}, res *Target) map[string]TargetExecutionConfigsUsagesEnum {
@@ -1994,6 +2331,17 @@ func extractTargetFields(r *Target) error {
if !dcl.IsEmptyValueIndirect(vAnthosCluster) {
r.AnthosCluster = vAnthosCluster
}
+ vRun := r.Run
+ if vRun == nil {
+ // note: explicitly not the empty object.
+ vRun = &TargetRun{}
+ }
+ if err := extractTargetRunFields(r, vRun); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vRun) {
+ r.Run = vRun
+ }
return nil
}
func extractTargetGkeFields(r *Target, o *TargetGke) error {
@@ -2005,6 +2353,9 @@ func extractTargetAnthosClusterFields(r *Target, o *TargetAnthosCluster) error {
func extractTargetExecutionConfigsFields(r *Target, o *TargetExecutionConfigs) error {
return nil
}
+func extractTargetRunFields(r *Target, o *TargetRun) error {
+ return nil
+}
func postReadExtractTargetFields(r *Target) error {
vGke := r.Gke
@@ -2029,6 +2380,17 @@ func postReadExtractTargetFields(r *Target) error {
if !dcl.IsEmptyValueIndirect(vAnthosCluster) {
r.AnthosCluster = vAnthosCluster
}
+ vRun := r.Run
+ if vRun == nil {
+ // note: explicitly not the empty object.
+ vRun = &TargetRun{}
+ }
+ if err := postReadExtractTargetRunFields(r, vRun); err != nil {
+ return err
+ }
+ if !dcl.IsEmptyValueIndirect(vRun) {
+ r.Run = vRun
+ }
return nil
}
func postReadExtractTargetGkeFields(r *Target, o *TargetGke) error {
@@ -2040,3 +2402,6 @@ func postReadExtractTargetAnthosClusterFields(r *Target, o *TargetAnthosCluster)
func postReadExtractTargetExecutionConfigsFields(r *Target, o *TargetExecutionConfigs) error {
return nil
}
+func postReadExtractTargetRunFields(r *Target, o *TargetRun) error {
+ return nil
+}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/target_schema.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/target_schema.go
index 7acdfcb49d..2ee3af3fa5 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/target_schema.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/target_schema.go
@@ -128,6 +128,7 @@ func DCLTargetSchema() *dcl.Schema {
Description: "Information specifying an Anthos Cluster.",
Conflicts: []string{
"gke",
+ "run",
},
Properties: map[string]*dcl.Property{
"membership": &dcl.Property{
@@ -151,6 +152,14 @@ func DCLTargetSchema() *dcl.Schema {
Description: "Output only. Time at which the `Target` was created.",
Immutable: true,
},
+ "deployParameters": &dcl.Property{
+ Type: "object",
+ AdditionalProperties: &dcl.Property{
+ Type: "string",
+ },
+ GoName: "DeployParameters",
+ Description: "Optional. The deploy parameters to use for this target.",
+ },
"description": &dcl.Property{
Type: "string",
GoName: "Description",
@@ -232,6 +241,7 @@ func DCLTargetSchema() *dcl.Schema {
Description: "Information specifying a GKE Cluster.",
Conflicts: []string{
"anthosCluster",
+ "run",
},
Properties: map[string]*dcl.Property{
"cluster": &dcl.Property{
@@ -290,6 +300,26 @@ func DCLTargetSchema() *dcl.Schema {
GoName: "RequireApproval",
Description: "Optional. Whether or not the `Target` requires approval.",
},
+ "run": &dcl.Property{
+ Type: "object",
+ GoName: "Run",
+ GoType: "TargetRun",
+ Description: "Information specifying a Cloud Run deployment target.",
+ Conflicts: []string{
+ "gke",
+ "anthosCluster",
+ },
+ Required: []string{
+ "location",
+ },
+ Properties: map[string]*dcl.Property{
+ "location": &dcl.Property{
+ Type: "string",
+ GoName: "Location",
+ Description: "Required. The location where the Cloud Run Service should be located. Format is `projects/{project}/locations/{location}`.",
+ },
+ },
+ },
"targetId": &dcl.Property{
Type: "string",
GoName: "TargetId",
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/target_yaml_embed.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/target_yaml_embed.go
index c2db11ca55..f1fb0c2e11 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/target_yaml_embed.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/clouddeploy/target_yaml_embed.go
@@ -17,7 +17,7 @@
package clouddeploy
// blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/clouddeploy/target.yaml
-var YAML_target = []byte("info:\n title: Clouddeploy/Target\n description: The Cloud Deploy `Target` resource\n x-dcl-struct-name: Target\n x-dcl-has-iam: false\n x-dcl-ref:\n text: REST API\n url: https://cloud.google.com/deploy/docs/api/reference/rest/v1/projects.locations.targets\npaths:\n get:\n description: The function used to get information about a Target\n parameters:\n - name: target\n required: true\n description: A full instance of a Target\n apply:\n description: The function used to apply information about a Target\n parameters:\n - name: target\n required: true\n description: A full instance of a Target\n delete:\n description: The function used to delete a Target\n parameters:\n - name: target\n required: true\n description: A full instance of a Target\n deleteAll:\n description: The function used to delete all Target\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many Target\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n Target:\n title: Target\n x-dcl-id: projects/{{project}}/locations/{{location}}/targets/{{name}}\n x-dcl-parent-container: project\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - project\n - location\n properties:\n annotations:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Annotations\n description: Optional. User annotations. These attributes can only be set\n and used by the user, and not by Google Cloud Deploy. See https://google.aip.dev/128#annotations\n for more details such as format and size limitations.\n anthosCluster:\n type: object\n x-dcl-go-name: AnthosCluster\n x-dcl-go-type: TargetAnthosCluster\n description: Information specifying an Anthos Cluster.\n x-dcl-conflicts:\n - gke\n properties:\n membership:\n type: string\n x-dcl-go-name: Membership\n description: Membership of the GKE Hub-registered cluster to which to\n apply the Skaffold configuration. Format is `projects/{project}/locations/{location}/memberships/{membership_name}`.\n x-dcl-references:\n - resource: Gkehub/Membership\n field: selfLink\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Output only. Time at which the `Target` was created.\n x-kubernetes-immutable: true\n description:\n type: string\n x-dcl-go-name: Description\n description: Optional. Description of the `Target`. Max length is 255 characters.\n etag:\n type: string\n x-dcl-go-name: Etag\n readOnly: true\n description: Optional. This checksum is computed by the server based on\n the value of other fields, and may be sent on update and delete requests\n to ensure the client has an up-to-date value before proceeding.\n x-kubernetes-immutable: true\n executionConfigs:\n type: array\n x-dcl-go-name: ExecutionConfigs\n description: Configurations for all execution that relates to this `Target`.\n Each `ExecutionEnvironmentUsage` value may only be used in a single configuration;\n using the same value multiple times is an error. When one or more configurations\n are specified, they must include the `RENDER` and `DEPLOY` `ExecutionEnvironmentUsage`\n values. When no configurations are specified, execution will use the default\n specified in `DefaultPool`.\n x-dcl-server-default: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: TargetExecutionConfigs\n required:\n - usages\n properties:\n artifactStorage:\n type: string\n x-dcl-go-name: ArtifactStorage\n description: Optional. Cloud Storage location in which to store execution\n outputs. This can either be a bucket (\"gs://my-bucket\") or a path\n within a bucket (\"gs://my-bucket/my-dir\"). If unspecified, a default\n bucket located in the same region will be used.\n x-dcl-server-default: true\n executionTimeout:\n type: string\n x-dcl-go-name: ExecutionTimeout\n description: Optional. Execution timeout for a Cloud Build Execution.\n This must be between 10m and 24h in seconds format. If unspecified,\n a default timeout of 1h is used.\n x-dcl-server-default: true\n serviceAccount:\n type: string\n x-dcl-go-name: ServiceAccount\n description: Optional. Google service account to use for execution.\n If unspecified, the project execution service account (-compute@developer.gserviceaccount.com)\n is used.\n x-dcl-server-default: true\n usages:\n type: array\n x-dcl-go-name: Usages\n description: Required. Usages when this configuration should be applied.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: TargetExecutionConfigsUsagesEnum\n enum:\n - EXECUTION_ENVIRONMENT_USAGE_UNSPECIFIED\n - RENDER\n - DEPLOY\n workerPool:\n type: string\n x-dcl-go-name: WorkerPool\n description: Optional. The resource name of the `WorkerPool`, with\n the format `projects/{project}/locations/{location}/workerPools/{worker_pool}`.\n If this optional field is unspecified, the default Cloud Build pool\n will be used.\n x-dcl-references:\n - resource: Cloudbuild/WorkerPool\n field: selfLink\n gke:\n type: object\n x-dcl-go-name: Gke\n x-dcl-go-type: TargetGke\n description: Information specifying a GKE Cluster.\n x-dcl-conflicts:\n - anthosCluster\n properties:\n cluster:\n type: string\n x-dcl-go-name: Cluster\n description: Information specifying a GKE Cluster. Format is `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}.\n x-dcl-references:\n - resource: Container/Cluster\n field: selfLink\n internalIP:\n type: boolean\n x-dcl-go-name: InternalIP\n description: Optional. If true, `cluster` is accessed using the private\n IP address of the control plane endpoint. Otherwise, the default IP\n address of the control plane endpoint is used. The default IP address\n is the private IP address for clusters with private control-plane\n endpoints and the public IP address otherwise. Only specify this option\n when `cluster` is a [private GKE cluster](https://cloud.google.com/kubernetes-engine/docs/concepts/private-cluster-concept).\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: 'Optional. Labels are attributes that can be set and used by\n both the user and by Google Cloud Deploy. Labels must meet the following\n constraints: * Keys and values can contain only lowercase letters, numeric\n characters, underscores, and dashes. * All characters must use UTF-8 encoding,\n and international characters are allowed. * Keys must start with a lowercase\n letter or international character. * Each resource is limited to a maximum\n of 64 labels. Both keys and values are additionally constrained to be\n <= 128 bytes.'\n location:\n type: string\n x-dcl-go-name: Location\n description: The location for the resource\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the `Target`. Format is [a-z][a-z0-9\\-]{0,62}.\n x-kubernetes-immutable: true\n project:\n type: string\n x-dcl-go-name: Project\n description: The project for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n requireApproval:\n type: boolean\n x-dcl-go-name: RequireApproval\n description: Optional. Whether or not the `Target` requires approval.\n targetId:\n type: string\n x-dcl-go-name: TargetId\n readOnly: true\n description: Output only. Resource id of the `Target`.\n x-kubernetes-immutable: true\n uid:\n type: string\n x-dcl-go-name: Uid\n readOnly: true\n description: Output only. Unique identifier of the `Target`.\n x-kubernetes-immutable: true\n updateTime:\n type: string\n format: date-time\n x-dcl-go-name: UpdateTime\n readOnly: true\n description: Output only. Most recent time at which the `Target` was updated.\n x-kubernetes-immutable: true\n")
+var YAML_target = []byte("info:\n title: Clouddeploy/Target\n description: The Cloud Deploy `Target` resource\n x-dcl-struct-name: Target\n x-dcl-has-iam: false\n x-dcl-ref:\n text: REST API\n url: https://cloud.google.com/deploy/docs/api/reference/rest/v1/projects.locations.targets\npaths:\n get:\n description: The function used to get information about a Target\n parameters:\n - name: target\n required: true\n description: A full instance of a Target\n apply:\n description: The function used to apply information about a Target\n parameters:\n - name: target\n required: true\n description: A full instance of a Target\n delete:\n description: The function used to delete a Target\n parameters:\n - name: target\n required: true\n description: A full instance of a Target\n deleteAll:\n description: The function used to delete all Target\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many Target\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n Target:\n title: Target\n x-dcl-id: projects/{{project}}/locations/{{location}}/targets/{{name}}\n x-dcl-parent-container: project\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - project\n - location\n properties:\n annotations:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Annotations\n description: Optional. User annotations. These attributes can only be set\n and used by the user, and not by Google Cloud Deploy. See https://google.aip.dev/128#annotations\n for more details such as format and size limitations.\n anthosCluster:\n type: object\n x-dcl-go-name: AnthosCluster\n x-dcl-go-type: TargetAnthosCluster\n description: Information specifying an Anthos Cluster.\n x-dcl-conflicts:\n - gke\n - run\n properties:\n membership:\n type: string\n x-dcl-go-name: Membership\n description: Membership of the GKE Hub-registered cluster to which to\n apply the Skaffold configuration. Format is `projects/{project}/locations/{location}/memberships/{membership_name}`.\n x-dcl-references:\n - resource: Gkehub/Membership\n field: selfLink\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Output only. Time at which the `Target` was created.\n x-kubernetes-immutable: true\n deployParameters:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DeployParameters\n description: Optional. The deploy parameters to use for this target.\n description:\n type: string\n x-dcl-go-name: Description\n description: Optional. Description of the `Target`. Max length is 255 characters.\n etag:\n type: string\n x-dcl-go-name: Etag\n readOnly: true\n description: Optional. This checksum is computed by the server based on\n the value of other fields, and may be sent on update and delete requests\n to ensure the client has an up-to-date value before proceeding.\n x-kubernetes-immutable: true\n executionConfigs:\n type: array\n x-dcl-go-name: ExecutionConfigs\n description: Configurations for all execution that relates to this `Target`.\n Each `ExecutionEnvironmentUsage` value may only be used in a single configuration;\n using the same value multiple times is an error. When one or more configurations\n are specified, they must include the `RENDER` and `DEPLOY` `ExecutionEnvironmentUsage`\n values. When no configurations are specified, execution will use the default\n specified in `DefaultPool`.\n x-dcl-server-default: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: TargetExecutionConfigs\n required:\n - usages\n properties:\n artifactStorage:\n type: string\n x-dcl-go-name: ArtifactStorage\n description: Optional. Cloud Storage location in which to store execution\n outputs. This can either be a bucket (\"gs://my-bucket\") or a path\n within a bucket (\"gs://my-bucket/my-dir\"). If unspecified, a default\n bucket located in the same region will be used.\n x-dcl-server-default: true\n executionTimeout:\n type: string\n x-dcl-go-name: ExecutionTimeout\n description: Optional. Execution timeout for a Cloud Build Execution.\n This must be between 10m and 24h in seconds format. If unspecified,\n a default timeout of 1h is used.\n x-dcl-server-default: true\n serviceAccount:\n type: string\n x-dcl-go-name: ServiceAccount\n description: Optional. Google service account to use for execution.\n If unspecified, the project execution service account (-compute@developer.gserviceaccount.com)\n is used.\n x-dcl-server-default: true\n usages:\n type: array\n x-dcl-go-name: Usages\n description: Required. Usages when this configuration should be applied.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: TargetExecutionConfigsUsagesEnum\n enum:\n - EXECUTION_ENVIRONMENT_USAGE_UNSPECIFIED\n - RENDER\n - DEPLOY\n workerPool:\n type: string\n x-dcl-go-name: WorkerPool\n description: Optional. The resource name of the `WorkerPool`, with\n the format `projects/{project}/locations/{location}/workerPools/{worker_pool}`.\n If this optional field is unspecified, the default Cloud Build pool\n will be used.\n x-dcl-references:\n - resource: Cloudbuild/WorkerPool\n field: selfLink\n gke:\n type: object\n x-dcl-go-name: Gke\n x-dcl-go-type: TargetGke\n description: Information specifying a GKE Cluster.\n x-dcl-conflicts:\n - anthosCluster\n - run\n properties:\n cluster:\n type: string\n x-dcl-go-name: Cluster\n description: Information specifying a GKE Cluster. Format is `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}.\n x-dcl-references:\n - resource: Container/Cluster\n field: selfLink\n internalIP:\n type: boolean\n x-dcl-go-name: InternalIP\n description: Optional. If true, `cluster` is accessed using the private\n IP address of the control plane endpoint. Otherwise, the default IP\n address of the control plane endpoint is used. The default IP address\n is the private IP address for clusters with private control-plane\n endpoints and the public IP address otherwise. Only specify this option\n when `cluster` is a [private GKE cluster](https://cloud.google.com/kubernetes-engine/docs/concepts/private-cluster-concept).\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: 'Optional. Labels are attributes that can be set and used by\n both the user and by Google Cloud Deploy. Labels must meet the following\n constraints: * Keys and values can contain only lowercase letters, numeric\n characters, underscores, and dashes. * All characters must use UTF-8 encoding,\n and international characters are allowed. * Keys must start with a lowercase\n letter or international character. * Each resource is limited to a maximum\n of 64 labels. Both keys and values are additionally constrained to be\n <= 128 bytes.'\n location:\n type: string\n x-dcl-go-name: Location\n description: The location for the resource\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the `Target`. Format is [a-z][a-z0-9\\-]{0,62}.\n x-kubernetes-immutable: true\n project:\n type: string\n x-dcl-go-name: Project\n description: The project for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n requireApproval:\n type: boolean\n x-dcl-go-name: RequireApproval\n description: Optional. Whether or not the `Target` requires approval.\n run:\n type: object\n x-dcl-go-name: Run\n x-dcl-go-type: TargetRun\n description: Information specifying a Cloud Run deployment target.\n x-dcl-conflicts:\n - gke\n - anthosCluster\n required:\n - location\n properties:\n location:\n type: string\n x-dcl-go-name: Location\n description: Required. The location where the Cloud Run Service should\n be located. Format is `projects/{project}/locations/{location}`.\n targetId:\n type: string\n x-dcl-go-name: TargetId\n readOnly: true\n description: Output only. Resource id of the `Target`.\n x-kubernetes-immutable: true\n uid:\n type: string\n x-dcl-go-name: Uid\n readOnly: true\n description: Output only. Unique identifier of the `Target`.\n x-kubernetes-immutable: true\n updateTime:\n type: string\n format: date-time\n x-dcl-go-name: UpdateTime\n readOnly: true\n description: Output only. Most recent time at which the `Target` was updated.\n x-kubernetes-immutable: true\n")
-// 10138 bytes
-// MD5: 40c05270fd1ef823c0c9449c5303a79f
+// 10959 bytes
+// MD5: 160cecea2006e79b6130797252cde178
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/firewall_policy_rule.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/firewall_policy_rule.go
index d0e9bc9ee6..3a85e30f9f 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/firewall_policy_rule.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/firewall_policy_rule.go
@@ -71,10 +71,18 @@ func (v FirewallPolicyRuleDirectionEnum) Validate() error {
}
type FirewallPolicyRuleMatch struct {
- empty bool `json:"-"`
- SrcIPRanges []string `json:"srcIPRanges"`
- DestIPRanges []string `json:"destIPRanges"`
- Layer4Configs []FirewallPolicyRuleMatchLayer4Configs `json:"layer4Configs"`
+ empty bool `json:"-"`
+ SrcIPRanges []string `json:"srcIPRanges"`
+ DestIPRanges []string `json:"destIPRanges"`
+ SrcRegionCodes []string `json:"srcRegionCodes"`
+ DestRegionCodes []string `json:"destRegionCodes"`
+ SrcThreatIntelligences []string `json:"srcThreatIntelligences"`
+ DestThreatIntelligences []string `json:"destThreatIntelligences"`
+ SrcFqdns []string `json:"srcFqdns"`
+ DestFqdns []string `json:"destFqdns"`
+ Layer4Configs []FirewallPolicyRuleMatchLayer4Configs `json:"layer4Configs"`
+ SrcAddressGroups []string `json:"srcAddressGroups"`
+ DestAddressGroups []string `json:"destAddressGroups"`
}
type jsonFirewallPolicyRuleMatch FirewallPolicyRuleMatch
@@ -96,8 +104,24 @@ func (r *FirewallPolicyRuleMatch) UnmarshalJSON(data []byte) error {
r.DestIPRanges = res.DestIPRanges
+ r.SrcRegionCodes = res.SrcRegionCodes
+
+ r.DestRegionCodes = res.DestRegionCodes
+
+ r.SrcThreatIntelligences = res.SrcThreatIntelligences
+
+ r.DestThreatIntelligences = res.DestThreatIntelligences
+
+ r.SrcFqdns = res.SrcFqdns
+
+ r.DestFqdns = res.DestFqdns
+
r.Layer4Configs = res.Layer4Configs
+ r.SrcAddressGroups = res.SrcAddressGroups
+
+ r.DestAddressGroups = res.DestAddressGroups
+
}
return nil
}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/firewall_policy_rule.yaml b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/firewall_policy_rule.yaml
index 4adc47e116..27d9c1664f 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/firewall_policy_rule.yaml
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/firewall_policy_rule.yaml
@@ -73,8 +73,7 @@ components:
type: string
x-dcl-go-name: Action
description: The Action to perform when the client connection triggers the
- rule. Can currently be either "allow" or "deny()" where valid values for
- status are 403, 404, and 502.
+ rule. Valid actions are "allow", "deny" and "goto_next".
description:
type: string
x-dcl-go-name: Description
@@ -127,6 +126,28 @@ components:
required:
- layer4Configs
properties:
+ destAddressGroups:
+ type: array
+ x-dcl-go-name: DestAddressGroups
+ description: Address groups which should be matched against the traffic
+ destination. Maximum number of destination address groups is 10. Destination
+ address groups is only supported in Egress rules.
+ x-dcl-send-empty: true
+ x-dcl-list-type: list
+ items:
+ type: string
+ x-dcl-go-type: string
+ destFqdns:
+ type: array
+ x-dcl-go-name: DestFqdns
+ description: Domain names that will be used to match against the resolved
+ domain name of destination of traffic. Can only be specified if DIRECTION
+ is egress.
+ x-dcl-send-empty: true
+ x-dcl-list-type: list
+ items:
+ type: string
+ x-dcl-go-type: string
destIPRanges:
type: array
x-dcl-go-name: DestIPRanges
@@ -137,6 +158,26 @@ components:
items:
type: string
x-dcl-go-type: string
+ destRegionCodes:
+ type: array
+ x-dcl-go-name: DestRegionCodes
+ description: The Unicode country codes whose IP addresses will be used
+ to match against the source of traffic. Can only be specified if DIRECTION
+ is egress.
+ x-dcl-send-empty: true
+ x-dcl-list-type: list
+ items:
+ type: string
+ x-dcl-go-type: string
+ destThreatIntelligences:
+ type: array
+ x-dcl-go-name: DestThreatIntelligences
+ description: Name of the Google Cloud Threat Intelligence list.
+ x-dcl-send-empty: true
+ x-dcl-list-type: list
+ items:
+ type: string
+ x-dcl-go-type: string
layer4Configs:
type: array
x-dcl-go-name: Layer4Configs
@@ -170,6 +211,28 @@ components:
items:
type: string
x-dcl-go-type: string
+ srcAddressGroups:
+ type: array
+ x-dcl-go-name: SrcAddressGroups
+ description: Address groups which should be matched against the traffic
+ source. Maximum number of source address groups is 10. Source address
+ groups is only supported in Ingress rules.
+ x-dcl-send-empty: true
+ x-dcl-list-type: list
+ items:
+ type: string
+ x-dcl-go-type: string
+ srcFqdns:
+ type: array
+ x-dcl-go-name: SrcFqdns
+ description: Domain names that will be used to match against the resolved
+ domain name of source of traffic. Can only be specified if DIRECTION
+ is ingress.
+ x-dcl-send-empty: true
+ x-dcl-list-type: list
+ items:
+ type: string
+ x-dcl-go-type: string
srcIPRanges:
type: array
x-dcl-go-name: SrcIPRanges
@@ -180,6 +243,26 @@ components:
items:
type: string
x-dcl-go-type: string
+ srcRegionCodes:
+ type: array
+ x-dcl-go-name: SrcRegionCodes
+ description: The Unicode country codes whose IP addresses will be used
+ to match against the source of traffic. Can only be specified if DIRECTION
+ is ingress.
+ x-dcl-send-empty: true
+ x-dcl-list-type: list
+ items:
+ type: string
+ x-dcl-go-type: string
+ srcThreatIntelligences:
+ type: array
+ x-dcl-go-name: SrcThreatIntelligences
+ description: Name of the Google Cloud Threat Intelligence list.
+ x-dcl-send-empty: true
+ x-dcl-list-type: list
+ items:
+ type: string
+ x-dcl-go-type: string
priority:
type: integer
format: int64
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/firewall_policy_rule_internal.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/firewall_policy_rule_internal.go
index 027692d913..bbde6d2ba2 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/firewall_policy_rule_internal.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/firewall_policy_rule_internal.go
@@ -637,7 +637,47 @@ func canonicalizeFirewallPolicyRuleMatch(des, initial *FirewallPolicyRuleMatch,
} else {
cDes.DestIPRanges = des.DestIPRanges
}
+ if dcl.StringArrayCanonicalize(des.SrcRegionCodes, initial.SrcRegionCodes) {
+ cDes.SrcRegionCodes = initial.SrcRegionCodes
+ } else {
+ cDes.SrcRegionCodes = des.SrcRegionCodes
+ }
+ if dcl.StringArrayCanonicalize(des.DestRegionCodes, initial.DestRegionCodes) {
+ cDes.DestRegionCodes = initial.DestRegionCodes
+ } else {
+ cDes.DestRegionCodes = des.DestRegionCodes
+ }
+ if dcl.StringArrayCanonicalize(des.SrcThreatIntelligences, initial.SrcThreatIntelligences) {
+ cDes.SrcThreatIntelligences = initial.SrcThreatIntelligences
+ } else {
+ cDes.SrcThreatIntelligences = des.SrcThreatIntelligences
+ }
+ if dcl.StringArrayCanonicalize(des.DestThreatIntelligences, initial.DestThreatIntelligences) {
+ cDes.DestThreatIntelligences = initial.DestThreatIntelligences
+ } else {
+ cDes.DestThreatIntelligences = des.DestThreatIntelligences
+ }
+ if dcl.StringArrayCanonicalize(des.SrcFqdns, initial.SrcFqdns) {
+ cDes.SrcFqdns = initial.SrcFqdns
+ } else {
+ cDes.SrcFqdns = des.SrcFqdns
+ }
+ if dcl.StringArrayCanonicalize(des.DestFqdns, initial.DestFqdns) {
+ cDes.DestFqdns = initial.DestFqdns
+ } else {
+ cDes.DestFqdns = des.DestFqdns
+ }
cDes.Layer4Configs = canonicalizeFirewallPolicyRuleMatchLayer4ConfigsSlice(des.Layer4Configs, initial.Layer4Configs, opts...)
+ if dcl.StringArrayCanonicalize(des.SrcAddressGroups, initial.SrcAddressGroups) {
+ cDes.SrcAddressGroups = initial.SrcAddressGroups
+ } else {
+ cDes.SrcAddressGroups = des.SrcAddressGroups
+ }
+ if dcl.StringArrayCanonicalize(des.DestAddressGroups, initial.DestAddressGroups) {
+ cDes.DestAddressGroups = initial.DestAddressGroups
+ } else {
+ cDes.DestAddressGroups = des.DestAddressGroups
+ }
return cDes
}
@@ -690,7 +730,31 @@ func canonicalizeNewFirewallPolicyRuleMatch(c *Client, des, nw *FirewallPolicyRu
if dcl.StringArrayCanonicalize(des.DestIPRanges, nw.DestIPRanges) {
nw.DestIPRanges = des.DestIPRanges
}
+ if dcl.StringArrayCanonicalize(des.SrcRegionCodes, nw.SrcRegionCodes) {
+ nw.SrcRegionCodes = des.SrcRegionCodes
+ }
+ if dcl.StringArrayCanonicalize(des.DestRegionCodes, nw.DestRegionCodes) {
+ nw.DestRegionCodes = des.DestRegionCodes
+ }
+ if dcl.StringArrayCanonicalize(des.SrcThreatIntelligences, nw.SrcThreatIntelligences) {
+ nw.SrcThreatIntelligences = des.SrcThreatIntelligences
+ }
+ if dcl.StringArrayCanonicalize(des.DestThreatIntelligences, nw.DestThreatIntelligences) {
+ nw.DestThreatIntelligences = des.DestThreatIntelligences
+ }
+ if dcl.StringArrayCanonicalize(des.SrcFqdns, nw.SrcFqdns) {
+ nw.SrcFqdns = des.SrcFqdns
+ }
+ if dcl.StringArrayCanonicalize(des.DestFqdns, nw.DestFqdns) {
+ nw.DestFqdns = des.DestFqdns
+ }
nw.Layer4Configs = canonicalizeNewFirewallPolicyRuleMatchLayer4ConfigsSlice(c, des.Layer4Configs, nw.Layer4Configs)
+ if dcl.StringArrayCanonicalize(des.SrcAddressGroups, nw.SrcAddressGroups) {
+ nw.SrcAddressGroups = des.SrcAddressGroups
+ }
+ if dcl.StringArrayCanonicalize(des.DestAddressGroups, nw.DestAddressGroups) {
+ nw.DestAddressGroups = des.DestAddressGroups
+ }
return nw
}
@@ -1008,12 +1072,68 @@ func compareFirewallPolicyRuleMatchNewStyle(d, a interface{}, fn dcl.FieldName)
diffs = append(diffs, ds...)
}
+ if ds, err := dcl.Diff(desired.SrcRegionCodes, actual.SrcRegionCodes, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateFirewallPolicyRulePatchRuleOperation")}, fn.AddNest("SrcRegionCodes")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.DestRegionCodes, actual.DestRegionCodes, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateFirewallPolicyRulePatchRuleOperation")}, fn.AddNest("DestRegionCodes")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.SrcThreatIntelligences, actual.SrcThreatIntelligences, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateFirewallPolicyRulePatchRuleOperation")}, fn.AddNest("SrcThreatIntelligences")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.DestThreatIntelligences, actual.DestThreatIntelligences, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateFirewallPolicyRulePatchRuleOperation")}, fn.AddNest("DestThreatIntelligences")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.SrcFqdns, actual.SrcFqdns, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateFirewallPolicyRulePatchRuleOperation")}, fn.AddNest("SrcFqdns")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.DestFqdns, actual.DestFqdns, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateFirewallPolicyRulePatchRuleOperation")}, fn.AddNest("DestFqdns")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
if ds, err := dcl.Diff(desired.Layer4Configs, actual.Layer4Configs, dcl.DiffInfo{ObjectFunction: compareFirewallPolicyRuleMatchLayer4ConfigsNewStyle, EmptyObject: EmptyFirewallPolicyRuleMatchLayer4Configs, OperationSelector: dcl.TriggersOperation("updateFirewallPolicyRulePatchRuleOperation")}, fn.AddNest("Layer4Configs")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
+
+ if ds, err := dcl.Diff(desired.SrcAddressGroups, actual.SrcAddressGroups, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateFirewallPolicyRulePatchRuleOperation")}, fn.AddNest("SrcAddressGroups")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.DestAddressGroups, actual.DestAddressGroups, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateFirewallPolicyRulePatchRuleOperation")}, fn.AddNest("DestAddressGroups")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
return diffs, nil
}
@@ -1275,11 +1395,35 @@ func expandFirewallPolicyRuleMatch(c *Client, f *FirewallPolicyRuleMatch, res *F
if v := f.DestIPRanges; v != nil {
m["destIpRanges"] = v
}
+ if v := f.SrcRegionCodes; v != nil {
+ m["srcRegionCodes"] = v
+ }
+ if v := f.DestRegionCodes; v != nil {
+ m["destRegionCodes"] = v
+ }
+ if v := f.SrcThreatIntelligences; v != nil {
+ m["srcThreatIntelligences"] = v
+ }
+ if v := f.DestThreatIntelligences; v != nil {
+ m["destThreatIntelligences"] = v
+ }
+ if v := f.SrcFqdns; v != nil {
+ m["srcFqdns"] = v
+ }
+ if v := f.DestFqdns; v != nil {
+ m["destFqdns"] = v
+ }
if v, err := expandFirewallPolicyRuleMatchLayer4ConfigsSlice(c, f.Layer4Configs, res); err != nil {
return nil, fmt.Errorf("error expanding Layer4Configs into layer4Configs: %w", err)
} else if v != nil {
m["layer4Configs"] = v
}
+ if v := f.SrcAddressGroups; v != nil {
+ m["srcAddressGroups"] = v
+ }
+ if v := f.DestAddressGroups; v != nil {
+ m["destAddressGroups"] = v
+ }
return m, nil
}
@@ -1299,7 +1443,15 @@ func flattenFirewallPolicyRuleMatch(c *Client, i interface{}, res *FirewallPolic
}
r.SrcIPRanges = dcl.FlattenStringSlice(m["srcIpRanges"])
r.DestIPRanges = dcl.FlattenStringSlice(m["destIpRanges"])
+ r.SrcRegionCodes = dcl.FlattenStringSlice(m["srcRegionCodes"])
+ r.DestRegionCodes = dcl.FlattenStringSlice(m["destRegionCodes"])
+ r.SrcThreatIntelligences = dcl.FlattenStringSlice(m["srcThreatIntelligences"])
+ r.DestThreatIntelligences = dcl.FlattenStringSlice(m["destThreatIntelligences"])
+ r.SrcFqdns = dcl.FlattenStringSlice(m["srcFqdns"])
+ r.DestFqdns = dcl.FlattenStringSlice(m["destFqdns"])
r.Layer4Configs = flattenFirewallPolicyRuleMatchLayer4ConfigsSlice(c, m["layer4Configs"], res)
+ r.SrcAddressGroups = dcl.FlattenStringSlice(m["srcAddressGroups"])
+ r.DestAddressGroups = dcl.FlattenStringSlice(m["destAddressGroups"])
return r
}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/firewall_policy_rule_schema.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/firewall_policy_rule_schema.go
index d19ce2705a..f5d8c81963 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/firewall_policy_rule_schema.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/firewall_policy_rule_schema.go
@@ -102,7 +102,7 @@ func DCLFirewallPolicyRuleSchema() *dcl.Schema {
"action": &dcl.Property{
Type: "string",
GoName: "Action",
- Description: "The Action to perform when the client connection triggers the rule. Can currently be either \"allow\" or \"deny()\" where valid values for status are 403, 404, and 502.",
+ Description: "The Action to perform when the client connection triggers the rule. Valid actions are \"allow\", \"deny\" and \"goto_next\".",
},
"description": &dcl.Property{
Type: "string",
@@ -158,6 +158,28 @@ func DCLFirewallPolicyRuleSchema() *dcl.Schema {
"layer4Configs",
},
Properties: map[string]*dcl.Property{
+ "destAddressGroups": &dcl.Property{
+ Type: "array",
+ GoName: "DestAddressGroups",
+ Description: "Address groups which should be matched against the traffic destination. Maximum number of destination address groups is 10. Destination address groups is only supported in Egress rules.",
+ SendEmpty: true,
+ ListType: "list",
+ Items: &dcl.Property{
+ Type: "string",
+ GoType: "string",
+ },
+ },
+ "destFqdns": &dcl.Property{
+ Type: "array",
+ GoName: "DestFqdns",
+ Description: "Domain names that will be used to match against the resolved domain name of destination of traffic. Can only be specified if DIRECTION is egress.",
+ SendEmpty: true,
+ ListType: "list",
+ Items: &dcl.Property{
+ Type: "string",
+ GoType: "string",
+ },
+ },
"destIPRanges": &dcl.Property{
Type: "array",
GoName: "DestIPRanges",
@@ -169,6 +191,28 @@ func DCLFirewallPolicyRuleSchema() *dcl.Schema {
GoType: "string",
},
},
+ "destRegionCodes": &dcl.Property{
+ Type: "array",
+ GoName: "DestRegionCodes",
+ Description: "The Unicode country codes whose IP addresses will be used to match against the source of traffic. Can only be specified if DIRECTION is egress.",
+ SendEmpty: true,
+ ListType: "list",
+ Items: &dcl.Property{
+ Type: "string",
+ GoType: "string",
+ },
+ },
+ "destThreatIntelligences": &dcl.Property{
+ Type: "array",
+ GoName: "DestThreatIntelligences",
+ Description: "Name of the Google Cloud Threat Intelligence list.",
+ SendEmpty: true,
+ ListType: "list",
+ Items: &dcl.Property{
+ Type: "string",
+ GoType: "string",
+ },
+ },
"layer4Configs": &dcl.Property{
Type: "array",
GoName: "Layer4Configs",
@@ -201,6 +245,28 @@ func DCLFirewallPolicyRuleSchema() *dcl.Schema {
},
},
},
+ "srcAddressGroups": &dcl.Property{
+ Type: "array",
+ GoName: "SrcAddressGroups",
+ Description: "Address groups which should be matched against the traffic source. Maximum number of source address groups is 10. Source address groups is only supported in Ingress rules.",
+ SendEmpty: true,
+ ListType: "list",
+ Items: &dcl.Property{
+ Type: "string",
+ GoType: "string",
+ },
+ },
+ "srcFqdns": &dcl.Property{
+ Type: "array",
+ GoName: "SrcFqdns",
+ Description: "Domain names that will be used to match against the resolved domain name of source of traffic. Can only be specified if DIRECTION is ingress.",
+ SendEmpty: true,
+ ListType: "list",
+ Items: &dcl.Property{
+ Type: "string",
+ GoType: "string",
+ },
+ },
"srcIPRanges": &dcl.Property{
Type: "array",
GoName: "SrcIPRanges",
@@ -212,6 +278,28 @@ func DCLFirewallPolicyRuleSchema() *dcl.Schema {
GoType: "string",
},
},
+ "srcRegionCodes": &dcl.Property{
+ Type: "array",
+ GoName: "SrcRegionCodes",
+ Description: "The Unicode country codes whose IP addresses will be used to match against the source of traffic. Can only be specified if DIRECTION is ingress.",
+ SendEmpty: true,
+ ListType: "list",
+ Items: &dcl.Property{
+ Type: "string",
+ GoType: "string",
+ },
+ },
+ "srcThreatIntelligences": &dcl.Property{
+ Type: "array",
+ GoName: "SrcThreatIntelligences",
+ Description: "Name of the Google Cloud Threat Intelligence list.",
+ SendEmpty: true,
+ ListType: "list",
+ Items: &dcl.Property{
+ Type: "string",
+ GoType: "string",
+ },
+ },
},
},
"priority": &dcl.Property{
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/firewall_policy_rule_yaml_embed.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/firewall_policy_rule_yaml_embed.go
index 00cb985044..407cc586fe 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/firewall_policy_rule_yaml_embed.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/firewall_policy_rule_yaml_embed.go
@@ -17,7 +17,7 @@
package compute
// blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/compute/firewall_policy_rule.yaml
-var YAML_firewall_policy_rule = []byte("info:\n title: Compute/FirewallPolicyRule\n description: The Compute FirewallPolicyRule resource\n x-dcl-struct-name: FirewallPolicyRule\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a FirewallPolicyRule\n parameters:\n - name: firewallPolicyRule\n required: true\n description: A full instance of a FirewallPolicyRule\n apply:\n description: The function used to apply information about a FirewallPolicyRule\n parameters:\n - name: firewallPolicyRule\n required: true\n description: A full instance of a FirewallPolicyRule\n delete:\n description: The function used to delete a FirewallPolicyRule\n parameters:\n - name: firewallPolicyRule\n required: true\n description: A full instance of a FirewallPolicyRule\n deleteAll:\n description: The function used to delete all FirewallPolicyRule\n parameters:\n - name: firewallPolicy\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many FirewallPolicyRule\n parameters:\n - name: firewallPolicy\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n FirewallPolicyRule:\n title: FirewallPolicyRule\n x-dcl-id: locations/global/firewallPolicies/{{firewall_policy}}/rules/{{priority}}\n x-dcl-locations:\n - global\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - priority\n - match\n - action\n - direction\n - firewallPolicy\n properties:\n action:\n type: string\n x-dcl-go-name: Action\n description: The Action to perform when the client connection triggers the\n rule. Can currently be either \"allow\" or \"deny()\" where valid values for\n status are 403, 404, and 502.\n description:\n type: string\n x-dcl-go-name: Description\n description: An optional description for this resource.\n direction:\n type: string\n x-dcl-go-name: Direction\n x-dcl-go-type: FirewallPolicyRuleDirectionEnum\n description: 'The direction in which this rule applies. Possible values:\n INGRESS, EGRESS'\n enum:\n - INGRESS\n - EGRESS\n disabled:\n type: boolean\n x-dcl-go-name: Disabled\n description: Denotes whether the firewall policy rule is disabled. When\n set to true, the firewall policy rule is not enforced and traffic behaves\n as if it did not exist. If this is unspecified, the firewall policy rule\n will be enabled.\n enableLogging:\n type: boolean\n x-dcl-go-name: EnableLogging\n description: 'Denotes whether to enable logging for a particular rule. If\n logging is enabled, logs will be exported to the configured export destination\n in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you\n cannot enable logging on \"goto_next\" rules.'\n firewallPolicy:\n type: string\n x-dcl-go-name: FirewallPolicy\n description: The firewall policy of the resource.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/FirewallPolicy\n field: name\n parent: true\n kind:\n type: string\n x-dcl-go-name: Kind\n readOnly: true\n description: Type of the resource. Always `compute#firewallPolicyRule` for\n firewall policy rules\n x-kubernetes-immutable: true\n match:\n type: object\n x-dcl-go-name: Match\n x-dcl-go-type: FirewallPolicyRuleMatch\n description: A match condition that incoming traffic is evaluated against.\n If it evaluates to true, the corresponding 'action' is enforced.\n required:\n - layer4Configs\n properties:\n destIPRanges:\n type: array\n x-dcl-go-name: DestIPRanges\n description: CIDR IP address range. Maximum number of destination CIDR\n IP ranges allowed is 256.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n layer4Configs:\n type: array\n x-dcl-go-name: Layer4Configs\n description: Pairs of IP protocols and ports that the rule should match.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: FirewallPolicyRuleMatchLayer4Configs\n required:\n - ipProtocol\n properties:\n ipProtocol:\n type: string\n x-dcl-go-name: IPProtocol\n description: The IP protocol to which this rule applies. The protocol\n type is required when creating a firewall rule. This value can\n either be one of the following well known protocol strings (`tcp`,\n `udp`, `icmp`, `esp`, `ah`, `ipip`, `sctp`), or the IP protocol\n number.\n ports:\n type: array\n x-dcl-go-name: Ports\n description: 'An optional list of ports to which this rule applies.\n This field is only applicable for UDP or TCP protocol. Each\n entry must be either an integer or a range. If not specified,\n this rule applies to connections through any port. Example inputs\n include: ``.'\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n srcIPRanges:\n type: array\n x-dcl-go-name: SrcIPRanges\n description: CIDR IP address range. Maximum number of source CIDR IP\n ranges allowed is 256.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n priority:\n type: integer\n format: int64\n x-dcl-go-name: Priority\n description: An integer indicating the priority of a rule in the list. The\n priority must be a positive value between 0 and 2147483647. Rules are\n evaluated from highest to lowest priority where 0 is the highest priority\n and 2147483647 is the lowest prority.\n x-kubernetes-immutable: true\n ruleTupleCount:\n type: integer\n format: int64\n x-dcl-go-name: RuleTupleCount\n readOnly: true\n description: Calculation of the complexity of a single firewall policy rule.\n targetResources:\n type: array\n x-dcl-go-name: TargetResources\n description: A list of network resource URLs to which this rule applies.\n This field allows you to control which network's VMs get this rule. If\n this field is left blank, all VMs within the organization will receive\n the rule.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x-dcl-references:\n - resource: Compute/Network\n field: selfLink\n targetServiceAccounts:\n type: array\n x-dcl-go-name: TargetServiceAccounts\n description: A list of service accounts indicating the sets of instances\n that are applied with this rule.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x-dcl-references:\n - resource: Iam/ServiceAccount\n field: name\n")
+var YAML_firewall_policy_rule = []byte("info:\n title: Compute/FirewallPolicyRule\n description: The Compute FirewallPolicyRule resource\n x-dcl-struct-name: FirewallPolicyRule\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a FirewallPolicyRule\n parameters:\n - name: firewallPolicyRule\n required: true\n description: A full instance of a FirewallPolicyRule\n apply:\n description: The function used to apply information about a FirewallPolicyRule\n parameters:\n - name: firewallPolicyRule\n required: true\n description: A full instance of a FirewallPolicyRule\n delete:\n description: The function used to delete a FirewallPolicyRule\n parameters:\n - name: firewallPolicyRule\n required: true\n description: A full instance of a FirewallPolicyRule\n deleteAll:\n description: The function used to delete all FirewallPolicyRule\n parameters:\n - name: firewallPolicy\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many FirewallPolicyRule\n parameters:\n - name: firewallPolicy\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n FirewallPolicyRule:\n title: FirewallPolicyRule\n x-dcl-id: locations/global/firewallPolicies/{{firewall_policy}}/rules/{{priority}}\n x-dcl-locations:\n - global\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - priority\n - match\n - action\n - direction\n - firewallPolicy\n properties:\n action:\n type: string\n x-dcl-go-name: Action\n description: The Action to perform when the client connection triggers the\n rule. Valid actions are \"allow\", \"deny\" and \"goto_next\".\n description:\n type: string\n x-dcl-go-name: Description\n description: An optional description for this resource.\n direction:\n type: string\n x-dcl-go-name: Direction\n x-dcl-go-type: FirewallPolicyRuleDirectionEnum\n description: 'The direction in which this rule applies. Possible values:\n INGRESS, EGRESS'\n enum:\n - INGRESS\n - EGRESS\n disabled:\n type: boolean\n x-dcl-go-name: Disabled\n description: Denotes whether the firewall policy rule is disabled. When\n set to true, the firewall policy rule is not enforced and traffic behaves\n as if it did not exist. If this is unspecified, the firewall policy rule\n will be enabled.\n enableLogging:\n type: boolean\n x-dcl-go-name: EnableLogging\n description: 'Denotes whether to enable logging for a particular rule. If\n logging is enabled, logs will be exported to the configured export destination\n in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you\n cannot enable logging on \"goto_next\" rules.'\n firewallPolicy:\n type: string\n x-dcl-go-name: FirewallPolicy\n description: The firewall policy of the resource.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/FirewallPolicy\n field: name\n parent: true\n kind:\n type: string\n x-dcl-go-name: Kind\n readOnly: true\n description: Type of the resource. Always `compute#firewallPolicyRule` for\n firewall policy rules\n x-kubernetes-immutable: true\n match:\n type: object\n x-dcl-go-name: Match\n x-dcl-go-type: FirewallPolicyRuleMatch\n description: A match condition that incoming traffic is evaluated against.\n If it evaluates to true, the corresponding 'action' is enforced.\n required:\n - layer4Configs\n properties:\n destAddressGroups:\n type: array\n x-dcl-go-name: DestAddressGroups\n description: Address groups which should be matched against the traffic\n destination. Maximum number of destination address groups is 10. Destination\n address groups is only supported in Egress rules.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n destFqdns:\n type: array\n x-dcl-go-name: DestFqdns\n description: Domain names that will be used to match against the resolved\n domain name of destination of traffic. Can only be specified if DIRECTION\n is egress.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n destIPRanges:\n type: array\n x-dcl-go-name: DestIPRanges\n description: CIDR IP address range. Maximum number of destination CIDR\n IP ranges allowed is 256.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n destRegionCodes:\n type: array\n x-dcl-go-name: DestRegionCodes\n description: The Unicode country codes whose IP addresses will be used\n to match against the source of traffic. Can only be specified if DIRECTION\n is egress.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n destThreatIntelligences:\n type: array\n x-dcl-go-name: DestThreatIntelligences\n description: Name of the Google Cloud Threat Intelligence list.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n layer4Configs:\n type: array\n x-dcl-go-name: Layer4Configs\n description: Pairs of IP protocols and ports that the rule should match.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: FirewallPolicyRuleMatchLayer4Configs\n required:\n - ipProtocol\n properties:\n ipProtocol:\n type: string\n x-dcl-go-name: IPProtocol\n description: The IP protocol to which this rule applies. The protocol\n type is required when creating a firewall rule. This value can\n either be one of the following well known protocol strings (`tcp`,\n `udp`, `icmp`, `esp`, `ah`, `ipip`, `sctp`), or the IP protocol\n number.\n ports:\n type: array\n x-dcl-go-name: Ports\n description: 'An optional list of ports to which this rule applies.\n This field is only applicable for UDP or TCP protocol. Each\n entry must be either an integer or a range. If not specified,\n this rule applies to connections through any port. Example inputs\n include: ``.'\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n srcAddressGroups:\n type: array\n x-dcl-go-name: SrcAddressGroups\n description: Address groups which should be matched against the traffic\n source. Maximum number of source address groups is 10. Source address\n groups is only supported in Ingress rules.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n srcFqdns:\n type: array\n x-dcl-go-name: SrcFqdns\n description: Domain names that will be used to match against the resolved\n domain name of source of traffic. Can only be specified if DIRECTION\n is ingress.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n srcIPRanges:\n type: array\n x-dcl-go-name: SrcIPRanges\n description: CIDR IP address range. Maximum number of source CIDR IP\n ranges allowed is 256.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n srcRegionCodes:\n type: array\n x-dcl-go-name: SrcRegionCodes\n description: The Unicode country codes whose IP addresses will be used\n to match against the source of traffic. Can only be specified if DIRECTION\n is ingress.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n srcThreatIntelligences:\n type: array\n x-dcl-go-name: SrcThreatIntelligences\n description: Name of the Google Cloud Threat Intelligence list.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n priority:\n type: integer\n format: int64\n x-dcl-go-name: Priority\n description: An integer indicating the priority of a rule in the list. The\n priority must be a positive value between 0 and 2147483647. Rules are\n evaluated from highest to lowest priority where 0 is the highest priority\n and 2147483647 is the lowest prority.\n x-kubernetes-immutable: true\n ruleTupleCount:\n type: integer\n format: int64\n x-dcl-go-name: RuleTupleCount\n readOnly: true\n description: Calculation of the complexity of a single firewall policy rule.\n targetResources:\n type: array\n x-dcl-go-name: TargetResources\n description: A list of network resource URLs to which this rule applies.\n This field allows you to control which network's VMs get this rule. If\n this field is left blank, all VMs within the organization will receive\n the rule.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x-dcl-references:\n - resource: Compute/Network\n field: selfLink\n targetServiceAccounts:\n type: array\n x-dcl-go-name: TargetServiceAccounts\n description: A list of service accounts indicating the sets of instances\n that are applied with this rule.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x-dcl-references:\n - resource: Iam/ServiceAccount\n field: name\n")
-// 8165 bytes
-// MD5: 3004bd6501bb2a871c874f4628108176
+// 11648 bytes
+// MD5: a8b05c7caab7e7abbe018e4057c6a4bf
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/forwarding_rule.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/forwarding_rule.go
index b7bd480f80..881842e042 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/forwarding_rule.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/forwarding_rule.go
@@ -54,6 +54,8 @@ type ForwardingRule struct {
ServiceDirectoryRegistrations []ForwardingRuleServiceDirectoryRegistrations `json:"serviceDirectoryRegistrations"`
PscConnectionId *string `json:"pscConnectionId"`
PscConnectionStatus *ForwardingRulePscConnectionStatusEnum `json:"pscConnectionStatus"`
+ SourceIPRanges []string `json:"sourceIPRanges"`
+ BaseForwardingRule *string `json:"baseForwardingRule"`
}
func (r *ForwardingRule) String() string {
@@ -414,6 +416,8 @@ func (r *ForwardingRule) ID() (string, error) {
"service_directory_registrations": dcl.ValueOrEmptyString(nr.ServiceDirectoryRegistrations),
"psc_connection_id": dcl.ValueOrEmptyString(nr.PscConnectionId),
"psc_connection_status": dcl.ValueOrEmptyString(nr.PscConnectionStatus),
+ "source_ip_ranges": dcl.ValueOrEmptyString(nr.SourceIPRanges),
+ "base_forwarding_rule": dcl.ValueOrEmptyString(nr.BaseForwardingRule),
}
if dcl.IsRegion(nr.Location) {
return dcl.Nprintf("projects/{{project}}/regions/{{location}}/forwardingRules/{{name}}", params), nil
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/forwarding_rule.yaml b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/forwarding_rule.yaml
index 2ad73cd9d4..45d26c1947 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/forwarding_rule.yaml
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/forwarding_rule.yaml
@@ -102,6 +102,16 @@ components:
internal load balancing, this field identifies the BackendService resource
to receive the matched traffic.
x-kubernetes-immutable: true
+ baseForwardingRule:
+ type: string
+ x-dcl-go-name: BaseForwardingRule
+ readOnly: true
+ description: '[Output Only] The URL for the corresponding base Forwarding
+ Rule. By base Forwarding Rule, we mean the Forwarding Rule that has the
+ same IP address, protocol, and port settings with the current Forwarding
+ Rule, but without sourceIPRanges specified. Always empty if the current
+ Forwarding Rule does not have sourceIPRanges specified.'
+ x-kubernetes-immutable: true
creationTimestamp:
type: string
x-dcl-go-name: CreationTimestamp
@@ -446,6 +456,21 @@ components:
description: '[Output Only] The internal fully qualified service name for
this Forwarding Rule. This field is only used for internal load balancing.'
x-kubernetes-immutable: true
+ sourceIPRanges:
+ type: array
+ x-dcl-go-name: SourceIPRanges
+ description: If not empty, this Forwarding Rule will only forward the traffic
+ when the source IP address matches one of the IP addresses or CIDR ranges
+ set here. Note that a Forwarding Rule can only have up to 64 source IP
+ ranges, and this field can only be used with a regional Forwarding Rule
+ whose scheme is EXTERNAL. Each sourceIpRange entry should be either an
+ IP address (for example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).
+ x-kubernetes-immutable: true
+ x-dcl-send-empty: true
+ x-dcl-list-type: list
+ items:
+ type: string
+ x-dcl-go-type: string
subnetwork:
type: string
x-dcl-go-name: Subnetwork
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/forwarding_rule_internal.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/forwarding_rule_internal.go
index 1a56539577..786abe8fd1 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/forwarding_rule_internal.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/forwarding_rule_internal.go
@@ -731,6 +731,11 @@ func canonicalizeForwardingRuleDesiredState(rawDesired, rawInitial *ForwardingRu
canonicalDesired.Location = rawDesired.Location
}
canonicalDesired.ServiceDirectoryRegistrations = canonicalizeForwardingRuleServiceDirectoryRegistrationsSlice(rawDesired.ServiceDirectoryRegistrations, rawInitial.ServiceDirectoryRegistrations, opts...)
+ if dcl.StringArrayCanonicalize(rawDesired.SourceIPRanges, rawInitial.SourceIPRanges) {
+ canonicalDesired.SourceIPRanges = rawInitial.SourceIPRanges
+ } else {
+ canonicalDesired.SourceIPRanges = rawDesired.SourceIPRanges
+ }
return canonicalDesired, nil
}
@@ -934,6 +939,22 @@ func canonicalizeForwardingRuleNewState(c *Client, rawNew, rawDesired *Forwardin
} else {
}
+ if dcl.IsEmptyValueIndirect(rawNew.SourceIPRanges) && dcl.IsEmptyValueIndirect(rawDesired.SourceIPRanges) {
+ rawNew.SourceIPRanges = rawDesired.SourceIPRanges
+ } else {
+ if dcl.StringArrayCanonicalize(rawDesired.SourceIPRanges, rawNew.SourceIPRanges) {
+ rawNew.SourceIPRanges = rawDesired.SourceIPRanges
+ }
+ }
+
+ if dcl.IsEmptyValueIndirect(rawNew.BaseForwardingRule) && dcl.IsEmptyValueIndirect(rawDesired.BaseForwardingRule) {
+ rawNew.BaseForwardingRule = rawDesired.BaseForwardingRule
+ } else {
+ if dcl.StringCanonicalize(rawDesired.BaseForwardingRule, rawNew.BaseForwardingRule) {
+ rawNew.BaseForwardingRule = rawDesired.BaseForwardingRule
+ }
+ }
+
return rawNew, nil
}
@@ -1528,6 +1549,20 @@ func diffForwardingRule(c *Client, desired, actual *ForwardingRule, opts ...dcl.
newDiffs = append(newDiffs, ds...)
}
+ if ds, err := dcl.Diff(desired.SourceIPRanges, actual.SourceIPRanges, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("SourceIpRanges")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.BaseForwardingRule, actual.BaseForwardingRule, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("BaseForwardingRule")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
if len(newDiffs) > 0 {
c.Config.Logger.Infof("Diff function found diffs: %v", newDiffs)
}
@@ -1663,6 +1698,7 @@ func (r *ForwardingRule) urlNormalized() *ForwardingRule {
normalized.Project = dcl.SelfLinkToName(r.Project)
normalized.Location = dcl.SelfLinkToName(r.Location)
normalized.PscConnectionId = dcl.SelfLinkToName(r.PscConnectionId)
+ normalized.BaseForwardingRule = dcl.SelfLinkToName(r.BaseForwardingRule)
return &normalized
}
@@ -1831,6 +1867,9 @@ func expandForwardingRule(c *Client, f *ForwardingRule) (map[string]interface{},
} else if v != nil {
m["serviceDirectoryRegistrations"] = v
}
+ if v := f.SourceIPRanges; v != nil {
+ m["sourceIpRanges"] = v
+ }
return m, nil
}
@@ -1876,6 +1915,8 @@ func flattenForwardingRule(c *Client, i interface{}, res *ForwardingRule) *Forwa
resultRes.ServiceDirectoryRegistrations = flattenForwardingRuleServiceDirectoryRegistrationsSlice(c, m["serviceDirectoryRegistrations"], res)
resultRes.PscConnectionId = dcl.FlattenString(m["pscConnectionId"])
resultRes.PscConnectionStatus = flattenForwardingRulePscConnectionStatusEnum(m["pscConnectionStatus"])
+ resultRes.SourceIPRanges = dcl.FlattenStringSlice(m["sourceIpRanges"])
+ resultRes.BaseForwardingRule = dcl.FlattenString(m["baseForwardingRule"])
return resultRes
}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/forwarding_rule_schema.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/forwarding_rule_schema.go
index cc82fff2aa..92a563ae1c 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/forwarding_rule_schema.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/forwarding_rule_schema.go
@@ -130,6 +130,13 @@ func DCLForwardingRuleSchema() *dcl.Schema {
Description: "This field is only used for `INTERNAL` load balancing. For internal load balancing, this field identifies the BackendService resource to receive the matched traffic.",
Immutable: true,
},
+ "baseForwardingRule": &dcl.Property{
+ Type: "string",
+ GoName: "BaseForwardingRule",
+ ReadOnly: true,
+ Description: "[Output Only] The URL for the corresponding base Forwarding Rule. By base Forwarding Rule, we mean the Forwarding Rule that has the same IP address, protocol, and port settings with the current Forwarding Rule, but without sourceIPRanges specified. Always empty if the current Forwarding Rule does not have sourceIPRanges specified.",
+ Immutable: true,
+ },
"creationTimestamp": &dcl.Property{
Type: "string",
GoName: "CreationTimestamp",
@@ -414,6 +421,18 @@ func DCLForwardingRuleSchema() *dcl.Schema {
Description: "[Output Only] The internal fully qualified service name for this Forwarding Rule. This field is only used for internal load balancing.",
Immutable: true,
},
+ "sourceIPRanges": &dcl.Property{
+ Type: "array",
+ GoName: "SourceIPRanges",
+ Description: "If not empty, this Forwarding Rule will only forward the traffic when the source IP address matches one of the IP addresses or CIDR ranges set here. Note that a Forwarding Rule can only have up to 64 source IP ranges, and this field can only be used with a regional Forwarding Rule whose scheme is EXTERNAL. Each sourceIpRange entry should be either an IP address (for example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).",
+ Immutable: true,
+ SendEmpty: true,
+ ListType: "list",
+ Items: &dcl.Property{
+ Type: "string",
+ GoType: "string",
+ },
+ },
"subnetwork": &dcl.Property{
Type: "string",
GoName: "Subnetwork",
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/forwarding_rule_yaml_embed.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/forwarding_rule_yaml_embed.go
index 20622b70d0..431c9ff378 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/forwarding_rule_yaml_embed.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/forwarding_rule_yaml_embed.go
@@ -17,7 +17,7 @@
package compute
// blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/compute/forwarding_rule.yaml
-var YAML_forwarding_rule = []byte("info:\n title: Compute/ForwardingRule\n description: The Compute ForwardingRule resource\n x-dcl-struct-name: ForwardingRule\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a ForwardingRule\n parameters:\n - name: forwardingRule\n required: true\n description: A full instance of a ForwardingRule\n apply:\n description: The function used to apply information about a ForwardingRule\n parameters:\n - name: forwardingRule\n required: true\n description: A full instance of a ForwardingRule\n delete:\n description: The function used to delete a ForwardingRule\n parameters:\n - name: forwardingRule\n required: true\n description: A full instance of a ForwardingRule\n deleteAll:\n description: The function used to delete all ForwardingRule\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many ForwardingRule\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n ForwardingRule:\n title: ForwardingRule\n x-dcl-id: projects/{{project}}/global/forwardingRules/{{name}}\n x-dcl-locations:\n - region\n - global\n x-dcl-parent-container: project\n x-dcl-labels: labels\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - project\n properties:\n allPorts:\n type: boolean\n x-dcl-go-name: AllPorts\n description: This field is used along with the `backend_service` field for\n internal load balancing or with the `target` field for internal TargetInstance.\n This field cannot be used with `port` or `portRange` fields. When the\n load balancing scheme is `INTERNAL` and protocol is TCP/UDP, specify this\n field to allow packets addressed to any ports will be forwarded to the\n backends configured with this forwarding rule.\n x-kubernetes-immutable: true\n allowGlobalAccess:\n type: boolean\n x-dcl-go-name: AllowGlobalAccess\n description: This field is used along with the `backend_service` field for\n internal load balancing or with the `target` field for internal TargetInstance.\n If the field is set to `TRUE`, clients can access ILB from all regions.\n Otherwise only allows access from clients in the same region as the internal\n load balancer.\n backendService:\n type: string\n x-dcl-go-name: BackendService\n description: This field is only used for `INTERNAL` load balancing. For\n internal load balancing, this field identifies the BackendService resource\n to receive the matched traffic.\n x-kubernetes-immutable: true\n creationTimestamp:\n type: string\n x-dcl-go-name: CreationTimestamp\n readOnly: true\n description: '[Output Only] Creation timestamp in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)\n text format.'\n x-kubernetes-immutable: true\n description:\n type: string\n x-dcl-go-name: Description\n description: An optional description of this resource. Provide this property\n when you create the resource.\n x-kubernetes-immutable: true\n ipAddress:\n type: string\n x-dcl-go-name: IPAddress\n description: 'IP address that this forwarding rule serves. When a client\n sends traffic to this IP address, the forwarding rule directs the traffic\n to the target that you specify in the forwarding rule. If you don''t specify\n a reserved IP address, an ephemeral IP address is assigned. Methods for\n specifying an IP address: * IPv4 dotted decimal, as in `100.1.2.3` * Full\n URL, as in `https://www.googleapis.com/compute/v1/projects/project_id/regions/region/addresses/address-name`\n * Partial URL or by name, as in: * `projects/project_id/regions/region/addresses/address-name`\n * `regions/region/addresses/address-name` * `global/addresses/address-name`\n * `address-name` The loadBalancingScheme and the forwarding rule''s target\n determine the type of IP address that you can use. For detailed information,\n refer to [IP address specifications](/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).'\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n ipProtocol:\n type: string\n x-dcl-go-name: IPProtocol\n x-dcl-go-type: ForwardingRuleIPProtocolEnum\n description: The IP protocol to which this rule applies. For protocol forwarding,\n valid options are `TCP`, `UDP`, `ESP`, `AH`, `SCTP` or `ICMP`. For Internal\n TCP/UDP Load Balancing, the load balancing scheme is `INTERNAL`, and one\n of `TCP` or `UDP` are valid. For Traffic Director, the load balancing\n scheme is `INTERNAL_SELF_MANAGED`, and only `TCP`is valid. For Internal\n HTTP(S) Load Balancing, the load balancing scheme is `INTERNAL_MANAGED`,\n and only `TCP` is valid. For HTTP(S), SSL Proxy, and TCP Proxy Load Balancing,\n the load balancing scheme is `EXTERNAL` and only `TCP` is valid. For Network\n TCP/UDP Load Balancing, the load balancing scheme is `EXTERNAL`, and one\n of `TCP` or `UDP` is valid.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n enum:\n - TCP\n - UDP\n - ESP\n - AH\n - SCTP\n - ICMP\n - L3_DEFAULT\n ipVersion:\n type: string\n x-dcl-go-name: IPVersion\n x-dcl-go-type: ForwardingRuleIPVersionEnum\n description: 'The IP Version that will be used by this forwarding rule.\n Valid options are `IPV4` or `IPV6`. This can only be specified for an\n external global forwarding rule. Possible values: UNSPECIFIED_VERSION,\n IPV4, IPV6'\n x-kubernetes-immutable: true\n enum:\n - UNSPECIFIED_VERSION\n - IPV4\n - IPV6\n isMirroringCollector:\n type: boolean\n x-dcl-go-name: IsMirroringCollector\n description: Indicates whether or not this load balancer can be used as\n a collector for packet mirroring. To prevent mirroring loops, instances\n behind this load balancer will not have their traffic mirrored even if\n a `PacketMirroring` rule applies to them. This can only be set to true\n for load balancers that have their `loadBalancingScheme` set to `INTERNAL`.\n x-kubernetes-immutable: true\n labelFingerprint:\n type: string\n x-dcl-go-name: LabelFingerprint\n readOnly: true\n description: Used internally during label updates.\n x-kubernetes-immutable: true\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: Labels to apply to this rule.\n loadBalancingScheme:\n type: string\n x-dcl-go-name: LoadBalancingScheme\n x-dcl-go-type: ForwardingRuleLoadBalancingSchemeEnum\n description: \"Specifies the forwarding rule type.\\n\\n* `EXTERNAL` is used\n for:\\n * Classic Cloud VPN gateways\\n * Protocol forwarding\n to VMs from an external IP address\\n * The following load balancers:\n HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/UDP\\n* `INTERNAL` is\n used for:\\n * Protocol forwarding to VMs from an internal IP address\\n\n \\ * Internal TCP/UDP load balancers\\n* `INTERNAL_MANAGED` is used\n for:\\n * Internal HTTP(S) load balancers\\n* `INTERNAL_SELF_MANAGED`\n is used for:\\n * Traffic Director\\n* `EXTERNAL_MANAGED` is used\n for:\\n * Global external HTTP(S) load balancers \\n\\nFor more information\n about forwarding rules, refer to [Forwarding rule concepts](/load-balancing/docs/forwarding-rule-concepts).\n Possible values: INVALID, INTERNAL, INTERNAL_MANAGED, INTERNAL_SELF_MANAGED,\n EXTERNAL, EXTERNAL_MANAGED\"\n x-kubernetes-immutable: true\n enum:\n - INVALID\n - INTERNAL\n - INTERNAL_MANAGED\n - INTERNAL_SELF_MANAGED\n - EXTERNAL\n - EXTERNAL_MANAGED\n location:\n type: string\n x-dcl-go-name: Location\n description: The location of this resource.\n x-kubernetes-immutable: true\n metadataFilter:\n type: array\n x-dcl-go-name: MetadataFilter\n description: |-\n Opaque filter criteria used by Loadbalancer to restrict routing configuration to a limited set of [xDS](https://github.com/envoyproxy/data-plane-api/blob/master/XDS_PROTOCOL.md) compliant clients. In their xDS requests to Loadbalancer, xDS clients present [node metadata](https://github.com/envoyproxy/data-plane-api/search?q=%22message+Node%22+in%3A%2Fenvoy%2Fapi%2Fv2%2Fcore%2Fbase.proto&). If a match takes place, the relevant configuration is made available to those proxies. Otherwise, all the resources (e.g. `TargetHttpProxy`, `UrlMap`) referenced by the `ForwardingRule` will not be visible to those proxies.\n\n For each `metadataFilter` in this list, if its `filterMatchCriteria` is set to MATCH_ANY, at least one of the `filterLabel`s must match the corresponding label provided in the metadata. If its `filterMatchCriteria` is set to MATCH_ALL, then all of its `filterLabel`s must match with corresponding labels provided in the metadata.\n\n `metadataFilters` specified here will be applifed before those specified in the `UrlMap` that this `ForwardingRule` references.\n\n `metadataFilters` only applies to Loadbalancers that have their loadBalancingScheme set to `INTERNAL_SELF_MANAGED`.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: ForwardingRuleMetadataFilter\n required:\n - filterMatchCriteria\n - filterLabel\n properties:\n filterLabel:\n type: array\n x-dcl-go-name: FilterLabel\n description: |-\n The list of label value pairs that must match labels in the provided metadata based on `filterMatchCriteria`\n\n This list must not be empty and can have at the most 64 entries.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: ForwardingRuleMetadataFilterFilterLabel\n required:\n - name\n - value\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: |-\n Name of metadata label.\n\n The name can have a maximum length of 1024 characters and must be at least 1 character long.\n x-kubernetes-immutable: true\n value:\n type: string\n x-dcl-go-name: Value\n description: |-\n The value of the label must match the specified value.\n\n value can have a maximum length of 1024 characters.\n x-kubernetes-immutable: true\n filterMatchCriteria:\n type: string\n x-dcl-go-name: FilterMatchCriteria\n x-dcl-go-type: ForwardingRuleMetadataFilterFilterMatchCriteriaEnum\n description: |-\n Specifies how individual `filterLabel` matches within the list of `filterLabel`s contribute towards the overall `metadataFilter` match.\n\n Supported values are:\n\n * MATCH_ANY: At least one of the `filterLabels` must have a matching label in the provided metadata.\n * MATCH_ALL: All `filterLabels` must have matching labels in the provided metadata. Possible values: NOT_SET, MATCH_ALL, MATCH_ANY\n x-kubernetes-immutable: true\n enum:\n - NOT_SET\n - MATCH_ALL\n - MATCH_ANY\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the resource; provided by the client when the resource\n is created. The name must be 1-63 characters long, and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt).\n Specifically, the name must be 1-63 characters long and match the regular\n expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character\n must be a lowercase letter, and all following characters must be a dash,\n lowercase letter, or digit, except the last character, which cannot be\n a dash.\n x-kubernetes-immutable: true\n network:\n type: string\n x-dcl-go-name: Network\n description: This field is not used for external load balancing. For `INTERNAL`\n and `INTERNAL_SELF_MANAGED` load balancing, this field identifies the\n network that the load balanced IP should belong to for this Forwarding\n Rule. If this field is not specified, the default network will be used.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n networkTier:\n type: string\n x-dcl-go-name: NetworkTier\n x-dcl-go-type: ForwardingRuleNetworkTierEnum\n description: 'This signifies the networking tier used for configuring this\n load balancer and can only take the following values: `PREMIUM`, `STANDARD`.\n For regional ForwardingRule, the valid values are `PREMIUM` and `STANDARD`.\n For GlobalForwardingRule, the valid value is `PREMIUM`. If this field\n is not specified, it is assumed to be `PREMIUM`. If `IPAddress` is specified,\n this value must be equal to the networkTier of the Address.'\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n enum:\n - PREMIUM\n - STANDARD\n portRange:\n type: string\n x-dcl-go-name: PortRange\n description: |-\n When the load balancing scheme is `EXTERNAL`, `INTERNAL_SELF_MANAGED` and `INTERNAL_MANAGED`, you can specify a `port_range`. Use with a forwarding rule that points to a target proxy or a target pool. Do not use with a forwarding rule that points to a backend service. This field is used along with the `target` field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance. Applicable only when `IPProtocol` is `TCP`, `UDP`, or `SCTP`, only packets addressed to ports in the specified range will be forwarded to `target`. Forwarding rules with the same `[IPAddress, IPProtocol]` pair must have disjoint port ranges. Some types of forwarding target have constraints on the acceptable ports:\n\n * TargetHttpProxy: 80, 8080\n * TargetHttpsProxy: 443\n * TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222\n * TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222\n * TargetVpnGateway: 500, 4500\n\n @pattern: d+(?:-d+)?\n x-kubernetes-immutable: true\n ports:\n type: array\n x-dcl-go-name: Ports\n description: 'This field is used along with the `backend_service` field\n for internal load balancing. When the load balancing scheme is `INTERNAL`,\n a list of ports can be configured, for example, [''80''], [''8000'',''9000''].\n Only packets addressed to these ports are forwarded to the backends configured\n with the forwarding rule. If the forwarding rule''s loadBalancingScheme\n is INTERNAL, you can specify ports in one of the following ways: * A list\n of up to five ports, which can be non-contiguous * Keyword `ALL`, which\n causes the forwarding rule to forward traffic on any port of the forwarding\n rule''s protocol. @pattern: d+(?:-d+)? For more information, refer to\n [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: set\n items:\n type: string\n x-dcl-go-type: string\n project:\n type: string\n x-dcl-go-name: Project\n description: The project this resource belongs in.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n pscConnectionId:\n type: string\n x-dcl-go-name: PscConnectionId\n readOnly: true\n description: The PSC connection id of the PSC Forwarding Rule.\n x-kubernetes-immutable: true\n pscConnectionStatus:\n type: string\n x-dcl-go-name: PscConnectionStatus\n x-dcl-go-type: ForwardingRulePscConnectionStatusEnum\n readOnly: true\n description: 'The PSC connection status of the PSC Forwarding Rule. Possible\n values: STATUS_UNSPECIFIED, PENDING, ACCEPTED, REJECTED, CLOSED'\n x-kubernetes-immutable: true\n enum:\n - STATUS_UNSPECIFIED\n - PENDING\n - ACCEPTED\n - REJECTED\n - CLOSED\n region:\n type: string\n x-dcl-go-name: Region\n readOnly: true\n description: '[Output Only] URL of the region where the regional forwarding\n rule resides. This field is not applicable to global forwarding rules.\n You must specify this field as part of the HTTP request URL. It is not\n settable as a field in the request body.'\n x-kubernetes-immutable: true\n selfLink:\n type: string\n x-dcl-go-name: SelfLink\n readOnly: true\n description: '[Output Only] Server-defined URL for the resource.'\n x-kubernetes-immutable: true\n serviceDirectoryRegistrations:\n type: array\n x-dcl-go-name: ServiceDirectoryRegistrations\n description: Service Directory resources to register this forwarding rule\n with. Currently, only supports a single Service Directory resource.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: ForwardingRuleServiceDirectoryRegistrations\n properties:\n namespace:\n type: string\n x-dcl-go-name: Namespace\n description: Service Directory namespace to register the forwarding\n rule under.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n service:\n type: string\n x-dcl-go-name: Service\n description: Service Directory service to register the forwarding\n rule under.\n x-kubernetes-immutable: true\n serviceLabel:\n type: string\n x-dcl-go-name: ServiceLabel\n description: An optional prefix to the service name for this Forwarding\n Rule. If specified, the prefix is the first label of the fully qualified\n service name. The label must be 1-63 characters long, and comply with\n [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Specifically, the label\n must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`\n which means the first character must be a lowercase letter, and all following\n characters must be a dash, lowercase letter, or digit, except the last\n character, which cannot be a dash. This field is only used for internal\n load balancing.\n x-kubernetes-immutable: true\n serviceName:\n type: string\n x-dcl-go-name: ServiceName\n readOnly: true\n description: '[Output Only] The internal fully qualified service name for\n this Forwarding Rule. This field is only used for internal load balancing.'\n x-kubernetes-immutable: true\n subnetwork:\n type: string\n x-dcl-go-name: Subnetwork\n description: This field is only used for `INTERNAL` load balancing. For\n internal load balancing, this field identifies the subnetwork that the\n load balanced IP should belong to for this Forwarding Rule. If the network\n specified is in auto subnet mode, this field is optional. However, if\n the network is in custom subnet mode, a subnetwork must be specified.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n target:\n type: string\n x-dcl-go-name: Target\n description: The URL of the target resource to receive the matched traffic.\n For regional forwarding rules, this target must live in the same region\n as the forwarding rule. For global forwarding rules, this target must\n be a global load balancing resource. The forwarded traffic must be of\n a type appropriate to the target object. For `INTERNAL_SELF_MANAGED` load\n balancing, only `targetHttpProxy` is valid, not `targetHttpsProxy`.\n")
+var YAML_forwarding_rule = []byte("info:\n title: Compute/ForwardingRule\n description: The Compute ForwardingRule resource\n x-dcl-struct-name: ForwardingRule\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a ForwardingRule\n parameters:\n - name: forwardingRule\n required: true\n description: A full instance of a ForwardingRule\n apply:\n description: The function used to apply information about a ForwardingRule\n parameters:\n - name: forwardingRule\n required: true\n description: A full instance of a ForwardingRule\n delete:\n description: The function used to delete a ForwardingRule\n parameters:\n - name: forwardingRule\n required: true\n description: A full instance of a ForwardingRule\n deleteAll:\n description: The function used to delete all ForwardingRule\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many ForwardingRule\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n ForwardingRule:\n title: ForwardingRule\n x-dcl-id: projects/{{project}}/global/forwardingRules/{{name}}\n x-dcl-locations:\n - region\n - global\n x-dcl-parent-container: project\n x-dcl-labels: labels\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - project\n properties:\n allPorts:\n type: boolean\n x-dcl-go-name: AllPorts\n description: This field is used along with the `backend_service` field for\n internal load balancing or with the `target` field for internal TargetInstance.\n This field cannot be used with `port` or `portRange` fields. When the\n load balancing scheme is `INTERNAL` and protocol is TCP/UDP, specify this\n field to allow packets addressed to any ports will be forwarded to the\n backends configured with this forwarding rule.\n x-kubernetes-immutable: true\n allowGlobalAccess:\n type: boolean\n x-dcl-go-name: AllowGlobalAccess\n description: This field is used along with the `backend_service` field for\n internal load balancing or with the `target` field for internal TargetInstance.\n If the field is set to `TRUE`, clients can access ILB from all regions.\n Otherwise only allows access from clients in the same region as the internal\n load balancer.\n backendService:\n type: string\n x-dcl-go-name: BackendService\n description: This field is only used for `INTERNAL` load balancing. For\n internal load balancing, this field identifies the BackendService resource\n to receive the matched traffic.\n x-kubernetes-immutable: true\n baseForwardingRule:\n type: string\n x-dcl-go-name: BaseForwardingRule\n readOnly: true\n description: '[Output Only] The URL for the corresponding base Forwarding\n Rule. By base Forwarding Rule, we mean the Forwarding Rule that has the\n same IP address, protocol, and port settings with the current Forwarding\n Rule, but without sourceIPRanges specified. Always empty if the current\n Forwarding Rule does not have sourceIPRanges specified.'\n x-kubernetes-immutable: true\n creationTimestamp:\n type: string\n x-dcl-go-name: CreationTimestamp\n readOnly: true\n description: '[Output Only] Creation timestamp in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)\n text format.'\n x-kubernetes-immutable: true\n description:\n type: string\n x-dcl-go-name: Description\n description: An optional description of this resource. Provide this property\n when you create the resource.\n x-kubernetes-immutable: true\n ipAddress:\n type: string\n x-dcl-go-name: IPAddress\n description: 'IP address that this forwarding rule serves. When a client\n sends traffic to this IP address, the forwarding rule directs the traffic\n to the target that you specify in the forwarding rule. If you don''t specify\n a reserved IP address, an ephemeral IP address is assigned. Methods for\n specifying an IP address: * IPv4 dotted decimal, as in `100.1.2.3` * Full\n URL, as in `https://www.googleapis.com/compute/v1/projects/project_id/regions/region/addresses/address-name`\n * Partial URL or by name, as in: * `projects/project_id/regions/region/addresses/address-name`\n * `regions/region/addresses/address-name` * `global/addresses/address-name`\n * `address-name` The loadBalancingScheme and the forwarding rule''s target\n determine the type of IP address that you can use. For detailed information,\n refer to [IP address specifications](/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).'\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n ipProtocol:\n type: string\n x-dcl-go-name: IPProtocol\n x-dcl-go-type: ForwardingRuleIPProtocolEnum\n description: The IP protocol to which this rule applies. For protocol forwarding,\n valid options are `TCP`, `UDP`, `ESP`, `AH`, `SCTP` or `ICMP`. For Internal\n TCP/UDP Load Balancing, the load balancing scheme is `INTERNAL`, and one\n of `TCP` or `UDP` are valid. For Traffic Director, the load balancing\n scheme is `INTERNAL_SELF_MANAGED`, and only `TCP`is valid. For Internal\n HTTP(S) Load Balancing, the load balancing scheme is `INTERNAL_MANAGED`,\n and only `TCP` is valid. For HTTP(S), SSL Proxy, and TCP Proxy Load Balancing,\n the load balancing scheme is `EXTERNAL` and only `TCP` is valid. For Network\n TCP/UDP Load Balancing, the load balancing scheme is `EXTERNAL`, and one\n of `TCP` or `UDP` is valid.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n enum:\n - TCP\n - UDP\n - ESP\n - AH\n - SCTP\n - ICMP\n - L3_DEFAULT\n ipVersion:\n type: string\n x-dcl-go-name: IPVersion\n x-dcl-go-type: ForwardingRuleIPVersionEnum\n description: 'The IP Version that will be used by this forwarding rule.\n Valid options are `IPV4` or `IPV6`. This can only be specified for an\n external global forwarding rule. Possible values: UNSPECIFIED_VERSION,\n IPV4, IPV6'\n x-kubernetes-immutable: true\n enum:\n - UNSPECIFIED_VERSION\n - IPV4\n - IPV6\n isMirroringCollector:\n type: boolean\n x-dcl-go-name: IsMirroringCollector\n description: Indicates whether or not this load balancer can be used as\n a collector for packet mirroring. To prevent mirroring loops, instances\n behind this load balancer will not have their traffic mirrored even if\n a `PacketMirroring` rule applies to them. This can only be set to true\n for load balancers that have their `loadBalancingScheme` set to `INTERNAL`.\n x-kubernetes-immutable: true\n labelFingerprint:\n type: string\n x-dcl-go-name: LabelFingerprint\n readOnly: true\n description: Used internally during label updates.\n x-kubernetes-immutable: true\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: Labels to apply to this rule.\n loadBalancingScheme:\n type: string\n x-dcl-go-name: LoadBalancingScheme\n x-dcl-go-type: ForwardingRuleLoadBalancingSchemeEnum\n description: \"Specifies the forwarding rule type.\\n\\n* `EXTERNAL` is used\n for:\\n * Classic Cloud VPN gateways\\n * Protocol forwarding\n to VMs from an external IP address\\n * The following load balancers:\n HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/UDP\\n* `INTERNAL` is\n used for:\\n * Protocol forwarding to VMs from an internal IP address\\n\n \\ * Internal TCP/UDP load balancers\\n* `INTERNAL_MANAGED` is used\n for:\\n * Internal HTTP(S) load balancers\\n* `INTERNAL_SELF_MANAGED`\n is used for:\\n * Traffic Director\\n* `EXTERNAL_MANAGED` is used\n for:\\n * Global external HTTP(S) load balancers \\n\\nFor more information\n about forwarding rules, refer to [Forwarding rule concepts](/load-balancing/docs/forwarding-rule-concepts).\n Possible values: INVALID, INTERNAL, INTERNAL_MANAGED, INTERNAL_SELF_MANAGED,\n EXTERNAL, EXTERNAL_MANAGED\"\n x-kubernetes-immutable: true\n enum:\n - INVALID\n - INTERNAL\n - INTERNAL_MANAGED\n - INTERNAL_SELF_MANAGED\n - EXTERNAL\n - EXTERNAL_MANAGED\n location:\n type: string\n x-dcl-go-name: Location\n description: The location of this resource.\n x-kubernetes-immutable: true\n metadataFilter:\n type: array\n x-dcl-go-name: MetadataFilter\n description: |-\n Opaque filter criteria used by Loadbalancer to restrict routing configuration to a limited set of [xDS](https://github.com/envoyproxy/data-plane-api/blob/master/XDS_PROTOCOL.md) compliant clients. In their xDS requests to Loadbalancer, xDS clients present [node metadata](https://github.com/envoyproxy/data-plane-api/search?q=%22message+Node%22+in%3A%2Fenvoy%2Fapi%2Fv2%2Fcore%2Fbase.proto&). If a match takes place, the relevant configuration is made available to those proxies. Otherwise, all the resources (e.g. `TargetHttpProxy`, `UrlMap`) referenced by the `ForwardingRule` will not be visible to those proxies.\n\n For each `metadataFilter` in this list, if its `filterMatchCriteria` is set to MATCH_ANY, at least one of the `filterLabel`s must match the corresponding label provided in the metadata. If its `filterMatchCriteria` is set to MATCH_ALL, then all of its `filterLabel`s must match with corresponding labels provided in the metadata.\n\n `metadataFilters` specified here will be applifed before those specified in the `UrlMap` that this `ForwardingRule` references.\n\n `metadataFilters` only applies to Loadbalancers that have their loadBalancingScheme set to `INTERNAL_SELF_MANAGED`.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: ForwardingRuleMetadataFilter\n required:\n - filterMatchCriteria\n - filterLabel\n properties:\n filterLabel:\n type: array\n x-dcl-go-name: FilterLabel\n description: |-\n The list of label value pairs that must match labels in the provided metadata based on `filterMatchCriteria`\n\n This list must not be empty and can have at the most 64 entries.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: ForwardingRuleMetadataFilterFilterLabel\n required:\n - name\n - value\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: |-\n Name of metadata label.\n\n The name can have a maximum length of 1024 characters and must be at least 1 character long.\n x-kubernetes-immutable: true\n value:\n type: string\n x-dcl-go-name: Value\n description: |-\n The value of the label must match the specified value.\n\n value can have a maximum length of 1024 characters.\n x-kubernetes-immutable: true\n filterMatchCriteria:\n type: string\n x-dcl-go-name: FilterMatchCriteria\n x-dcl-go-type: ForwardingRuleMetadataFilterFilterMatchCriteriaEnum\n description: |-\n Specifies how individual `filterLabel` matches within the list of `filterLabel`s contribute towards the overall `metadataFilter` match.\n\n Supported values are:\n\n * MATCH_ANY: At least one of the `filterLabels` must have a matching label in the provided metadata.\n * MATCH_ALL: All `filterLabels` must have matching labels in the provided metadata. Possible values: NOT_SET, MATCH_ALL, MATCH_ANY\n x-kubernetes-immutable: true\n enum:\n - NOT_SET\n - MATCH_ALL\n - MATCH_ANY\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the resource; provided by the client when the resource\n is created. The name must be 1-63 characters long, and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt).\n Specifically, the name must be 1-63 characters long and match the regular\n expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character\n must be a lowercase letter, and all following characters must be a dash,\n lowercase letter, or digit, except the last character, which cannot be\n a dash.\n x-kubernetes-immutable: true\n network:\n type: string\n x-dcl-go-name: Network\n description: This field is not used for external load balancing. For `INTERNAL`\n and `INTERNAL_SELF_MANAGED` load balancing, this field identifies the\n network that the load balanced IP should belong to for this Forwarding\n Rule. If this field is not specified, the default network will be used.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n networkTier:\n type: string\n x-dcl-go-name: NetworkTier\n x-dcl-go-type: ForwardingRuleNetworkTierEnum\n description: 'This signifies the networking tier used for configuring this\n load balancer and can only take the following values: `PREMIUM`, `STANDARD`.\n For regional ForwardingRule, the valid values are `PREMIUM` and `STANDARD`.\n For GlobalForwardingRule, the valid value is `PREMIUM`. If this field\n is not specified, it is assumed to be `PREMIUM`. If `IPAddress` is specified,\n this value must be equal to the networkTier of the Address.'\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n enum:\n - PREMIUM\n - STANDARD\n portRange:\n type: string\n x-dcl-go-name: PortRange\n description: |-\n When the load balancing scheme is `EXTERNAL`, `INTERNAL_SELF_MANAGED` and `INTERNAL_MANAGED`, you can specify a `port_range`. Use with a forwarding rule that points to a target proxy or a target pool. Do not use with a forwarding rule that points to a backend service. This field is used along with the `target` field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance. Applicable only when `IPProtocol` is `TCP`, `UDP`, or `SCTP`, only packets addressed to ports in the specified range will be forwarded to `target`. Forwarding rules with the same `[IPAddress, IPProtocol]` pair must have disjoint port ranges. Some types of forwarding target have constraints on the acceptable ports:\n\n * TargetHttpProxy: 80, 8080\n * TargetHttpsProxy: 443\n * TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222\n * TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222\n * TargetVpnGateway: 500, 4500\n\n @pattern: d+(?:-d+)?\n x-kubernetes-immutable: true\n ports:\n type: array\n x-dcl-go-name: Ports\n description: 'This field is used along with the `backend_service` field\n for internal load balancing. When the load balancing scheme is `INTERNAL`,\n a list of ports can be configured, for example, [''80''], [''8000'',''9000''].\n Only packets addressed to these ports are forwarded to the backends configured\n with the forwarding rule. If the forwarding rule''s loadBalancingScheme\n is INTERNAL, you can specify ports in one of the following ways: * A list\n of up to five ports, which can be non-contiguous * Keyword `ALL`, which\n causes the forwarding rule to forward traffic on any port of the forwarding\n rule''s protocol. @pattern: d+(?:-d+)? For more information, refer to\n [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: set\n items:\n type: string\n x-dcl-go-type: string\n project:\n type: string\n x-dcl-go-name: Project\n description: The project this resource belongs in.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n pscConnectionId:\n type: string\n x-dcl-go-name: PscConnectionId\n readOnly: true\n description: The PSC connection id of the PSC Forwarding Rule.\n x-kubernetes-immutable: true\n pscConnectionStatus:\n type: string\n x-dcl-go-name: PscConnectionStatus\n x-dcl-go-type: ForwardingRulePscConnectionStatusEnum\n readOnly: true\n description: 'The PSC connection status of the PSC Forwarding Rule. Possible\n values: STATUS_UNSPECIFIED, PENDING, ACCEPTED, REJECTED, CLOSED'\n x-kubernetes-immutable: true\n enum:\n - STATUS_UNSPECIFIED\n - PENDING\n - ACCEPTED\n - REJECTED\n - CLOSED\n region:\n type: string\n x-dcl-go-name: Region\n readOnly: true\n description: '[Output Only] URL of the region where the regional forwarding\n rule resides. This field is not applicable to global forwarding rules.\n You must specify this field as part of the HTTP request URL. It is not\n settable as a field in the request body.'\n x-kubernetes-immutable: true\n selfLink:\n type: string\n x-dcl-go-name: SelfLink\n readOnly: true\n description: '[Output Only] Server-defined URL for the resource.'\n x-kubernetes-immutable: true\n serviceDirectoryRegistrations:\n type: array\n x-dcl-go-name: ServiceDirectoryRegistrations\n description: Service Directory resources to register this forwarding rule\n with. Currently, only supports a single Service Directory resource.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: ForwardingRuleServiceDirectoryRegistrations\n properties:\n namespace:\n type: string\n x-dcl-go-name: Namespace\n description: Service Directory namespace to register the forwarding\n rule under.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n service:\n type: string\n x-dcl-go-name: Service\n description: Service Directory service to register the forwarding\n rule under.\n x-kubernetes-immutable: true\n serviceLabel:\n type: string\n x-dcl-go-name: ServiceLabel\n description: An optional prefix to the service name for this Forwarding\n Rule. If specified, the prefix is the first label of the fully qualified\n service name. The label must be 1-63 characters long, and comply with\n [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Specifically, the label\n must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`\n which means the first character must be a lowercase letter, and all following\n characters must be a dash, lowercase letter, or digit, except the last\n character, which cannot be a dash. This field is only used for internal\n load balancing.\n x-kubernetes-immutable: true\n serviceName:\n type: string\n x-dcl-go-name: ServiceName\n readOnly: true\n description: '[Output Only] The internal fully qualified service name for\n this Forwarding Rule. This field is only used for internal load balancing.'\n x-kubernetes-immutable: true\n sourceIPRanges:\n type: array\n x-dcl-go-name: SourceIPRanges\n description: If not empty, this Forwarding Rule will only forward the traffic\n when the source IP address matches one of the IP addresses or CIDR ranges\n set here. Note that a Forwarding Rule can only have up to 64 source IP\n ranges, and this field can only be used with a regional Forwarding Rule\n whose scheme is EXTERNAL. Each sourceIpRange entry should be either an\n IP address (for example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n subnetwork:\n type: string\n x-dcl-go-name: Subnetwork\n description: This field is only used for `INTERNAL` load balancing. For\n internal load balancing, this field identifies the subnetwork that the\n load balanced IP should belong to for this Forwarding Rule. If the network\n specified is in auto subnet mode, this field is optional. However, if\n the network is in custom subnet mode, a subnetwork must be specified.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n target:\n type: string\n x-dcl-go-name: Target\n description: The URL of the target resource to receive the matched traffic.\n For regional forwarding rules, this target must live in the same region\n as the forwarding rule. For global forwarding rules, this target must\n be a global load balancing resource. The forwarded traffic must be of\n a type appropriate to the target object. For `INTERNAL_SELF_MANAGED` load\n balancing, only `targetHttpProxy` is valid, not `targetHttpsProxy`.\n")
-// 22446 bytes
-// MD5: 3d9b87f30aec7e739f29bb62aa5e6e38
+// 23790 bytes
+// MD5: 270a32375a7e5c04afc2570e08e9cc46
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/network_firewall_policy_rule.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/network_firewall_policy_rule.go
index 0009d8d1a5..070ced0b05 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/network_firewall_policy_rule.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/network_firewall_policy_rule.go
@@ -128,11 +128,19 @@ func (v NetworkFirewallPolicyRuleTargetSecureTagsStateEnum) Validate() error {
}
type NetworkFirewallPolicyRuleMatch struct {
- empty bool `json:"-"`
- SrcIPRanges []string `json:"srcIPRanges"`
- DestIPRanges []string `json:"destIPRanges"`
- Layer4Configs []NetworkFirewallPolicyRuleMatchLayer4Configs `json:"layer4Configs"`
- SrcSecureTags []NetworkFirewallPolicyRuleMatchSrcSecureTags `json:"srcSecureTags"`
+ empty bool `json:"-"`
+ SrcIPRanges []string `json:"srcIPRanges"`
+ DestIPRanges []string `json:"destIPRanges"`
+ Layer4Configs []NetworkFirewallPolicyRuleMatchLayer4Configs `json:"layer4Configs"`
+ SrcSecureTags []NetworkFirewallPolicyRuleMatchSrcSecureTags `json:"srcSecureTags"`
+ SrcRegionCodes []string `json:"srcRegionCodes"`
+ DestRegionCodes []string `json:"destRegionCodes"`
+ SrcThreatIntelligences []string `json:"srcThreatIntelligences"`
+ DestThreatIntelligences []string `json:"destThreatIntelligences"`
+ SrcFqdns []string `json:"srcFqdns"`
+ DestFqdns []string `json:"destFqdns"`
+ SrcAddressGroups []string `json:"srcAddressGroups"`
+ DestAddressGroups []string `json:"destAddressGroups"`
}
type jsonNetworkFirewallPolicyRuleMatch NetworkFirewallPolicyRuleMatch
@@ -158,6 +166,22 @@ func (r *NetworkFirewallPolicyRuleMatch) UnmarshalJSON(data []byte) error {
r.SrcSecureTags = res.SrcSecureTags
+ r.SrcRegionCodes = res.SrcRegionCodes
+
+ r.DestRegionCodes = res.DestRegionCodes
+
+ r.SrcThreatIntelligences = res.SrcThreatIntelligences
+
+ r.DestThreatIntelligences = res.DestThreatIntelligences
+
+ r.SrcFqdns = res.SrcFqdns
+
+ r.DestFqdns = res.DestFqdns
+
+ r.SrcAddressGroups = res.SrcAddressGroups
+
+ r.DestAddressGroups = res.DestAddressGroups
+
}
return nil
}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/network_firewall_policy_rule.yaml b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/network_firewall_policy_rule.yaml
index de9ff477e9..3dc72bf8d5 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/network_firewall_policy_rule.yaml
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/network_firewall_policy_rule.yaml
@@ -92,8 +92,7 @@ components:
type: string
x-dcl-go-name: Action
description: The Action to perform when the client connection triggers the
- rule. Can currently be either "allow" or "deny()" where valid values for
- status are 403, 404, and 502.
+ rule. Valid actions are "allow", "deny" and "goto_next".
description:
type: string
x-dcl-go-name: Description
@@ -151,6 +150,28 @@ components:
required:
- layer4Configs
properties:
+ destAddressGroups:
+ type: array
+ x-dcl-go-name: DestAddressGroups
+ description: Address groups which should be matched against the traffic
+ destination. Maximum number of destination address groups is 10. Destination
+ address groups is only supported in Egress rules.
+ x-dcl-send-empty: true
+ x-dcl-list-type: list
+ items:
+ type: string
+ x-dcl-go-type: string
+ destFqdns:
+ type: array
+ x-dcl-go-name: DestFqdns
+ description: Domain names that will be used to match against the resolved
+ domain name of destination of traffic. Can only be specified if DIRECTION
+ is egress.
+ x-dcl-send-empty: true
+ x-dcl-list-type: list
+ items:
+ type: string
+ x-dcl-go-type: string
destIPRanges:
type: array
x-dcl-go-name: DestIPRanges
@@ -161,6 +182,26 @@ components:
items:
type: string
x-dcl-go-type: string
+ destRegionCodes:
+ type: array
+ x-dcl-go-name: DestRegionCodes
+ description: The Unicode country codes whose IP addresses will be used
+ to match against the source of traffic. Can only be specified if DIRECTION
+ is egress.
+ x-dcl-send-empty: true
+ x-dcl-list-type: list
+ items:
+ type: string
+ x-dcl-go-type: string
+ destThreatIntelligences:
+ type: array
+ x-dcl-go-name: DestThreatIntelligences
+ description: Name of the Google Cloud Threat Intelligence list.
+ x-dcl-send-empty: true
+ x-dcl-list-type: list
+ items:
+ type: string
+ x-dcl-go-type: string
layer4Configs:
type: array
x-dcl-go-name: Layer4Configs
@@ -194,6 +235,28 @@ components:
items:
type: string
x-dcl-go-type: string
+ srcAddressGroups:
+ type: array
+ x-dcl-go-name: SrcAddressGroups
+ description: Address groups which should be matched against the traffic
+ source. Maximum number of source address groups is 10. Source address
+ groups is only supported in Ingress rules.
+ x-dcl-send-empty: true
+ x-dcl-list-type: list
+ items:
+ type: string
+ x-dcl-go-type: string
+ srcFqdns:
+ type: array
+ x-dcl-go-name: SrcFqdns
+ description: Domain names that will be used to match against the resolved
+ domain name of source of traffic. Can only be specified if DIRECTION
+ is ingress.
+ x-dcl-send-empty: true
+ x-dcl-list-type: list
+ items:
+ type: string
+ x-dcl-go-type: string
srcIPRanges:
type: array
x-dcl-go-name: SrcIPRanges
@@ -204,6 +267,17 @@ components:
items:
type: string
x-dcl-go-type: string
+ srcRegionCodes:
+ type: array
+ x-dcl-go-name: SrcRegionCodes
+ description: The Unicode country codes whose IP addresses will be used
+ to match against the source of traffic. Can only be specified if DIRECTION
+ is ingress.
+ x-dcl-send-empty: true
+ x-dcl-list-type: list
+ items:
+ type: string
+ x-dcl-go-type: string
srcSecureTags:
type: array
x-dcl-go-name: SrcSecureTags
@@ -238,6 +312,15 @@ components:
enum:
- EFFECTIVE
- INEFFECTIVE
+ srcThreatIntelligences:
+ type: array
+ x-dcl-go-name: SrcThreatIntelligences
+ description: Name of the Google Cloud Threat Intelligence list.
+ x-dcl-send-empty: true
+ x-dcl-list-type: list
+ items:
+ type: string
+ x-dcl-go-type: string
priority:
type: integer
format: int64
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/network_firewall_policy_rule_internal.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/network_firewall_policy_rule_internal.go
index 0ef24fe852..016104a615 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/network_firewall_policy_rule_internal.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/network_firewall_policy_rule_internal.go
@@ -701,6 +701,46 @@ func canonicalizeNetworkFirewallPolicyRuleMatch(des, initial *NetworkFirewallPol
}
cDes.Layer4Configs = canonicalizeNetworkFirewallPolicyRuleMatchLayer4ConfigsSlice(des.Layer4Configs, initial.Layer4Configs, opts...)
cDes.SrcSecureTags = canonicalizeNetworkFirewallPolicyRuleMatchSrcSecureTagsSlice(des.SrcSecureTags, initial.SrcSecureTags, opts...)
+ if dcl.StringArrayCanonicalize(des.SrcRegionCodes, initial.SrcRegionCodes) {
+ cDes.SrcRegionCodes = initial.SrcRegionCodes
+ } else {
+ cDes.SrcRegionCodes = des.SrcRegionCodes
+ }
+ if dcl.StringArrayCanonicalize(des.DestRegionCodes, initial.DestRegionCodes) {
+ cDes.DestRegionCodes = initial.DestRegionCodes
+ } else {
+ cDes.DestRegionCodes = des.DestRegionCodes
+ }
+ if dcl.StringArrayCanonicalize(des.SrcThreatIntelligences, initial.SrcThreatIntelligences) {
+ cDes.SrcThreatIntelligences = initial.SrcThreatIntelligences
+ } else {
+ cDes.SrcThreatIntelligences = des.SrcThreatIntelligences
+ }
+ if dcl.StringArrayCanonicalize(des.DestThreatIntelligences, initial.DestThreatIntelligences) {
+ cDes.DestThreatIntelligences = initial.DestThreatIntelligences
+ } else {
+ cDes.DestThreatIntelligences = des.DestThreatIntelligences
+ }
+ if dcl.StringArrayCanonicalize(des.SrcFqdns, initial.SrcFqdns) {
+ cDes.SrcFqdns = initial.SrcFqdns
+ } else {
+ cDes.SrcFqdns = des.SrcFqdns
+ }
+ if dcl.StringArrayCanonicalize(des.DestFqdns, initial.DestFqdns) {
+ cDes.DestFqdns = initial.DestFqdns
+ } else {
+ cDes.DestFqdns = des.DestFqdns
+ }
+ if dcl.StringArrayCanonicalize(des.SrcAddressGroups, initial.SrcAddressGroups) {
+ cDes.SrcAddressGroups = initial.SrcAddressGroups
+ } else {
+ cDes.SrcAddressGroups = des.SrcAddressGroups
+ }
+ if dcl.StringArrayCanonicalize(des.DestAddressGroups, initial.DestAddressGroups) {
+ cDes.DestAddressGroups = initial.DestAddressGroups
+ } else {
+ cDes.DestAddressGroups = des.DestAddressGroups
+ }
return cDes
}
@@ -755,6 +795,30 @@ func canonicalizeNewNetworkFirewallPolicyRuleMatch(c *Client, des, nw *NetworkFi
}
nw.Layer4Configs = canonicalizeNewNetworkFirewallPolicyRuleMatchLayer4ConfigsSlice(c, des.Layer4Configs, nw.Layer4Configs)
nw.SrcSecureTags = canonicalizeNewNetworkFirewallPolicyRuleMatchSrcSecureTagsSlice(c, des.SrcSecureTags, nw.SrcSecureTags)
+ if dcl.StringArrayCanonicalize(des.SrcRegionCodes, nw.SrcRegionCodes) {
+ nw.SrcRegionCodes = des.SrcRegionCodes
+ }
+ if dcl.StringArrayCanonicalize(des.DestRegionCodes, nw.DestRegionCodes) {
+ nw.DestRegionCodes = des.DestRegionCodes
+ }
+ if dcl.StringArrayCanonicalize(des.SrcThreatIntelligences, nw.SrcThreatIntelligences) {
+ nw.SrcThreatIntelligences = des.SrcThreatIntelligences
+ }
+ if dcl.StringArrayCanonicalize(des.DestThreatIntelligences, nw.DestThreatIntelligences) {
+ nw.DestThreatIntelligences = des.DestThreatIntelligences
+ }
+ if dcl.StringArrayCanonicalize(des.SrcFqdns, nw.SrcFqdns) {
+ nw.SrcFqdns = des.SrcFqdns
+ }
+ if dcl.StringArrayCanonicalize(des.DestFqdns, nw.DestFqdns) {
+ nw.DestFqdns = des.DestFqdns
+ }
+ if dcl.StringArrayCanonicalize(des.SrcAddressGroups, nw.SrcAddressGroups) {
+ nw.SrcAddressGroups = des.SrcAddressGroups
+ }
+ if dcl.StringArrayCanonicalize(des.DestAddressGroups, nw.DestAddressGroups) {
+ nw.DestAddressGroups = des.DestAddressGroups
+ }
return nw
}
@@ -1336,6 +1400,62 @@ func compareNetworkFirewallPolicyRuleMatchNewStyle(d, a interface{}, fn dcl.Fiel
}
diffs = append(diffs, ds...)
}
+
+ if ds, err := dcl.Diff(desired.SrcRegionCodes, actual.SrcRegionCodes, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateNetworkFirewallPolicyRulePatchRuleOperation")}, fn.AddNest("SrcRegionCodes")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.DestRegionCodes, actual.DestRegionCodes, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateNetworkFirewallPolicyRulePatchRuleOperation")}, fn.AddNest("DestRegionCodes")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.SrcThreatIntelligences, actual.SrcThreatIntelligences, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateNetworkFirewallPolicyRulePatchRuleOperation")}, fn.AddNest("SrcThreatIntelligences")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.DestThreatIntelligences, actual.DestThreatIntelligences, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateNetworkFirewallPolicyRulePatchRuleOperation")}, fn.AddNest("DestThreatIntelligences")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.SrcFqdns, actual.SrcFqdns, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateNetworkFirewallPolicyRulePatchRuleOperation")}, fn.AddNest("SrcFqdns")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.DestFqdns, actual.DestFqdns, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateNetworkFirewallPolicyRulePatchRuleOperation")}, fn.AddNest("DestFqdns")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.SrcAddressGroups, actual.SrcAddressGroups, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateNetworkFirewallPolicyRulePatchRuleOperation")}, fn.AddNest("SrcAddressGroups")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
+ if ds, err := dcl.Diff(desired.DestAddressGroups, actual.DestAddressGroups, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateNetworkFirewallPolicyRulePatchRuleOperation")}, fn.AddNest("DestAddressGroups")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
return diffs, nil
}
@@ -1704,6 +1824,30 @@ func expandNetworkFirewallPolicyRuleMatch(c *Client, f *NetworkFirewallPolicyRul
} else if v != nil {
m["srcSecureTags"] = v
}
+ if v := f.SrcRegionCodes; v != nil {
+ m["srcRegionCodes"] = v
+ }
+ if v := f.DestRegionCodes; v != nil {
+ m["destRegionCodes"] = v
+ }
+ if v := f.SrcThreatIntelligences; v != nil {
+ m["srcThreatIntelligences"] = v
+ }
+ if v := f.DestThreatIntelligences; v != nil {
+ m["destThreatIntelligences"] = v
+ }
+ if v := f.SrcFqdns; v != nil {
+ m["srcFqdns"] = v
+ }
+ if v := f.DestFqdns; v != nil {
+ m["destFqdns"] = v
+ }
+ if v := f.SrcAddressGroups; v != nil {
+ m["srcAddressGroups"] = v
+ }
+ if v := f.DestAddressGroups; v != nil {
+ m["destAddressGroups"] = v
+ }
return m, nil
}
@@ -1725,6 +1869,14 @@ func flattenNetworkFirewallPolicyRuleMatch(c *Client, i interface{}, res *Networ
r.DestIPRanges = dcl.FlattenStringSlice(m["destIpRanges"])
r.Layer4Configs = flattenNetworkFirewallPolicyRuleMatchLayer4ConfigsSlice(c, m["layer4Configs"], res)
r.SrcSecureTags = flattenNetworkFirewallPolicyRuleMatchSrcSecureTagsSlice(c, m["srcSecureTags"], res)
+ r.SrcRegionCodes = dcl.FlattenStringSlice(m["srcRegionCodes"])
+ r.DestRegionCodes = dcl.FlattenStringSlice(m["destRegionCodes"])
+ r.SrcThreatIntelligences = dcl.FlattenStringSlice(m["srcThreatIntelligences"])
+ r.DestThreatIntelligences = dcl.FlattenStringSlice(m["destThreatIntelligences"])
+ r.SrcFqdns = dcl.FlattenStringSlice(m["srcFqdns"])
+ r.DestFqdns = dcl.FlattenStringSlice(m["destFqdns"])
+ r.SrcAddressGroups = dcl.FlattenStringSlice(m["srcAddressGroups"])
+ r.DestAddressGroups = dcl.FlattenStringSlice(m["destAddressGroups"])
return r
}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/network_firewall_policy_rule_schema.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/network_firewall_policy_rule_schema.go
index 8d157b631c..3879fc97f2 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/network_firewall_policy_rule_schema.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/network_firewall_policy_rule_schema.go
@@ -133,7 +133,7 @@ func DCLNetworkFirewallPolicyRuleSchema() *dcl.Schema {
"action": &dcl.Property{
Type: "string",
GoName: "Action",
- Description: "The Action to perform when the client connection triggers the rule. Can currently be either \"allow\" or \"deny()\" where valid values for status are 403, 404, and 502.",
+ Description: "The Action to perform when the client connection triggers the rule. Valid actions are \"allow\", \"deny\" and \"goto_next\".",
},
"description": &dcl.Property{
Type: "string",
@@ -195,6 +195,28 @@ func DCLNetworkFirewallPolicyRuleSchema() *dcl.Schema {
"layer4Configs",
},
Properties: map[string]*dcl.Property{
+ "destAddressGroups": &dcl.Property{
+ Type: "array",
+ GoName: "DestAddressGroups",
+ Description: "Address groups which should be matched against the traffic destination. Maximum number of destination address groups is 10. Destination address groups is only supported in Egress rules.",
+ SendEmpty: true,
+ ListType: "list",
+ Items: &dcl.Property{
+ Type: "string",
+ GoType: "string",
+ },
+ },
+ "destFqdns": &dcl.Property{
+ Type: "array",
+ GoName: "DestFqdns",
+ Description: "Domain names that will be used to match against the resolved domain name of destination of traffic. Can only be specified if DIRECTION is egress.",
+ SendEmpty: true,
+ ListType: "list",
+ Items: &dcl.Property{
+ Type: "string",
+ GoType: "string",
+ },
+ },
"destIPRanges": &dcl.Property{
Type: "array",
GoName: "DestIPRanges",
@@ -206,6 +228,28 @@ func DCLNetworkFirewallPolicyRuleSchema() *dcl.Schema {
GoType: "string",
},
},
+ "destRegionCodes": &dcl.Property{
+ Type: "array",
+ GoName: "DestRegionCodes",
+ Description: "The Unicode country codes whose IP addresses will be used to match against the source of traffic. Can only be specified if DIRECTION is egress.",
+ SendEmpty: true,
+ ListType: "list",
+ Items: &dcl.Property{
+ Type: "string",
+ GoType: "string",
+ },
+ },
+ "destThreatIntelligences": &dcl.Property{
+ Type: "array",
+ GoName: "DestThreatIntelligences",
+ Description: "Name of the Google Cloud Threat Intelligence list.",
+ SendEmpty: true,
+ ListType: "list",
+ Items: &dcl.Property{
+ Type: "string",
+ GoType: "string",
+ },
+ },
"layer4Configs": &dcl.Property{
Type: "array",
GoName: "Layer4Configs",
@@ -238,6 +282,28 @@ func DCLNetworkFirewallPolicyRuleSchema() *dcl.Schema {
},
},
},
+ "srcAddressGroups": &dcl.Property{
+ Type: "array",
+ GoName: "SrcAddressGroups",
+ Description: "Address groups which should be matched against the traffic source. Maximum number of source address groups is 10. Source address groups is only supported in Ingress rules.",
+ SendEmpty: true,
+ ListType: "list",
+ Items: &dcl.Property{
+ Type: "string",
+ GoType: "string",
+ },
+ },
+ "srcFqdns": &dcl.Property{
+ Type: "array",
+ GoName: "SrcFqdns",
+ Description: "Domain names that will be used to match against the resolved domain name of source of traffic. Can only be specified if DIRECTION is ingress.",
+ SendEmpty: true,
+ ListType: "list",
+ Items: &dcl.Property{
+ Type: "string",
+ GoType: "string",
+ },
+ },
"srcIPRanges": &dcl.Property{
Type: "array",
GoName: "SrcIPRanges",
@@ -249,6 +315,17 @@ func DCLNetworkFirewallPolicyRuleSchema() *dcl.Schema {
GoType: "string",
},
},
+ "srcRegionCodes": &dcl.Property{
+ Type: "array",
+ GoName: "SrcRegionCodes",
+ Description: "The Unicode country codes whose IP addresses will be used to match against the source of traffic. Can only be specified if DIRECTION is ingress.",
+ SendEmpty: true,
+ ListType: "list",
+ Items: &dcl.Property{
+ Type: "string",
+ GoType: "string",
+ },
+ },
"srcSecureTags": &dcl.Property{
Type: "array",
GoName: "SrcSecureTags",
@@ -287,6 +364,17 @@ func DCLNetworkFirewallPolicyRuleSchema() *dcl.Schema {
},
},
},
+ "srcThreatIntelligences": &dcl.Property{
+ Type: "array",
+ GoName: "SrcThreatIntelligences",
+ Description: "Name of the Google Cloud Threat Intelligence list.",
+ SendEmpty: true,
+ ListType: "list",
+ Items: &dcl.Property{
+ Type: "string",
+ GoType: "string",
+ },
+ },
},
},
"priority": &dcl.Property{
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/network_firewall_policy_rule_yaml_embed.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/network_firewall_policy_rule_yaml_embed.go
index 4043594dae..674f095a98 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/network_firewall_policy_rule_yaml_embed.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/compute/network_firewall_policy_rule_yaml_embed.go
@@ -17,7 +17,7 @@
package compute
// blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/compute/network_firewall_policy_rule.yaml
-var YAML_network_firewall_policy_rule = []byte("info:\n title: Compute/NetworkFirewallPolicyRule\n description: The Compute NetworkFirewallPolicyRule resource\n x-dcl-struct-name: NetworkFirewallPolicyRule\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a NetworkFirewallPolicyRule\n parameters:\n - name: networkFirewallPolicyRule\n required: true\n description: A full instance of a NetworkFirewallPolicyRule\n apply:\n description: The function used to apply information about a NetworkFirewallPolicyRule\n parameters:\n - name: networkFirewallPolicyRule\n required: true\n description: A full instance of a NetworkFirewallPolicyRule\n delete:\n description: The function used to delete a NetworkFirewallPolicyRule\n parameters:\n - name: networkFirewallPolicyRule\n required: true\n description: A full instance of a NetworkFirewallPolicyRule\n deleteAll:\n description: The function used to delete all NetworkFirewallPolicyRule\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n - name: firewallPolicy\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many NetworkFirewallPolicyRule\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n - name: firewallPolicy\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n NetworkFirewallPolicyRule:\n title: NetworkFirewallPolicyRule\n x-dcl-id: projects/{{project}}/global/firewallPolicies/{{firewall_policy}}/rules/{{priority}}\n x-dcl-locations:\n - global\n - region\n x-dcl-parent-container: project\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - priority\n - match\n - action\n - direction\n - firewallPolicy\n - project\n properties:\n action:\n type: string\n x-dcl-go-name: Action\n description: The Action to perform when the client connection triggers the\n rule. Can currently be either \"allow\" or \"deny()\" where valid values for\n status are 403, 404, and 502.\n description:\n type: string\n x-dcl-go-name: Description\n description: An optional description for this resource.\n direction:\n type: string\n x-dcl-go-name: Direction\n x-dcl-go-type: NetworkFirewallPolicyRuleDirectionEnum\n description: 'The direction in which this rule applies. Possible values:\n INGRESS, EGRESS'\n enum:\n - INGRESS\n - EGRESS\n disabled:\n type: boolean\n x-dcl-go-name: Disabled\n description: Denotes whether the firewall policy rule is disabled. When\n set to true, the firewall policy rule is not enforced and traffic behaves\n as if it did not exist. If this is unspecified, the firewall policy rule\n will be enabled.\n enableLogging:\n type: boolean\n x-dcl-go-name: EnableLogging\n description: 'Denotes whether to enable logging for a particular rule. If\n logging is enabled, logs will be exported to the configured export destination\n in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you\n cannot enable logging on \"goto_next\" rules.'\n firewallPolicy:\n type: string\n x-dcl-go-name: FirewallPolicy\n description: The firewall policy of the resource.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/NetworkFirewallPolicy\n field: name\n parent: true\n kind:\n type: string\n x-dcl-go-name: Kind\n readOnly: true\n description: Type of the resource. Always `compute#firewallPolicyRule` for\n firewall policy rules\n x-kubernetes-immutable: true\n location:\n type: string\n x-dcl-go-name: Location\n description: The location of this resource.\n x-kubernetes-immutable: true\n match:\n type: object\n x-dcl-go-name: Match\n x-dcl-go-type: NetworkFirewallPolicyRuleMatch\n description: A match condition that incoming traffic is evaluated against.\n If it evaluates to true, the corresponding 'action' is enforced.\n required:\n - layer4Configs\n properties:\n destIPRanges:\n type: array\n x-dcl-go-name: DestIPRanges\n description: CIDR IP address range. Maximum number of destination CIDR\n IP ranges allowed is 5000.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n layer4Configs:\n type: array\n x-dcl-go-name: Layer4Configs\n description: Pairs of IP protocols and ports that the rule should match.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: NetworkFirewallPolicyRuleMatchLayer4Configs\n required:\n - ipProtocol\n properties:\n ipProtocol:\n type: string\n x-dcl-go-name: IPProtocol\n description: The IP protocol to which this rule applies. The protocol\n type is required when creating a firewall rule. This value can\n either be one of the following well known protocol strings (`tcp`,\n `udp`, `icmp`, `esp`, `ah`, `ipip`, `sctp`), or the IP protocol\n number.\n ports:\n type: array\n x-dcl-go-name: Ports\n description: 'An optional list of ports to which this rule applies.\n This field is only applicable for UDP or TCP protocol. Each\n entry must be either an integer or a range. If not specified,\n this rule applies to connections through any port. Example inputs\n include: ``.'\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n srcIPRanges:\n type: array\n x-dcl-go-name: SrcIPRanges\n description: CIDR IP address range. Maximum number of source CIDR IP\n ranges allowed is 5000.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n srcSecureTags:\n type: array\n x-dcl-go-name: SrcSecureTags\n description: List of secure tag values, which should be matched at the\n source of the traffic. For INGRESS rule, if all the srcSecureTag\n are INEFFECTIVE, and there is no srcIpRange, this rule\n will be ignored. Maximum number of source tag values allowed is 256.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: NetworkFirewallPolicyRuleMatchSrcSecureTags\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the secure tag, created with TagManager's\n TagValue API. @pattern tagValues/[0-9]+\n x-dcl-references:\n - resource: Cloudresourcemanager/TagValue\n field: namespacedName\n state:\n type: string\n x-dcl-go-name: State\n x-dcl-go-type: NetworkFirewallPolicyRuleMatchSrcSecureTagsStateEnum\n readOnly: true\n description: '[Output Only] State of the secure tag, either `EFFECTIVE`\n or `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted\n or its network is deleted.'\n enum:\n - EFFECTIVE\n - INEFFECTIVE\n priority:\n type: integer\n format: int64\n x-dcl-go-name: Priority\n description: An integer indicating the priority of a rule in the list. The\n priority must be a positive value between 0 and 2147483647. Rules are\n evaluated from highest to lowest priority where 0 is the highest priority\n and 2147483647 is the lowest prority.\n x-kubernetes-immutable: true\n project:\n type: string\n x-dcl-go-name: Project\n description: The project for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n ruleName:\n type: string\n x-dcl-go-name: RuleName\n description: An optional name for the rule. This field is not a unique identifier\n and can be updated.\n ruleTupleCount:\n type: integer\n format: int64\n x-dcl-go-name: RuleTupleCount\n readOnly: true\n description: Calculation of the complexity of a single firewall policy rule.\n x-kubernetes-immutable: true\n targetSecureTags:\n type: array\n x-dcl-go-name: TargetSecureTags\n description: A list of secure tags that controls which instances the firewall\n rule applies to. If targetSecureTag are specified, then the\n firewall rule applies only to instances in the VPC network that have one\n of those EFFECTIVE secure tags, if all the target_secure_tag are in INEFFECTIVE\n state, then this rule will be ignored. targetSecureTag may\n not be set at the same time as targetServiceAccounts. If\n neither targetServiceAccounts nor targetSecureTag\n are specified, the firewall rule applies to all instances on the specified\n network. Maximum number of target label tags allowed is 256.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: NetworkFirewallPolicyRuleTargetSecureTags\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the secure tag, created with TagManager's TagValue\n API. @pattern tagValues/[0-9]+\n x-dcl-references:\n - resource: Cloudresourcemanager/TagValue\n field: namespacedName\n state:\n type: string\n x-dcl-go-name: State\n x-dcl-go-type: NetworkFirewallPolicyRuleTargetSecureTagsStateEnum\n readOnly: true\n description: '[Output Only] State of the secure tag, either `EFFECTIVE`\n or `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted\n or its network is deleted.'\n enum:\n - EFFECTIVE\n - INEFFECTIVE\n targetServiceAccounts:\n type: array\n x-dcl-go-name: TargetServiceAccounts\n description: A list of service accounts indicating the sets of instances\n that are applied with this rule.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x-dcl-references:\n - resource: Iam/ServiceAccount\n field: name\n")
+var YAML_network_firewall_policy_rule = []byte("info:\n title: Compute/NetworkFirewallPolicyRule\n description: The Compute NetworkFirewallPolicyRule resource\n x-dcl-struct-name: NetworkFirewallPolicyRule\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a NetworkFirewallPolicyRule\n parameters:\n - name: networkFirewallPolicyRule\n required: true\n description: A full instance of a NetworkFirewallPolicyRule\n apply:\n description: The function used to apply information about a NetworkFirewallPolicyRule\n parameters:\n - name: networkFirewallPolicyRule\n required: true\n description: A full instance of a NetworkFirewallPolicyRule\n delete:\n description: The function used to delete a NetworkFirewallPolicyRule\n parameters:\n - name: networkFirewallPolicyRule\n required: true\n description: A full instance of a NetworkFirewallPolicyRule\n deleteAll:\n description: The function used to delete all NetworkFirewallPolicyRule\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n - name: firewallPolicy\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many NetworkFirewallPolicyRule\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n - name: firewallPolicy\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n NetworkFirewallPolicyRule:\n title: NetworkFirewallPolicyRule\n x-dcl-id: projects/{{project}}/global/firewallPolicies/{{firewall_policy}}/rules/{{priority}}\n x-dcl-locations:\n - global\n - region\n x-dcl-parent-container: project\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - priority\n - match\n - action\n - direction\n - firewallPolicy\n - project\n properties:\n action:\n type: string\n x-dcl-go-name: Action\n description: The Action to perform when the client connection triggers the\n rule. Valid actions are \"allow\", \"deny\" and \"goto_next\".\n description:\n type: string\n x-dcl-go-name: Description\n description: An optional description for this resource.\n direction:\n type: string\n x-dcl-go-name: Direction\n x-dcl-go-type: NetworkFirewallPolicyRuleDirectionEnum\n description: 'The direction in which this rule applies. Possible values:\n INGRESS, EGRESS'\n enum:\n - INGRESS\n - EGRESS\n disabled:\n type: boolean\n x-dcl-go-name: Disabled\n description: Denotes whether the firewall policy rule is disabled. When\n set to true, the firewall policy rule is not enforced and traffic behaves\n as if it did not exist. If this is unspecified, the firewall policy rule\n will be enabled.\n enableLogging:\n type: boolean\n x-dcl-go-name: EnableLogging\n description: 'Denotes whether to enable logging for a particular rule. If\n logging is enabled, logs will be exported to the configured export destination\n in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you\n cannot enable logging on \"goto_next\" rules.'\n firewallPolicy:\n type: string\n x-dcl-go-name: FirewallPolicy\n description: The firewall policy of the resource.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/NetworkFirewallPolicy\n field: name\n parent: true\n kind:\n type: string\n x-dcl-go-name: Kind\n readOnly: true\n description: Type of the resource. Always `compute#firewallPolicyRule` for\n firewall policy rules\n x-kubernetes-immutable: true\n location:\n type: string\n x-dcl-go-name: Location\n description: The location of this resource.\n x-kubernetes-immutable: true\n match:\n type: object\n x-dcl-go-name: Match\n x-dcl-go-type: NetworkFirewallPolicyRuleMatch\n description: A match condition that incoming traffic is evaluated against.\n If it evaluates to true, the corresponding 'action' is enforced.\n required:\n - layer4Configs\n properties:\n destAddressGroups:\n type: array\n x-dcl-go-name: DestAddressGroups\n description: Address groups which should be matched against the traffic\n destination. Maximum number of destination address groups is 10. Destination\n address groups is only supported in Egress rules.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n destFqdns:\n type: array\n x-dcl-go-name: DestFqdns\n description: Domain names that will be used to match against the resolved\n domain name of destination of traffic. Can only be specified if DIRECTION\n is egress.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n destIPRanges:\n type: array\n x-dcl-go-name: DestIPRanges\n description: CIDR IP address range. Maximum number of destination CIDR\n IP ranges allowed is 5000.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n destRegionCodes:\n type: array\n x-dcl-go-name: DestRegionCodes\n description: The Unicode country codes whose IP addresses will be used\n to match against the source of traffic. Can only be specified if DIRECTION\n is egress.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n destThreatIntelligences:\n type: array\n x-dcl-go-name: DestThreatIntelligences\n description: Name of the Google Cloud Threat Intelligence list.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n layer4Configs:\n type: array\n x-dcl-go-name: Layer4Configs\n description: Pairs of IP protocols and ports that the rule should match.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: NetworkFirewallPolicyRuleMatchLayer4Configs\n required:\n - ipProtocol\n properties:\n ipProtocol:\n type: string\n x-dcl-go-name: IPProtocol\n description: The IP protocol to which this rule applies. The protocol\n type is required when creating a firewall rule. This value can\n either be one of the following well known protocol strings (`tcp`,\n `udp`, `icmp`, `esp`, `ah`, `ipip`, `sctp`), or the IP protocol\n number.\n ports:\n type: array\n x-dcl-go-name: Ports\n description: 'An optional list of ports to which this rule applies.\n This field is only applicable for UDP or TCP protocol. Each\n entry must be either an integer or a range. If not specified,\n this rule applies to connections through any port. Example inputs\n include: ``.'\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n srcAddressGroups:\n type: array\n x-dcl-go-name: SrcAddressGroups\n description: Address groups which should be matched against the traffic\n source. Maximum number of source address groups is 10. Source address\n groups is only supported in Ingress rules.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n srcFqdns:\n type: array\n x-dcl-go-name: SrcFqdns\n description: Domain names that will be used to match against the resolved\n domain name of source of traffic. Can only be specified if DIRECTION\n is ingress.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n srcIPRanges:\n type: array\n x-dcl-go-name: SrcIPRanges\n description: CIDR IP address range. Maximum number of source CIDR IP\n ranges allowed is 5000.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n srcRegionCodes:\n type: array\n x-dcl-go-name: SrcRegionCodes\n description: The Unicode country codes whose IP addresses will be used\n to match against the source of traffic. Can only be specified if DIRECTION\n is ingress.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n srcSecureTags:\n type: array\n x-dcl-go-name: SrcSecureTags\n description: List of secure tag values, which should be matched at the\n source of the traffic. For INGRESS rule, if all the srcSecureTag\n are INEFFECTIVE, and there is no srcIpRange, this rule\n will be ignored. Maximum number of source tag values allowed is 256.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: NetworkFirewallPolicyRuleMatchSrcSecureTags\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the secure tag, created with TagManager's\n TagValue API. @pattern tagValues/[0-9]+\n x-dcl-references:\n - resource: Cloudresourcemanager/TagValue\n field: namespacedName\n state:\n type: string\n x-dcl-go-name: State\n x-dcl-go-type: NetworkFirewallPolicyRuleMatchSrcSecureTagsStateEnum\n readOnly: true\n description: '[Output Only] State of the secure tag, either `EFFECTIVE`\n or `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted\n or its network is deleted.'\n enum:\n - EFFECTIVE\n - INEFFECTIVE\n srcThreatIntelligences:\n type: array\n x-dcl-go-name: SrcThreatIntelligences\n description: Name of the Google Cloud Threat Intelligence list.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n priority:\n type: integer\n format: int64\n x-dcl-go-name: Priority\n description: An integer indicating the priority of a rule in the list. The\n priority must be a positive value between 0 and 2147483647. Rules are\n evaluated from highest to lowest priority where 0 is the highest priority\n and 2147483647 is the lowest prority.\n x-kubernetes-immutable: true\n project:\n type: string\n x-dcl-go-name: Project\n description: The project for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n ruleName:\n type: string\n x-dcl-go-name: RuleName\n description: An optional name for the rule. This field is not a unique identifier\n and can be updated.\n ruleTupleCount:\n type: integer\n format: int64\n x-dcl-go-name: RuleTupleCount\n readOnly: true\n description: Calculation of the complexity of a single firewall policy rule.\n x-kubernetes-immutable: true\n targetSecureTags:\n type: array\n x-dcl-go-name: TargetSecureTags\n description: A list of secure tags that controls which instances the firewall\n rule applies to. If targetSecureTag are specified, then the\n firewall rule applies only to instances in the VPC network that have one\n of those EFFECTIVE secure tags, if all the target_secure_tag are in INEFFECTIVE\n state, then this rule will be ignored. targetSecureTag may\n not be set at the same time as targetServiceAccounts. If\n neither targetServiceAccounts nor targetSecureTag\n are specified, the firewall rule applies to all instances on the specified\n network. Maximum number of target label tags allowed is 256.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: NetworkFirewallPolicyRuleTargetSecureTags\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the secure tag, created with TagManager's TagValue\n API. @pattern tagValues/[0-9]+\n x-dcl-references:\n - resource: Cloudresourcemanager/TagValue\n field: namespacedName\n state:\n type: string\n x-dcl-go-name: State\n x-dcl-go-type: NetworkFirewallPolicyRuleTargetSecureTagsStateEnum\n readOnly: true\n description: '[Output Only] State of the secure tag, either `EFFECTIVE`\n or `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted\n or its network is deleted.'\n enum:\n - EFFECTIVE\n - INEFFECTIVE\n targetServiceAccounts:\n type: array\n x-dcl-go-name: TargetServiceAccounts\n description: A list of service accounts indicating the sets of instances\n that are applied with this rule.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x-dcl-references:\n - resource: Iam/ServiceAccount\n field: name\n")
-// 12389 bytes
-// MD5: 1a6d79fc0a72c95f6ded368d1c7f12c3
+// 15872 bytes
+// MD5: dabcaecb0113f0b3ff218072f2529ab1
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/cluster.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/cluster.go
index 822a0ada32..455ff99e5d 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/cluster.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/cluster.go
@@ -131,10 +131,11 @@ func (v ClusterStateEnum) Validate() error {
}
type ClusterNetworking struct {
- empty bool `json:"-"`
- VPCId *string `json:"vpcId"`
- PodAddressCidrBlocks []string `json:"podAddressCidrBlocks"`
- ServiceAddressCidrBlocks []string `json:"serviceAddressCidrBlocks"`
+ empty bool `json:"-"`
+ VPCId *string `json:"vpcId"`
+ PodAddressCidrBlocks []string `json:"podAddressCidrBlocks"`
+ ServiceAddressCidrBlocks []string `json:"serviceAddressCidrBlocks"`
+ PerNodePoolSgRulesDisabled *bool `json:"perNodePoolSgRulesDisabled"`
}
type jsonClusterNetworking ClusterNetworking
@@ -158,6 +159,8 @@ func (r *ClusterNetworking) UnmarshalJSON(data []byte) error {
r.ServiceAddressCidrBlocks = res.ServiceAddressCidrBlocks
+ r.PerNodePoolSgRulesDisabled = res.PerNodePoolSgRulesDisabled
+
}
return nil
}
@@ -361,6 +364,7 @@ type ClusterControlPlaneRootVolume struct {
SizeGib *int64 `json:"sizeGib"`
VolumeType *ClusterControlPlaneRootVolumeVolumeTypeEnum `json:"volumeType"`
Iops *int64 `json:"iops"`
+ Throughput *int64 `json:"throughput"`
KmsKeyArn *string `json:"kmsKeyArn"`
}
@@ -385,6 +389,8 @@ func (r *ClusterControlPlaneRootVolume) UnmarshalJSON(data []byte) error {
r.Iops = res.Iops
+ r.Throughput = res.Throughput
+
r.KmsKeyArn = res.KmsKeyArn
}
@@ -416,6 +422,7 @@ type ClusterControlPlaneMainVolume struct {
SizeGib *int64 `json:"sizeGib"`
VolumeType *ClusterControlPlaneMainVolumeVolumeTypeEnum `json:"volumeType"`
Iops *int64 `json:"iops"`
+ Throughput *int64 `json:"throughput"`
KmsKeyArn *string `json:"kmsKeyArn"`
}
@@ -440,6 +447,8 @@ func (r *ClusterControlPlaneMainVolume) UnmarshalJSON(data []byte) error {
r.Iops = res.Iops
+ r.Throughput = res.Throughput
+
r.KmsKeyArn = res.KmsKeyArn
}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/cluster.yaml b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/cluster.yaml
index 67e283956d..c43e54d145 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/cluster.yaml
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/cluster.yaml
@@ -239,6 +239,14 @@ components:
parent resource.
x-kubernetes-immutable: true
x-dcl-server-default: true
+ throughput:
+ type: integer
+ format: int64
+ x-dcl-go-name: Throughput
+ description: Optional. The throughput to provision for the volume,
+ in MiB/s. Only valid if the volume type is GP3.
+ x-kubernetes-immutable: true
+ x-dcl-server-default: true
volumeType:
type: string
x-dcl-go-name: VolumeType
@@ -303,6 +311,13 @@ components:
a default value is provided. See the specific reference in the
parent resource.
x-dcl-server-default: true
+ throughput:
+ type: integer
+ format: int64
+ x-dcl-go-name: Throughput
+ description: Optional. The throughput to provision for the volume,
+ in MiB/s. Only valid if the volume type is GP3.
+ x-dcl-server-default: true
volumeType:
type: string
x-dcl-go-name: VolumeType
@@ -436,12 +451,19 @@ components:
x-dcl-go-name: Networking
x-dcl-go-type: ClusterNetworking
description: Cluster-wide networking configuration.
- x-kubernetes-immutable: true
required:
- vpcId
- podAddressCidrBlocks
- serviceAddressCidrBlocks
properties:
+ perNodePoolSgRulesDisabled:
+ type: boolean
+ x-dcl-go-name: PerNodePoolSgRulesDisabled
+ description: Disable the per node pool subnet security group rules on
+ the control plane security group. When set to true, you must also
+ provide one or more security groups that ensure node pools are able
+ to send requests to the control plane on TCP/443 and TCP/8132. Failure
+ to do so may result in unavailable node pools.
podAddressCidrBlocks:
type: array
x-dcl-go-name: PodAddressCidrBlocks
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/cluster_internal.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/cluster_internal.go
index 3e425f8e1f..0da05b3dc7 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/cluster_internal.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/cluster_internal.go
@@ -271,6 +271,11 @@ func newUpdateClusterUpdateAwsClusterRequest(ctx context.Context, f *Cluster, c
if v := f.Description; !dcl.IsEmptyValueIndirect(v) {
req["description"] = v
}
+ if v, err := expandClusterNetworking(c, f.Networking, res); err != nil {
+ return nil, fmt.Errorf("error expanding Networking into networking: %w", err)
+ } else if !dcl.IsEmptyValueIndirect(v) {
+ req["networking"] = v
+ }
if v, err := expandClusterControlPlane(c, f.ControlPlane, res); err != nil {
return nil, fmt.Errorf("error expanding ControlPlane into controlPlane: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
@@ -820,6 +825,11 @@ func canonicalizeClusterNetworking(des, initial *ClusterNetworking, opts ...dcl.
} else {
cDes.ServiceAddressCidrBlocks = des.ServiceAddressCidrBlocks
}
+ if dcl.BoolCanonicalize(des.PerNodePoolSgRulesDisabled, initial.PerNodePoolSgRulesDisabled) || dcl.IsZeroValue(des.PerNodePoolSgRulesDisabled) {
+ cDes.PerNodePoolSgRulesDisabled = initial.PerNodePoolSgRulesDisabled
+ } else {
+ cDes.PerNodePoolSgRulesDisabled = des.PerNodePoolSgRulesDisabled
+ }
return cDes
}
@@ -875,6 +885,9 @@ func canonicalizeNewClusterNetworking(c *Client, des, nw *ClusterNetworking) *Cl
if dcl.StringArrayCanonicalize(des.ServiceAddressCidrBlocks, nw.ServiceAddressCidrBlocks) {
nw.ServiceAddressCidrBlocks = des.ServiceAddressCidrBlocks
}
+ if dcl.BoolCanonicalize(des.PerNodePoolSgRulesDisabled, nw.PerNodePoolSgRulesDisabled) {
+ nw.PerNodePoolSgRulesDisabled = des.PerNodePoolSgRulesDisabled
+ }
return nw
}
@@ -1363,6 +1376,12 @@ func canonicalizeClusterControlPlaneRootVolume(des, initial *ClusterControlPlane
} else {
cDes.Iops = des.Iops
}
+ if dcl.IsZeroValue(des.Throughput) || (dcl.IsEmptyValueIndirect(des.Throughput) && dcl.IsEmptyValueIndirect(initial.Throughput)) {
+ // Desired and initial values are equivalent, so set canonical desired value to initial value.
+ cDes.Throughput = initial.Throughput
+ } else {
+ cDes.Throughput = des.Throughput
+ }
if dcl.StringCanonicalize(des.KmsKeyArn, initial.KmsKeyArn) || dcl.IsZeroValue(des.KmsKeyArn) {
cDes.KmsKeyArn = initial.KmsKeyArn
} else {
@@ -1499,6 +1518,12 @@ func canonicalizeClusterControlPlaneMainVolume(des, initial *ClusterControlPlane
} else {
cDes.Iops = des.Iops
}
+ if dcl.IsZeroValue(des.Throughput) || (dcl.IsEmptyValueIndirect(des.Throughput) && dcl.IsEmptyValueIndirect(initial.Throughput)) {
+ // Desired and initial values are equivalent, so set canonical desired value to initial value.
+ cDes.Throughput = initial.Throughput
+ } else {
+ cDes.Throughput = des.Throughput
+ }
if dcl.StringCanonicalize(des.KmsKeyArn, initial.KmsKeyArn) || dcl.IsZeroValue(des.KmsKeyArn) {
cDes.KmsKeyArn = initial.KmsKeyArn
} else {
@@ -2647,6 +2672,13 @@ func compareClusterNetworkingNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dc
}
diffs = append(diffs, ds...)
}
+
+ if ds, err := dcl.Diff(desired.PerNodePoolSgRulesDisabled, actual.PerNodePoolSgRulesDisabled, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateClusterUpdateAwsClusterOperation")}, fn.AddNest("PerNodePoolSgRulesDisabled")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
return diffs, nil
}
@@ -2862,6 +2894,13 @@ func compareClusterControlPlaneRootVolumeNewStyle(d, a interface{}, fn dcl.Field
diffs = append(diffs, ds...)
}
+ if ds, err := dcl.Diff(desired.Throughput, actual.Throughput, dcl.DiffInfo{ServerDefault: true, OperationSelector: dcl.TriggersOperation("updateClusterUpdateAwsClusterOperation")}, fn.AddNest("Throughput")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
if ds, err := dcl.Diff(desired.KmsKeyArn, actual.KmsKeyArn, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateClusterUpdateAwsClusterOperation")}, fn.AddNest("KmsKeyArn")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
@@ -2912,6 +2951,13 @@ func compareClusterControlPlaneMainVolumeNewStyle(d, a interface{}, fn dcl.Field
diffs = append(diffs, ds...)
}
+ if ds, err := dcl.Diff(desired.Throughput, actual.Throughput, dcl.DiffInfo{ServerDefault: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Throughput")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
if ds, err := dcl.Diff(desired.KmsKeyArn, actual.KmsKeyArn, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("KmsKeyArn")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
@@ -3405,6 +3451,9 @@ func expandClusterNetworking(c *Client, f *ClusterNetworking, res *Cluster) (map
if v := f.ServiceAddressCidrBlocks; v != nil {
m["serviceAddressCidrBlocks"] = v
}
+ if v := f.PerNodePoolSgRulesDisabled; !dcl.IsEmptyValueIndirect(v) {
+ m["perNodePoolSgRulesDisabled"] = v
+ }
return m, nil
}
@@ -3425,6 +3474,7 @@ func flattenClusterNetworking(c *Client, i interface{}, res *Cluster) *ClusterNe
r.VPCId = dcl.FlattenString(m["vpcId"])
r.PodAddressCidrBlocks = dcl.FlattenStringSlice(m["podAddressCidrBlocks"])
r.ServiceAddressCidrBlocks = dcl.FlattenStringSlice(m["serviceAddressCidrBlocks"])
+ r.PerNodePoolSgRulesDisabled = dcl.FlattenBool(m["perNodePoolSgRulesDisabled"])
return r
}
@@ -3931,6 +3981,9 @@ func expandClusterControlPlaneRootVolume(c *Client, f *ClusterControlPlaneRootVo
if v := f.Iops; !dcl.IsEmptyValueIndirect(v) {
m["iops"] = v
}
+ if v := f.Throughput; !dcl.IsEmptyValueIndirect(v) {
+ m["throughput"] = v
+ }
if v := f.KmsKeyArn; !dcl.IsEmptyValueIndirect(v) {
m["kmsKeyArn"] = v
}
@@ -3954,6 +4007,7 @@ func flattenClusterControlPlaneRootVolume(c *Client, i interface{}, res *Cluster
r.SizeGib = dcl.FlattenInteger(m["sizeGib"])
r.VolumeType = flattenClusterControlPlaneRootVolumeVolumeTypeEnum(m["volumeType"])
r.Iops = dcl.FlattenInteger(m["iops"])
+ r.Throughput = dcl.FlattenInteger(m["throughput"])
r.KmsKeyArn = dcl.FlattenString(m["kmsKeyArn"])
return r
@@ -4057,6 +4111,9 @@ func expandClusterControlPlaneMainVolume(c *Client, f *ClusterControlPlaneMainVo
if v := f.Iops; !dcl.IsEmptyValueIndirect(v) {
m["iops"] = v
}
+ if v := f.Throughput; !dcl.IsEmptyValueIndirect(v) {
+ m["throughput"] = v
+ }
if v := f.KmsKeyArn; !dcl.IsEmptyValueIndirect(v) {
m["kmsKeyArn"] = v
}
@@ -4080,6 +4137,7 @@ func flattenClusterControlPlaneMainVolume(c *Client, i interface{}, res *Cluster
r.SizeGib = dcl.FlattenInteger(m["sizeGib"])
r.VolumeType = flattenClusterControlPlaneMainVolumeVolumeTypeEnum(m["volumeType"])
r.Iops = dcl.FlattenInteger(m["iops"])
+ r.Throughput = dcl.FlattenInteger(m["throughput"])
r.KmsKeyArn = dcl.FlattenString(m["kmsKeyArn"])
return r
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/cluster_schema.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/cluster_schema.go
index 5533a62ec9..5106d51930 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/cluster_schema.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/cluster_schema.go
@@ -281,6 +281,14 @@ func DCLClusterSchema() *dcl.Schema {
Immutable: true,
ServerDefault: true,
},
+ "throughput": &dcl.Property{
+ Type: "integer",
+ Format: "int64",
+ GoName: "Throughput",
+ Description: "Optional. The throughput to provision for the volume, in MiB/s. Only valid if the volume type is GP3.",
+ Immutable: true,
+ ServerDefault: true,
+ },
"volumeType": &dcl.Property{
Type: "string",
GoName: "VolumeType",
@@ -344,6 +352,13 @@ func DCLClusterSchema() *dcl.Schema {
Description: "Optional. The size of the volume, in GiBs. When unspecified, a default value is provided. See the specific reference in the parent resource.",
ServerDefault: true,
},
+ "throughput": &dcl.Property{
+ Type: "integer",
+ Format: "int64",
+ GoName: "Throughput",
+ Description: "Optional. The throughput to provision for the volume, in MiB/s. Only valid if the volume type is GP3.",
+ ServerDefault: true,
+ },
"volumeType": &dcl.Property{
Type: "string",
GoName: "VolumeType",
@@ -488,13 +503,17 @@ func DCLClusterSchema() *dcl.Schema {
GoName: "Networking",
GoType: "ClusterNetworking",
Description: "Cluster-wide networking configuration.",
- Immutable: true,
Required: []string{
"vpcId",
"podAddressCidrBlocks",
"serviceAddressCidrBlocks",
},
Properties: map[string]*dcl.Property{
+ "perNodePoolSgRulesDisabled": &dcl.Property{
+ Type: "boolean",
+ GoName: "PerNodePoolSgRulesDisabled",
+ Description: "Disable the per node pool subnet security group rules on the control plane security group. When set to true, you must also provide one or more security groups that ensure node pools are able to send requests to the control plane on TCP/443 and TCP/8132. Failure to do so may result in unavailable node pools.",
+ },
"podAddressCidrBlocks": &dcl.Property{
Type: "array",
GoName: "PodAddressCidrBlocks",
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/cluster_yaml_embed.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/cluster_yaml_embed.go
index 4532511023..eb94921acd 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/cluster_yaml_embed.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/cluster_yaml_embed.go
@@ -17,7 +17,7 @@
package containeraws
// blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/containeraws/cluster.yaml
-var YAML_cluster = []byte("info:\n title: ContainerAws/Cluster\n description: An Anthos cluster running on AWS.\n x-dcl-struct-name: Cluster\n x-dcl-has-iam: false\n x-dcl-ref:\n text: API reference\n url: https://cloud.google.com/anthos/clusters/docs/multi-cloud/reference/rest/v1/projects.locations.awsClusters\n x-dcl-guides:\n - text: Multicloud overview\n url: https://cloud.google.com/anthos/clusters/docs/multi-cloud\npaths:\n get:\n description: The function used to get information about a Cluster\n parameters:\n - name: cluster\n required: true\n description: A full instance of a Cluster\n apply:\n description: The function used to apply information about a Cluster\n parameters:\n - name: cluster\n required: true\n description: A full instance of a Cluster\n delete:\n description: The function used to delete a Cluster\n parameters:\n - name: cluster\n required: true\n description: A full instance of a Cluster\n deleteAll:\n description: The function used to delete all Cluster\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many Cluster\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n Cluster:\n title: Cluster\n x-dcl-id: projects/{{project}}/locations/{{location}}/awsClusters/{{name}}\n x-dcl-parent-container: project\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - networking\n - awsRegion\n - controlPlane\n - authorization\n - project\n - location\n - fleet\n properties:\n annotations:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Annotations\n description: 'Optional. Annotations on the cluster. This field has the same\n restrictions as Kubernetes annotations. The total size of all keys and\n values combined is limited to 256k. Key can have 2 segments: prefix (optional)\n and name (required), separated by a slash (/). Prefix must be a DNS subdomain.\n Name must be 63 characters or less, begin and end with alphanumerics,\n with dashes (-), underscores (_), dots (.), and alphanumerics between.'\n authorization:\n type: object\n x-dcl-go-name: Authorization\n x-dcl-go-type: ClusterAuthorization\n description: Configuration related to the cluster RBAC settings.\n required:\n - adminUsers\n properties:\n adminUsers:\n type: array\n x-dcl-go-name: AdminUsers\n description: Users to perform operations as a cluster admin. A managed\n ClusterRoleBinding will be created to grant the `cluster-admin` ClusterRole\n to the users. Up to ten admin users can be provided. For more info\n on RBAC, see https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: ClusterAuthorizationAdminUsers\n required:\n - username\n properties:\n username:\n type: string\n x-dcl-go-name: Username\n description: The name of the user, e.g. `my-gcp-id@gmail.com`.\n awsRegion:\n type: string\n x-dcl-go-name: AwsRegion\n description: The AWS region where the cluster runs. Each Google Cloud region\n supports a subset of nearby AWS regions. You can call to list all supported\n AWS regions within a given Google Cloud region.\n x-kubernetes-immutable: true\n controlPlane:\n type: object\n x-dcl-go-name: ControlPlane\n x-dcl-go-type: ClusterControlPlane\n description: Configuration related to the cluster control plane.\n required:\n - version\n - subnetIds\n - configEncryption\n - iamInstanceProfile\n - databaseEncryption\n - awsServicesAuthentication\n properties:\n awsServicesAuthentication:\n type: object\n x-dcl-go-name: AwsServicesAuthentication\n x-dcl-go-type: ClusterControlPlaneAwsServicesAuthentication\n description: Authentication configuration for management of AWS resources.\n required:\n - roleArn\n properties:\n roleArn:\n type: string\n x-dcl-go-name: RoleArn\n description: The Amazon Resource Name (ARN) of the role that the\n Anthos Multi-Cloud API will assume when managing AWS resources\n on your account.\n roleSessionName:\n type: string\n x-dcl-go-name: RoleSessionName\n description: Optional. An identifier for the assumed role session.\n When unspecified, it defaults to `multicloud-service-agent`.\n x-dcl-server-default: true\n configEncryption:\n type: object\n x-dcl-go-name: ConfigEncryption\n x-dcl-go-type: ClusterControlPlaneConfigEncryption\n description: The ARN of the AWS KMS key used to encrypt cluster configuration.\n required:\n - kmsKeyArn\n properties:\n kmsKeyArn:\n type: string\n x-dcl-go-name: KmsKeyArn\n description: The ARN of the AWS KMS key used to encrypt cluster\n configuration.\n databaseEncryption:\n type: object\n x-dcl-go-name: DatabaseEncryption\n x-dcl-go-type: ClusterControlPlaneDatabaseEncryption\n description: The ARN of the AWS KMS key used to encrypt cluster secrets.\n x-kubernetes-immutable: true\n required:\n - kmsKeyArn\n properties:\n kmsKeyArn:\n type: string\n x-dcl-go-name: KmsKeyArn\n description: The ARN of the AWS KMS key used to encrypt cluster\n secrets.\n x-kubernetes-immutable: true\n iamInstanceProfile:\n type: string\n x-dcl-go-name: IamInstanceProfile\n description: The name of the AWS IAM instance pofile to assign to each\n control plane replica.\n instanceType:\n type: string\n x-dcl-go-name: InstanceType\n description: Optional. The AWS instance type. When unspecified, it defaults\n to `m5.large`.\n x-dcl-server-default: true\n mainVolume:\n type: object\n x-dcl-go-name: MainVolume\n x-dcl-go-type: ClusterControlPlaneMainVolume\n description: Optional. Configuration related to the main volume provisioned\n for each control plane replica. The main volume is in charge of storing\n all of the cluster's etcd state. Volumes will be provisioned in the\n availability zone associated with the corresponding subnet. When unspecified,\n it defaults to 8 GiB with the GP2 volume type.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n iops:\n type: integer\n format: int64\n x-dcl-go-name: Iops\n description: Optional. The number of I/O operations per second (IOPS)\n to provision for GP3 volume.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n kmsKeyArn:\n type: string\n x-dcl-go-name: KmsKeyArn\n description: Optional. The Amazon Resource Name (ARN) of the Customer\n Managed Key (CMK) used to encrypt AWS EBS volumes. If not specified,\n the default Amazon managed key associated to the AWS region where\n this cluster runs will be used.\n x-kubernetes-immutable: true\n sizeGib:\n type: integer\n format: int64\n x-dcl-go-name: SizeGib\n description: Optional. The size of the volume, in GiBs. When unspecified,\n a default value is provided. See the specific reference in the\n parent resource.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n volumeType:\n type: string\n x-dcl-go-name: VolumeType\n x-dcl-go-type: ClusterControlPlaneMainVolumeVolumeTypeEnum\n description: 'Optional. Type of the EBS volume. When unspecified,\n it defaults to GP2 volume. Possible values: VOLUME_TYPE_UNSPECIFIED,\n GP2, GP3'\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n enum:\n - VOLUME_TYPE_UNSPECIFIED\n - GP2\n - GP3\n proxyConfig:\n type: object\n x-dcl-go-name: ProxyConfig\n x-dcl-go-type: ClusterControlPlaneProxyConfig\n description: Proxy configuration for outbound HTTP(S) traffic.\n required:\n - secretArn\n - secretVersion\n properties:\n secretArn:\n type: string\n x-dcl-go-name: SecretArn\n description: The ARN of the AWS Secret Manager secret that contains\n the HTTP(S) proxy configuration.\n secretVersion:\n type: string\n x-dcl-go-name: SecretVersion\n description: The version string of the AWS Secret Manager secret\n that contains the HTTP(S) proxy configuration.\n rootVolume:\n type: object\n x-dcl-go-name: RootVolume\n x-dcl-go-type: ClusterControlPlaneRootVolume\n description: Optional. Configuration related to the root volume provisioned\n for each control plane replica. Volumes will be provisioned in the\n availability zone associated with the corresponding subnet. When unspecified,\n it defaults to 32 GiB with the GP2 volume type.\n x-dcl-server-default: true\n properties:\n iops:\n type: integer\n format: int64\n x-dcl-go-name: Iops\n description: Optional. The number of I/O operations per second (IOPS)\n to provision for GP3 volume.\n x-dcl-server-default: true\n kmsKeyArn:\n type: string\n x-dcl-go-name: KmsKeyArn\n description: Optional. The Amazon Resource Name (ARN) of the Customer\n Managed Key (CMK) used to encrypt AWS EBS volumes. If not specified,\n the default Amazon managed key associated to the AWS region where\n this cluster runs will be used.\n sizeGib:\n type: integer\n format: int64\n x-dcl-go-name: SizeGib\n description: Optional. The size of the volume, in GiBs. When unspecified,\n a default value is provided. See the specific reference in the\n parent resource.\n x-dcl-server-default: true\n volumeType:\n type: string\n x-dcl-go-name: VolumeType\n x-dcl-go-type: ClusterControlPlaneRootVolumeVolumeTypeEnum\n description: 'Optional. Type of the EBS volume. When unspecified,\n it defaults to GP2 volume. Possible values: VOLUME_TYPE_UNSPECIFIED,\n GP2, GP3'\n x-dcl-server-default: true\n enum:\n - VOLUME_TYPE_UNSPECIFIED\n - GP2\n - GP3\n securityGroupIds:\n type: array\n x-dcl-go-name: SecurityGroupIds\n description: Optional. The IDs of additional security groups to add\n to control plane replicas. The Anthos Multi-Cloud API will automatically\n create and manage security groups with the minimum rules needed for\n a functioning cluster.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n sshConfig:\n type: object\n x-dcl-go-name: SshConfig\n x-dcl-go-type: ClusterControlPlaneSshConfig\n description: Optional. SSH configuration for how to access the underlying\n control plane machines.\n required:\n - ec2KeyPair\n properties:\n ec2KeyPair:\n type: string\n x-dcl-go-name: Ec2KeyPair\n description: The name of the EC2 key pair used to login into cluster\n machines.\n subnetIds:\n type: array\n x-dcl-go-name: SubnetIds\n description: The list of subnets where control plane replicas will run.\n A replica will be provisioned on each subnet and up to three values\n can be provided. Each subnet must be in a different AWS Availability\n Zone (AZ).\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n tags:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Tags\n description: Optional. A set of AWS resource tags to propagate to all\n underlying managed AWS resources. Specify at most 50 pairs containing\n alphanumerics, spaces, and symbols (.+-=_:@/). Keys can be up to 127\n Unicode characters. Values can be up to 255 Unicode characters.\n version:\n type: string\n x-dcl-go-name: Version\n description: The Kubernetes version to run on control plane replicas\n (e.g. `1.19.10-gke.1000`). You can list all supported versions on\n a given Google Cloud region by calling .\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Output only. The time at which this cluster was created.\n x-kubernetes-immutable: true\n description:\n type: string\n x-dcl-go-name: Description\n description: Optional. A human readable description of this cluster. Cannot\n be longer than 255 UTF-8 encoded bytes.\n endpoint:\n type: string\n x-dcl-go-name: Endpoint\n readOnly: true\n description: Output only. The endpoint of the cluster's API server.\n x-kubernetes-immutable: true\n etag:\n type: string\n x-dcl-go-name: Etag\n readOnly: true\n description: Allows clients to perform consistent read-modify-writes through\n optimistic concurrency control. May be sent on update and delete requests\n to ensure the client has an up-to-date value before proceeding.\n x-kubernetes-immutable: true\n fleet:\n type: object\n x-dcl-go-name: Fleet\n x-dcl-go-type: ClusterFleet\n description: Fleet configuration.\n x-kubernetes-immutable: true\n required:\n - project\n properties:\n membership:\n type: string\n x-dcl-go-name: Membership\n readOnly: true\n description: The name of the managed Hub Membership resource associated\n to this cluster. Membership names are formatted as projects//locations/global/membership/.\n x-kubernetes-immutable: true\n project:\n type: string\n x-dcl-go-name: Project\n description: The number of the Fleet host project where this cluster\n will be registered.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n location:\n type: string\n x-dcl-go-name: Location\n description: The location for the resource\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: The name of this resource.\n x-kubernetes-immutable: true\n networking:\n type: object\n x-dcl-go-name: Networking\n x-dcl-go-type: ClusterNetworking\n description: Cluster-wide networking configuration.\n x-kubernetes-immutable: true\n required:\n - vpcId\n - podAddressCidrBlocks\n - serviceAddressCidrBlocks\n properties:\n podAddressCidrBlocks:\n type: array\n x-dcl-go-name: PodAddressCidrBlocks\n description: All pods in the cluster are assigned an RFC1918 IPv4 address\n from these ranges. Only a single range is supported. This field cannot\n be changed after creation.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n serviceAddressCidrBlocks:\n type: array\n x-dcl-go-name: ServiceAddressCidrBlocks\n description: All services in the cluster are assigned an RFC1918 IPv4\n address from these ranges. Only a single range is supported. This\n field cannot be changed after creation.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n vpcId:\n type: string\n x-dcl-go-name: VPCId\n description: The VPC associated with the cluster. All component clusters\n (i.e. control plane and node pools) run on a single VPC. This field\n cannot be changed after creation.\n x-kubernetes-immutable: true\n project:\n type: string\n x-dcl-go-name: Project\n description: The project for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n reconciling:\n type: boolean\n x-dcl-go-name: Reconciling\n readOnly: true\n description: Output only. If set, there are currently changes in flight\n to the cluster.\n x-kubernetes-immutable: true\n state:\n type: string\n x-dcl-go-name: State\n x-dcl-go-type: ClusterStateEnum\n readOnly: true\n description: 'Output only. The current state of the cluster. Possible values:\n STATE_UNSPECIFIED, PROVISIONING, RUNNING, RECONCILING, STOPPING, ERROR,\n DEGRADED'\n x-kubernetes-immutable: true\n enum:\n - STATE_UNSPECIFIED\n - PROVISIONING\n - RUNNING\n - RECONCILING\n - STOPPING\n - ERROR\n - DEGRADED\n uid:\n type: string\n x-dcl-go-name: Uid\n readOnly: true\n description: Output only. A globally unique identifier for the cluster.\n x-kubernetes-immutable: true\n updateTime:\n type: string\n format: date-time\n x-dcl-go-name: UpdateTime\n readOnly: true\n description: Output only. The time at which this cluster was last updated.\n x-kubernetes-immutable: true\n workloadIdentityConfig:\n type: object\n x-dcl-go-name: WorkloadIdentityConfig\n x-dcl-go-type: ClusterWorkloadIdentityConfig\n readOnly: true\n description: Output only. Workload Identity settings.\n x-kubernetes-immutable: true\n properties:\n identityProvider:\n type: string\n x-dcl-go-name: IdentityProvider\n description: The ID of the OIDC Identity Provider (IdP) associated to\n the Workload Identity Pool.\n x-kubernetes-immutable: true\n issuerUri:\n type: string\n x-dcl-go-name: IssuerUri\n description: The OIDC issuer URL for this cluster.\n x-kubernetes-immutable: true\n workloadPool:\n type: string\n x-dcl-go-name: WorkloadPool\n description: The Workload Identity Pool associated to the cluster.\n x-kubernetes-immutable: true\n")
+var YAML_cluster = []byte("info:\n title: ContainerAws/Cluster\n description: An Anthos cluster running on AWS.\n x-dcl-struct-name: Cluster\n x-dcl-has-iam: false\n x-dcl-ref:\n text: API reference\n url: https://cloud.google.com/anthos/clusters/docs/multi-cloud/reference/rest/v1/projects.locations.awsClusters\n x-dcl-guides:\n - text: Multicloud overview\n url: https://cloud.google.com/anthos/clusters/docs/multi-cloud\npaths:\n get:\n description: The function used to get information about a Cluster\n parameters:\n - name: cluster\n required: true\n description: A full instance of a Cluster\n apply:\n description: The function used to apply information about a Cluster\n parameters:\n - name: cluster\n required: true\n description: A full instance of a Cluster\n delete:\n description: The function used to delete a Cluster\n parameters:\n - name: cluster\n required: true\n description: A full instance of a Cluster\n deleteAll:\n description: The function used to delete all Cluster\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many Cluster\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n Cluster:\n title: Cluster\n x-dcl-id: projects/{{project}}/locations/{{location}}/awsClusters/{{name}}\n x-dcl-parent-container: project\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - networking\n - awsRegion\n - controlPlane\n - authorization\n - project\n - location\n - fleet\n properties:\n annotations:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Annotations\n description: 'Optional. Annotations on the cluster. This field has the same\n restrictions as Kubernetes annotations. The total size of all keys and\n values combined is limited to 256k. Key can have 2 segments: prefix (optional)\n and name (required), separated by a slash (/). Prefix must be a DNS subdomain.\n Name must be 63 characters or less, begin and end with alphanumerics,\n with dashes (-), underscores (_), dots (.), and alphanumerics between.'\n authorization:\n type: object\n x-dcl-go-name: Authorization\n x-dcl-go-type: ClusterAuthorization\n description: Configuration related to the cluster RBAC settings.\n required:\n - adminUsers\n properties:\n adminUsers:\n type: array\n x-dcl-go-name: AdminUsers\n description: Users to perform operations as a cluster admin. A managed\n ClusterRoleBinding will be created to grant the `cluster-admin` ClusterRole\n to the users. Up to ten admin users can be provided. For more info\n on RBAC, see https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: ClusterAuthorizationAdminUsers\n required:\n - username\n properties:\n username:\n type: string\n x-dcl-go-name: Username\n description: The name of the user, e.g. `my-gcp-id@gmail.com`.\n awsRegion:\n type: string\n x-dcl-go-name: AwsRegion\n description: The AWS region where the cluster runs. Each Google Cloud region\n supports a subset of nearby AWS regions. You can call to list all supported\n AWS regions within a given Google Cloud region.\n x-kubernetes-immutable: true\n controlPlane:\n type: object\n x-dcl-go-name: ControlPlane\n x-dcl-go-type: ClusterControlPlane\n description: Configuration related to the cluster control plane.\n required:\n - version\n - subnetIds\n - configEncryption\n - iamInstanceProfile\n - databaseEncryption\n - awsServicesAuthentication\n properties:\n awsServicesAuthentication:\n type: object\n x-dcl-go-name: AwsServicesAuthentication\n x-dcl-go-type: ClusterControlPlaneAwsServicesAuthentication\n description: Authentication configuration for management of AWS resources.\n required:\n - roleArn\n properties:\n roleArn:\n type: string\n x-dcl-go-name: RoleArn\n description: The Amazon Resource Name (ARN) of the role that the\n Anthos Multi-Cloud API will assume when managing AWS resources\n on your account.\n roleSessionName:\n type: string\n x-dcl-go-name: RoleSessionName\n description: Optional. An identifier for the assumed role session.\n When unspecified, it defaults to `multicloud-service-agent`.\n x-dcl-server-default: true\n configEncryption:\n type: object\n x-dcl-go-name: ConfigEncryption\n x-dcl-go-type: ClusterControlPlaneConfigEncryption\n description: The ARN of the AWS KMS key used to encrypt cluster configuration.\n required:\n - kmsKeyArn\n properties:\n kmsKeyArn:\n type: string\n x-dcl-go-name: KmsKeyArn\n description: The ARN of the AWS KMS key used to encrypt cluster\n configuration.\n databaseEncryption:\n type: object\n x-dcl-go-name: DatabaseEncryption\n x-dcl-go-type: ClusterControlPlaneDatabaseEncryption\n description: The ARN of the AWS KMS key used to encrypt cluster secrets.\n x-kubernetes-immutable: true\n required:\n - kmsKeyArn\n properties:\n kmsKeyArn:\n type: string\n x-dcl-go-name: KmsKeyArn\n description: The ARN of the AWS KMS key used to encrypt cluster\n secrets.\n x-kubernetes-immutable: true\n iamInstanceProfile:\n type: string\n x-dcl-go-name: IamInstanceProfile\n description: The name of the AWS IAM instance pofile to assign to each\n control plane replica.\n instanceType:\n type: string\n x-dcl-go-name: InstanceType\n description: Optional. The AWS instance type. When unspecified, it defaults\n to `m5.large`.\n x-dcl-server-default: true\n mainVolume:\n type: object\n x-dcl-go-name: MainVolume\n x-dcl-go-type: ClusterControlPlaneMainVolume\n description: Optional. Configuration related to the main volume provisioned\n for each control plane replica. The main volume is in charge of storing\n all of the cluster's etcd state. Volumes will be provisioned in the\n availability zone associated with the corresponding subnet. When unspecified,\n it defaults to 8 GiB with the GP2 volume type.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n iops:\n type: integer\n format: int64\n x-dcl-go-name: Iops\n description: Optional. The number of I/O operations per second (IOPS)\n to provision for GP3 volume.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n kmsKeyArn:\n type: string\n x-dcl-go-name: KmsKeyArn\n description: Optional. The Amazon Resource Name (ARN) of the Customer\n Managed Key (CMK) used to encrypt AWS EBS volumes. If not specified,\n the default Amazon managed key associated to the AWS region where\n this cluster runs will be used.\n x-kubernetes-immutable: true\n sizeGib:\n type: integer\n format: int64\n x-dcl-go-name: SizeGib\n description: Optional. The size of the volume, in GiBs. When unspecified,\n a default value is provided. See the specific reference in the\n parent resource.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n throughput:\n type: integer\n format: int64\n x-dcl-go-name: Throughput\n description: Optional. The throughput to provision for the volume,\n in MiB/s. Only valid if the volume type is GP3.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n volumeType:\n type: string\n x-dcl-go-name: VolumeType\n x-dcl-go-type: ClusterControlPlaneMainVolumeVolumeTypeEnum\n description: 'Optional. Type of the EBS volume. When unspecified,\n it defaults to GP2 volume. Possible values: VOLUME_TYPE_UNSPECIFIED,\n GP2, GP3'\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n enum:\n - VOLUME_TYPE_UNSPECIFIED\n - GP2\n - GP3\n proxyConfig:\n type: object\n x-dcl-go-name: ProxyConfig\n x-dcl-go-type: ClusterControlPlaneProxyConfig\n description: Proxy configuration for outbound HTTP(S) traffic.\n required:\n - secretArn\n - secretVersion\n properties:\n secretArn:\n type: string\n x-dcl-go-name: SecretArn\n description: The ARN of the AWS Secret Manager secret that contains\n the HTTP(S) proxy configuration.\n secretVersion:\n type: string\n x-dcl-go-name: SecretVersion\n description: The version string of the AWS Secret Manager secret\n that contains the HTTP(S) proxy configuration.\n rootVolume:\n type: object\n x-dcl-go-name: RootVolume\n x-dcl-go-type: ClusterControlPlaneRootVolume\n description: Optional. Configuration related to the root volume provisioned\n for each control plane replica. Volumes will be provisioned in the\n availability zone associated with the corresponding subnet. When unspecified,\n it defaults to 32 GiB with the GP2 volume type.\n x-dcl-server-default: true\n properties:\n iops:\n type: integer\n format: int64\n x-dcl-go-name: Iops\n description: Optional. The number of I/O operations per second (IOPS)\n to provision for GP3 volume.\n x-dcl-server-default: true\n kmsKeyArn:\n type: string\n x-dcl-go-name: KmsKeyArn\n description: Optional. The Amazon Resource Name (ARN) of the Customer\n Managed Key (CMK) used to encrypt AWS EBS volumes. If not specified,\n the default Amazon managed key associated to the AWS region where\n this cluster runs will be used.\n sizeGib:\n type: integer\n format: int64\n x-dcl-go-name: SizeGib\n description: Optional. The size of the volume, in GiBs. When unspecified,\n a default value is provided. See the specific reference in the\n parent resource.\n x-dcl-server-default: true\n throughput:\n type: integer\n format: int64\n x-dcl-go-name: Throughput\n description: Optional. The throughput to provision for the volume,\n in MiB/s. Only valid if the volume type is GP3.\n x-dcl-server-default: true\n volumeType:\n type: string\n x-dcl-go-name: VolumeType\n x-dcl-go-type: ClusterControlPlaneRootVolumeVolumeTypeEnum\n description: 'Optional. Type of the EBS volume. When unspecified,\n it defaults to GP2 volume. Possible values: VOLUME_TYPE_UNSPECIFIED,\n GP2, GP3'\n x-dcl-server-default: true\n enum:\n - VOLUME_TYPE_UNSPECIFIED\n - GP2\n - GP3\n securityGroupIds:\n type: array\n x-dcl-go-name: SecurityGroupIds\n description: Optional. The IDs of additional security groups to add\n to control plane replicas. The Anthos Multi-Cloud API will automatically\n create and manage security groups with the minimum rules needed for\n a functioning cluster.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n sshConfig:\n type: object\n x-dcl-go-name: SshConfig\n x-dcl-go-type: ClusterControlPlaneSshConfig\n description: Optional. SSH configuration for how to access the underlying\n control plane machines.\n required:\n - ec2KeyPair\n properties:\n ec2KeyPair:\n type: string\n x-dcl-go-name: Ec2KeyPair\n description: The name of the EC2 key pair used to login into cluster\n machines.\n subnetIds:\n type: array\n x-dcl-go-name: SubnetIds\n description: The list of subnets where control plane replicas will run.\n A replica will be provisioned on each subnet and up to three values\n can be provided. Each subnet must be in a different AWS Availability\n Zone (AZ).\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n tags:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Tags\n description: Optional. A set of AWS resource tags to propagate to all\n underlying managed AWS resources. Specify at most 50 pairs containing\n alphanumerics, spaces, and symbols (.+-=_:@/). Keys can be up to 127\n Unicode characters. Values can be up to 255 Unicode characters.\n version:\n type: string\n x-dcl-go-name: Version\n description: The Kubernetes version to run on control plane replicas\n (e.g. `1.19.10-gke.1000`). You can list all supported versions on\n a given Google Cloud region by calling .\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Output only. The time at which this cluster was created.\n x-kubernetes-immutable: true\n description:\n type: string\n x-dcl-go-name: Description\n description: Optional. A human readable description of this cluster. Cannot\n be longer than 255 UTF-8 encoded bytes.\n endpoint:\n type: string\n x-dcl-go-name: Endpoint\n readOnly: true\n description: Output only. The endpoint of the cluster's API server.\n x-kubernetes-immutable: true\n etag:\n type: string\n x-dcl-go-name: Etag\n readOnly: true\n description: Allows clients to perform consistent read-modify-writes through\n optimistic concurrency control. May be sent on update and delete requests\n to ensure the client has an up-to-date value before proceeding.\n x-kubernetes-immutable: true\n fleet:\n type: object\n x-dcl-go-name: Fleet\n x-dcl-go-type: ClusterFleet\n description: Fleet configuration.\n x-kubernetes-immutable: true\n required:\n - project\n properties:\n membership:\n type: string\n x-dcl-go-name: Membership\n readOnly: true\n description: The name of the managed Hub Membership resource associated\n to this cluster. Membership names are formatted as projects//locations/global/membership/.\n x-kubernetes-immutable: true\n project:\n type: string\n x-dcl-go-name: Project\n description: The number of the Fleet host project where this cluster\n will be registered.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n location:\n type: string\n x-dcl-go-name: Location\n description: The location for the resource\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: The name of this resource.\n x-kubernetes-immutable: true\n networking:\n type: object\n x-dcl-go-name: Networking\n x-dcl-go-type: ClusterNetworking\n description: Cluster-wide networking configuration.\n required:\n - vpcId\n - podAddressCidrBlocks\n - serviceAddressCidrBlocks\n properties:\n perNodePoolSgRulesDisabled:\n type: boolean\n x-dcl-go-name: PerNodePoolSgRulesDisabled\n description: Disable the per node pool subnet security group rules on\n the control plane security group. When set to true, you must also\n provide one or more security groups that ensure node pools are able\n to send requests to the control plane on TCP/443 and TCP/8132. Failure\n to do so may result in unavailable node pools.\n podAddressCidrBlocks:\n type: array\n x-dcl-go-name: PodAddressCidrBlocks\n description: All pods in the cluster are assigned an RFC1918 IPv4 address\n from these ranges. Only a single range is supported. This field cannot\n be changed after creation.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n serviceAddressCidrBlocks:\n type: array\n x-dcl-go-name: ServiceAddressCidrBlocks\n description: All services in the cluster are assigned an RFC1918 IPv4\n address from these ranges. Only a single range is supported. This\n field cannot be changed after creation.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n vpcId:\n type: string\n x-dcl-go-name: VPCId\n description: The VPC associated with the cluster. All component clusters\n (i.e. control plane and node pools) run on a single VPC. This field\n cannot be changed after creation.\n x-kubernetes-immutable: true\n project:\n type: string\n x-dcl-go-name: Project\n description: The project for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n reconciling:\n type: boolean\n x-dcl-go-name: Reconciling\n readOnly: true\n description: Output only. If set, there are currently changes in flight\n to the cluster.\n x-kubernetes-immutable: true\n state:\n type: string\n x-dcl-go-name: State\n x-dcl-go-type: ClusterStateEnum\n readOnly: true\n description: 'Output only. The current state of the cluster. Possible values:\n STATE_UNSPECIFIED, PROVISIONING, RUNNING, RECONCILING, STOPPING, ERROR,\n DEGRADED'\n x-kubernetes-immutable: true\n enum:\n - STATE_UNSPECIFIED\n - PROVISIONING\n - RUNNING\n - RECONCILING\n - STOPPING\n - ERROR\n - DEGRADED\n uid:\n type: string\n x-dcl-go-name: Uid\n readOnly: true\n description: Output only. A globally unique identifier for the cluster.\n x-kubernetes-immutable: true\n updateTime:\n type: string\n format: date-time\n x-dcl-go-name: UpdateTime\n readOnly: true\n description: Output only. The time at which this cluster was last updated.\n x-kubernetes-immutable: true\n workloadIdentityConfig:\n type: object\n x-dcl-go-name: WorkloadIdentityConfig\n x-dcl-go-type: ClusterWorkloadIdentityConfig\n readOnly: true\n description: Output only. Workload Identity settings.\n x-kubernetes-immutable: true\n properties:\n identityProvider:\n type: string\n x-dcl-go-name: IdentityProvider\n description: The ID of the OIDC Identity Provider (IdP) associated to\n the Workload Identity Pool.\n x-kubernetes-immutable: true\n issuerUri:\n type: string\n x-dcl-go-name: IssuerUri\n description: The OIDC issuer URL for this cluster.\n x-kubernetes-immutable: true\n workloadPool:\n type: string\n x-dcl-go-name: WorkloadPool\n description: The Workload Identity Pool associated to the cluster.\n x-kubernetes-immutable: true\n")
-// 22013 bytes
-// MD5: 84a665658f5d4d70eb594e7863a50bd9
+// 23213 bytes
+// MD5: 4575d82194b229624a2afc1a80a7d7f3
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/node_pool.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/node_pool.go
index 83fa158104..691ea31f09 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/node_pool.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/node_pool.go
@@ -209,6 +209,7 @@ type NodePoolConfigRootVolume struct {
SizeGib *int64 `json:"sizeGib"`
VolumeType *NodePoolConfigRootVolumeVolumeTypeEnum `json:"volumeType"`
Iops *int64 `json:"iops"`
+ Throughput *int64 `json:"throughput"`
KmsKeyArn *string `json:"kmsKeyArn"`
}
@@ -233,6 +234,8 @@ func (r *NodePoolConfigRootVolume) UnmarshalJSON(data []byte) error {
r.Iops = res.Iops
+ r.Throughput = res.Throughput
+
r.KmsKeyArn = res.KmsKeyArn
}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/node_pool.yaml b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/node_pool.yaml
index 3c44a0fbfd..7be2709e7f 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/node_pool.yaml
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/node_pool.yaml
@@ -255,6 +255,13 @@ components:
a default value is provided. See the specific reference in the
parent resource.
x-dcl-server-default: true
+ throughput:
+ type: integer
+ format: int64
+ x-dcl-go-name: Throughput
+ description: Optional. The throughput to provision for the volume,
+ in MiB/s. Only valid if the volume type is GP3.
+ x-dcl-server-default: true
volumeType:
type: string
x-dcl-go-name: VolumeType
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/node_pool_internal.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/node_pool_internal.go
index dfd7129dc8..7cd0b8eff9 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/node_pool_internal.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/node_pool_internal.go
@@ -926,6 +926,12 @@ func canonicalizeNodePoolConfigRootVolume(des, initial *NodePoolConfigRootVolume
} else {
cDes.Iops = des.Iops
}
+ if dcl.IsZeroValue(des.Throughput) || (dcl.IsEmptyValueIndirect(des.Throughput) && dcl.IsEmptyValueIndirect(initial.Throughput)) {
+ // Desired and initial values are equivalent, so set canonical desired value to initial value.
+ cDes.Throughput = initial.Throughput
+ } else {
+ cDes.Throughput = des.Throughput
+ }
if dcl.StringCanonicalize(des.KmsKeyArn, initial.KmsKeyArn) || dcl.IsZeroValue(des.KmsKeyArn) {
cDes.KmsKeyArn = initial.KmsKeyArn
} else {
@@ -2161,6 +2167,13 @@ func compareNodePoolConfigRootVolumeNewStyle(d, a interface{}, fn dcl.FieldName)
diffs = append(diffs, ds...)
}
+ if ds, err := dcl.Diff(desired.Throughput, actual.Throughput, dcl.DiffInfo{ServerDefault: true, OperationSelector: dcl.TriggersOperation("updateNodePoolUpdateAwsNodePoolOperation")}, fn.AddNest("Throughput")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
+
if ds, err := dcl.Diff(desired.KmsKeyArn, actual.KmsKeyArn, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateNodePoolUpdateAwsNodePoolOperation")}, fn.AddNest("KmsKeyArn")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
@@ -2819,6 +2832,9 @@ func expandNodePoolConfigRootVolume(c *Client, f *NodePoolConfigRootVolume, res
if v := f.Iops; !dcl.IsEmptyValueIndirect(v) {
m["iops"] = v
}
+ if v := f.Throughput; !dcl.IsEmptyValueIndirect(v) {
+ m["throughput"] = v
+ }
if v := f.KmsKeyArn; !dcl.IsEmptyValueIndirect(v) {
m["kmsKeyArn"] = v
}
@@ -2842,6 +2858,7 @@ func flattenNodePoolConfigRootVolume(c *Client, i interface{}, res *NodePool) *N
r.SizeGib = dcl.FlattenInteger(m["sizeGib"])
r.VolumeType = flattenNodePoolConfigRootVolumeVolumeTypeEnum(m["volumeType"])
r.Iops = dcl.FlattenInteger(m["iops"])
+ r.Throughput = dcl.FlattenInteger(m["throughput"])
r.KmsKeyArn = dcl.FlattenString(m["kmsKeyArn"])
return r
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/node_pool_schema.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/node_pool_schema.go
index df45383362..5494b7e50b 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/node_pool_schema.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/node_pool_schema.go
@@ -306,6 +306,13 @@ func DCLNodePoolSchema() *dcl.Schema {
Description: "Optional. The size of the volume, in GiBs. When unspecified, a default value is provided. See the specific reference in the parent resource.",
ServerDefault: true,
},
+ "throughput": &dcl.Property{
+ Type: "integer",
+ Format: "int64",
+ GoName: "Throughput",
+ Description: "Optional. The throughput to provision for the volume, in MiB/s. Only valid if the volume type is GP3.",
+ ServerDefault: true,
+ },
"volumeType": &dcl.Property{
Type: "string",
GoName: "VolumeType",
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/node_pool_yaml_embed.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/node_pool_yaml_embed.go
index b922755d70..8b45239b8a 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/node_pool_yaml_embed.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/containeraws/node_pool_yaml_embed.go
@@ -17,7 +17,7 @@
package containeraws
// blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/containeraws/node_pool.yaml
-var YAML_node_pool = []byte("info:\n title: ContainerAws/NodePool\n description: An Anthos node pool running on AWS.\n x-dcl-struct-name: NodePool\n x-dcl-has-iam: false\n x-dcl-ref:\n text: API reference\n url: https://cloud.google.com/anthos/clusters/docs/multi-cloud/reference/rest/v1/projects.locations.awsClusters.awsNodePools\n x-dcl-guides:\n - text: Multicloud overview\n url: https://cloud.google.com/anthos/clusters/docs/multi-cloud\npaths:\n get:\n description: The function used to get information about a NodePool\n parameters:\n - name: nodePool\n required: true\n description: A full instance of a NodePool\n apply:\n description: The function used to apply information about a NodePool\n parameters:\n - name: nodePool\n required: true\n description: A full instance of a NodePool\n delete:\n description: The function used to delete a NodePool\n parameters:\n - name: nodePool\n required: true\n description: A full instance of a NodePool\n deleteAll:\n description: The function used to delete all NodePool\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n - name: cluster\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many NodePool\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n - name: cluster\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n NodePool:\n title: NodePool\n x-dcl-id: projects/{{project}}/locations/{{location}}/awsClusters/{{cluster}}/awsNodePools/{{name}}\n x-dcl-parent-container: project\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - version\n - config\n - autoscaling\n - subnetId\n - maxPodsConstraint\n - project\n - location\n - cluster\n properties:\n annotations:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Annotations\n description: 'Optional. Annotations on the node pool. This field has the\n same restrictions as Kubernetes annotations. The total size of all keys\n and values combined is limited to 256k. Key can have 2 segments: prefix\n (optional) and name (required), separated by a slash (/). Prefix must\n be a DNS subdomain. Name must be 63 characters or less, begin and end\n with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics\n between.'\n autoscaling:\n type: object\n x-dcl-go-name: Autoscaling\n x-dcl-go-type: NodePoolAutoscaling\n description: Autoscaler configuration for this node pool.\n required:\n - minNodeCount\n - maxNodeCount\n properties:\n maxNodeCount:\n type: integer\n format: int64\n x-dcl-go-name: MaxNodeCount\n description: Maximum number of nodes in the NodePool. Must be >= min_node_count.\n minNodeCount:\n type: integer\n format: int64\n x-dcl-go-name: MinNodeCount\n description: Minimum number of nodes in the NodePool. Must be >= 1 and\n <= max_node_count.\n cluster:\n type: string\n x-dcl-go-name: Cluster\n description: The awsCluster for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Gkemulticloud/Cluster\n field: name\n parent: true\n config:\n type: object\n x-dcl-go-name: Config\n x-dcl-go-type: NodePoolConfig\n description: The configuration of the node pool.\n required:\n - iamInstanceProfile\n - configEncryption\n properties:\n autoscalingMetricsCollection:\n type: object\n x-dcl-go-name: AutoscalingMetricsCollection\n x-dcl-go-type: NodePoolConfigAutoscalingMetricsCollection\n description: Optional. Configuration related to CloudWatch metrics collection\n on the Auto Scaling group of the node pool. When unspecified, metrics\n collection is disabled.\n required:\n - granularity\n properties:\n granularity:\n type: string\n x-dcl-go-name: Granularity\n description: The frequency at which EC2 Auto Scaling sends aggregated\n data to AWS CloudWatch. The only valid value is \"1Minute\".\n metrics:\n type: array\n x-dcl-go-name: Metrics\n description: The metrics to enable. For a list of valid metrics,\n see https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_EnableMetricsCollection.html.\n If you specify granularity and don't specify any metrics, all\n metrics are enabled.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n configEncryption:\n type: object\n x-dcl-go-name: ConfigEncryption\n x-dcl-go-type: NodePoolConfigConfigEncryption\n description: The ARN of the AWS KMS key used to encrypt node pool configuration.\n required:\n - kmsKeyArn\n properties:\n kmsKeyArn:\n type: string\n x-dcl-go-name: KmsKeyArn\n description: The ARN of the AWS KMS key used to encrypt node pool\n configuration.\n iamInstanceProfile:\n type: string\n x-dcl-go-name: IamInstanceProfile\n description: The name of the AWS IAM role assigned to nodes in the pool.\n instanceType:\n type: string\n x-dcl-go-name: InstanceType\n description: Optional. The AWS instance type. When unspecified, it defaults\n to `m5.large`.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: 'Optional. The initial labels assigned to nodes of this\n node pool. An object containing a list of \"key\": value pairs. Example:\n { \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }.'\n x-kubernetes-immutable: true\n proxyConfig:\n type: object\n x-dcl-go-name: ProxyConfig\n x-dcl-go-type: NodePoolConfigProxyConfig\n description: Proxy configuration for outbound HTTP(S) traffic.\n required:\n - secretArn\n - secretVersion\n properties:\n secretArn:\n type: string\n x-dcl-go-name: SecretArn\n description: The ARN of the AWS Secret Manager secret that contains\n the HTTP(S) proxy configuration.\n secretVersion:\n type: string\n x-dcl-go-name: SecretVersion\n description: The version string of the AWS Secret Manager secret\n that contains the HTTP(S) proxy configuration.\n rootVolume:\n type: object\n x-dcl-go-name: RootVolume\n x-dcl-go-type: NodePoolConfigRootVolume\n description: Optional. Template for the root volume provisioned for\n node pool nodes. Volumes will be provisioned in the availability zone\n assigned to the node pool subnet. When unspecified, it defaults to\n 32 GiB with the GP2 volume type.\n x-dcl-server-default: true\n properties:\n iops:\n type: integer\n format: int64\n x-dcl-go-name: Iops\n description: Optional. The number of I/O operations per second (IOPS)\n to provision for GP3 volume.\n x-dcl-server-default: true\n kmsKeyArn:\n type: string\n x-dcl-go-name: KmsKeyArn\n description: Optional. The Amazon Resource Name (ARN) of the Customer\n Managed Key (CMK) used to encrypt AWS EBS volumes. If not specified,\n the default Amazon managed key associated to the AWS region where\n this cluster runs will be used.\n sizeGib:\n type: integer\n format: int64\n x-dcl-go-name: SizeGib\n description: Optional. The size of the volume, in GiBs. When unspecified,\n a default value is provided. See the specific reference in the\n parent resource.\n x-dcl-server-default: true\n volumeType:\n type: string\n x-dcl-go-name: VolumeType\n x-dcl-go-type: NodePoolConfigRootVolumeVolumeTypeEnum\n description: 'Optional. Type of the EBS volume. When unspecified,\n it defaults to GP2 volume. Possible values: VOLUME_TYPE_UNSPECIFIED,\n GP2, GP3'\n x-dcl-server-default: true\n enum:\n - VOLUME_TYPE_UNSPECIFIED\n - GP2\n - GP3\n securityGroupIds:\n type: array\n x-dcl-go-name: SecurityGroupIds\n description: Optional. The IDs of additional security groups to add\n to nodes in this pool. The manager will automatically create security\n groups with minimum rules needed for a functioning cluster.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n sshConfig:\n type: object\n x-dcl-go-name: SshConfig\n x-dcl-go-type: NodePoolConfigSshConfig\n description: Optional. The SSH configuration.\n required:\n - ec2KeyPair\n properties:\n ec2KeyPair:\n type: string\n x-dcl-go-name: Ec2KeyPair\n description: The name of the EC2 key pair used to login into cluster\n machines.\n tags:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Tags\n description: Optional. Key/value metadata to assign to each underlying\n AWS resource. Specify at most 50 pairs containing alphanumerics, spaces,\n and symbols (.+-=_:@/). Keys can be up to 127 Unicode characters.\n Values can be up to 255 Unicode characters.\n taints:\n type: array\n x-dcl-go-name: Taints\n description: Optional. The initial taints assigned to nodes of this\n node pool.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: NodePoolConfigTaints\n required:\n - key\n - value\n - effect\n properties:\n effect:\n type: string\n x-dcl-go-name: Effect\n x-dcl-go-type: NodePoolConfigTaintsEffectEnum\n description: 'The taint effect. Possible values: EFFECT_UNSPECIFIED,\n NO_SCHEDULE, PREFER_NO_SCHEDULE, NO_EXECUTE'\n x-kubernetes-immutable: true\n enum:\n - EFFECT_UNSPECIFIED\n - NO_SCHEDULE\n - PREFER_NO_SCHEDULE\n - NO_EXECUTE\n key:\n type: string\n x-dcl-go-name: Key\n description: Key for the taint.\n x-kubernetes-immutable: true\n value:\n type: string\n x-dcl-go-name: Value\n description: Value for the taint.\n x-kubernetes-immutable: true\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Output only. The time at which this node pool was created.\n x-kubernetes-immutable: true\n etag:\n type: string\n x-dcl-go-name: Etag\n readOnly: true\n description: Allows clients to perform consistent read-modify-writes through\n optimistic concurrency control. May be sent on update and delete requests\n to ensure the client has an up-to-date value before proceeding.\n x-kubernetes-immutable: true\n location:\n type: string\n x-dcl-go-name: Location\n description: The location for the resource\n x-kubernetes-immutable: true\n maxPodsConstraint:\n type: object\n x-dcl-go-name: MaxPodsConstraint\n x-dcl-go-type: NodePoolMaxPodsConstraint\n description: The constraint on the maximum number of pods that can be run\n simultaneously on a node in the node pool.\n x-kubernetes-immutable: true\n required:\n - maxPodsPerNode\n properties:\n maxPodsPerNode:\n type: integer\n format: int64\n x-dcl-go-name: MaxPodsPerNode\n description: The maximum number of pods to schedule on a single node.\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: The name of this resource.\n x-kubernetes-immutable: true\n project:\n type: string\n x-dcl-go-name: Project\n description: The project for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n reconciling:\n type: boolean\n x-dcl-go-name: Reconciling\n readOnly: true\n description: Output only. If set, there are currently changes in flight\n to the node pool.\n x-kubernetes-immutable: true\n state:\n type: string\n x-dcl-go-name: State\n x-dcl-go-type: NodePoolStateEnum\n readOnly: true\n description: 'Output only. The lifecycle state of the node pool. Possible\n values: STATE_UNSPECIFIED, PROVISIONING, RUNNING, RECONCILING, STOPPING,\n ERROR, DEGRADED'\n x-kubernetes-immutable: true\n enum:\n - STATE_UNSPECIFIED\n - PROVISIONING\n - RUNNING\n - RECONCILING\n - STOPPING\n - ERROR\n - DEGRADED\n subnetId:\n type: string\n x-dcl-go-name: SubnetId\n description: The subnet where the node pool node run.\n x-kubernetes-immutable: true\n uid:\n type: string\n x-dcl-go-name: Uid\n readOnly: true\n description: Output only. A globally unique identifier for the node pool.\n x-kubernetes-immutable: true\n updateTime:\n type: string\n format: date-time\n x-dcl-go-name: UpdateTime\n readOnly: true\n description: Output only. The time at which this node pool was last updated.\n x-kubernetes-immutable: true\n version:\n type: string\n x-dcl-go-name: Version\n description: The Kubernetes version to run on this node pool (e.g. `1.19.10-gke.1000`).\n You can list all supported versions on a given Google Cloud region by\n calling GetAwsServerConfig.\n")
+var YAML_node_pool = []byte("info:\n title: ContainerAws/NodePool\n description: An Anthos node pool running on AWS.\n x-dcl-struct-name: NodePool\n x-dcl-has-iam: false\n x-dcl-ref:\n text: API reference\n url: https://cloud.google.com/anthos/clusters/docs/multi-cloud/reference/rest/v1/projects.locations.awsClusters.awsNodePools\n x-dcl-guides:\n - text: Multicloud overview\n url: https://cloud.google.com/anthos/clusters/docs/multi-cloud\npaths:\n get:\n description: The function used to get information about a NodePool\n parameters:\n - name: nodePool\n required: true\n description: A full instance of a NodePool\n apply:\n description: The function used to apply information about a NodePool\n parameters:\n - name: nodePool\n required: true\n description: A full instance of a NodePool\n delete:\n description: The function used to delete a NodePool\n parameters:\n - name: nodePool\n required: true\n description: A full instance of a NodePool\n deleteAll:\n description: The function used to delete all NodePool\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n - name: cluster\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many NodePool\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n - name: cluster\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n NodePool:\n title: NodePool\n x-dcl-id: projects/{{project}}/locations/{{location}}/awsClusters/{{cluster}}/awsNodePools/{{name}}\n x-dcl-parent-container: project\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - version\n - config\n - autoscaling\n - subnetId\n - maxPodsConstraint\n - project\n - location\n - cluster\n properties:\n annotations:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Annotations\n description: 'Optional. Annotations on the node pool. This field has the\n same restrictions as Kubernetes annotations. The total size of all keys\n and values combined is limited to 256k. Key can have 2 segments: prefix\n (optional) and name (required), separated by a slash (/). Prefix must\n be a DNS subdomain. Name must be 63 characters or less, begin and end\n with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics\n between.'\n autoscaling:\n type: object\n x-dcl-go-name: Autoscaling\n x-dcl-go-type: NodePoolAutoscaling\n description: Autoscaler configuration for this node pool.\n required:\n - minNodeCount\n - maxNodeCount\n properties:\n maxNodeCount:\n type: integer\n format: int64\n x-dcl-go-name: MaxNodeCount\n description: Maximum number of nodes in the NodePool. Must be >= min_node_count.\n minNodeCount:\n type: integer\n format: int64\n x-dcl-go-name: MinNodeCount\n description: Minimum number of nodes in the NodePool. Must be >= 1 and\n <= max_node_count.\n cluster:\n type: string\n x-dcl-go-name: Cluster\n description: The awsCluster for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Gkemulticloud/Cluster\n field: name\n parent: true\n config:\n type: object\n x-dcl-go-name: Config\n x-dcl-go-type: NodePoolConfig\n description: The configuration of the node pool.\n required:\n - iamInstanceProfile\n - configEncryption\n properties:\n autoscalingMetricsCollection:\n type: object\n x-dcl-go-name: AutoscalingMetricsCollection\n x-dcl-go-type: NodePoolConfigAutoscalingMetricsCollection\n description: Optional. Configuration related to CloudWatch metrics collection\n on the Auto Scaling group of the node pool. When unspecified, metrics\n collection is disabled.\n required:\n - granularity\n properties:\n granularity:\n type: string\n x-dcl-go-name: Granularity\n description: The frequency at which EC2 Auto Scaling sends aggregated\n data to AWS CloudWatch. The only valid value is \"1Minute\".\n metrics:\n type: array\n x-dcl-go-name: Metrics\n description: The metrics to enable. For a list of valid metrics,\n see https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_EnableMetricsCollection.html.\n If you specify granularity and don't specify any metrics, all\n metrics are enabled.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n configEncryption:\n type: object\n x-dcl-go-name: ConfigEncryption\n x-dcl-go-type: NodePoolConfigConfigEncryption\n description: The ARN of the AWS KMS key used to encrypt node pool configuration.\n required:\n - kmsKeyArn\n properties:\n kmsKeyArn:\n type: string\n x-dcl-go-name: KmsKeyArn\n description: The ARN of the AWS KMS key used to encrypt node pool\n configuration.\n iamInstanceProfile:\n type: string\n x-dcl-go-name: IamInstanceProfile\n description: The name of the AWS IAM role assigned to nodes in the pool.\n instanceType:\n type: string\n x-dcl-go-name: InstanceType\n description: Optional. The AWS instance type. When unspecified, it defaults\n to `m5.large`.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: 'Optional. The initial labels assigned to nodes of this\n node pool. An object containing a list of \"key\": value pairs. Example:\n { \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }.'\n x-kubernetes-immutable: true\n proxyConfig:\n type: object\n x-dcl-go-name: ProxyConfig\n x-dcl-go-type: NodePoolConfigProxyConfig\n description: Proxy configuration for outbound HTTP(S) traffic.\n required:\n - secretArn\n - secretVersion\n properties:\n secretArn:\n type: string\n x-dcl-go-name: SecretArn\n description: The ARN of the AWS Secret Manager secret that contains\n the HTTP(S) proxy configuration.\n secretVersion:\n type: string\n x-dcl-go-name: SecretVersion\n description: The version string of the AWS Secret Manager secret\n that contains the HTTP(S) proxy configuration.\n rootVolume:\n type: object\n x-dcl-go-name: RootVolume\n x-dcl-go-type: NodePoolConfigRootVolume\n description: Optional. Template for the root volume provisioned for\n node pool nodes. Volumes will be provisioned in the availability zone\n assigned to the node pool subnet. When unspecified, it defaults to\n 32 GiB with the GP2 volume type.\n x-dcl-server-default: true\n properties:\n iops:\n type: integer\n format: int64\n x-dcl-go-name: Iops\n description: Optional. The number of I/O operations per second (IOPS)\n to provision for GP3 volume.\n x-dcl-server-default: true\n kmsKeyArn:\n type: string\n x-dcl-go-name: KmsKeyArn\n description: Optional. The Amazon Resource Name (ARN) of the Customer\n Managed Key (CMK) used to encrypt AWS EBS volumes. If not specified,\n the default Amazon managed key associated to the AWS region where\n this cluster runs will be used.\n sizeGib:\n type: integer\n format: int64\n x-dcl-go-name: SizeGib\n description: Optional. The size of the volume, in GiBs. When unspecified,\n a default value is provided. See the specific reference in the\n parent resource.\n x-dcl-server-default: true\n throughput:\n type: integer\n format: int64\n x-dcl-go-name: Throughput\n description: Optional. The throughput to provision for the volume,\n in MiB/s. Only valid if the volume type is GP3.\n x-dcl-server-default: true\n volumeType:\n type: string\n x-dcl-go-name: VolumeType\n x-dcl-go-type: NodePoolConfigRootVolumeVolumeTypeEnum\n description: 'Optional. Type of the EBS volume. When unspecified,\n it defaults to GP2 volume. Possible values: VOLUME_TYPE_UNSPECIFIED,\n GP2, GP3'\n x-dcl-server-default: true\n enum:\n - VOLUME_TYPE_UNSPECIFIED\n - GP2\n - GP3\n securityGroupIds:\n type: array\n x-dcl-go-name: SecurityGroupIds\n description: Optional. The IDs of additional security groups to add\n to nodes in this pool. The manager will automatically create security\n groups with minimum rules needed for a functioning cluster.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n sshConfig:\n type: object\n x-dcl-go-name: SshConfig\n x-dcl-go-type: NodePoolConfigSshConfig\n description: Optional. The SSH configuration.\n required:\n - ec2KeyPair\n properties:\n ec2KeyPair:\n type: string\n x-dcl-go-name: Ec2KeyPair\n description: The name of the EC2 key pair used to login into cluster\n machines.\n tags:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Tags\n description: Optional. Key/value metadata to assign to each underlying\n AWS resource. Specify at most 50 pairs containing alphanumerics, spaces,\n and symbols (.+-=_:@/). Keys can be up to 127 Unicode characters.\n Values can be up to 255 Unicode characters.\n taints:\n type: array\n x-dcl-go-name: Taints\n description: Optional. The initial taints assigned to nodes of this\n node pool.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: NodePoolConfigTaints\n required:\n - key\n - value\n - effect\n properties:\n effect:\n type: string\n x-dcl-go-name: Effect\n x-dcl-go-type: NodePoolConfigTaintsEffectEnum\n description: 'The taint effect. Possible values: EFFECT_UNSPECIFIED,\n NO_SCHEDULE, PREFER_NO_SCHEDULE, NO_EXECUTE'\n x-kubernetes-immutable: true\n enum:\n - EFFECT_UNSPECIFIED\n - NO_SCHEDULE\n - PREFER_NO_SCHEDULE\n - NO_EXECUTE\n key:\n type: string\n x-dcl-go-name: Key\n description: Key for the taint.\n x-kubernetes-immutable: true\n value:\n type: string\n x-dcl-go-name: Value\n description: Value for the taint.\n x-kubernetes-immutable: true\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Output only. The time at which this node pool was created.\n x-kubernetes-immutable: true\n etag:\n type: string\n x-dcl-go-name: Etag\n readOnly: true\n description: Allows clients to perform consistent read-modify-writes through\n optimistic concurrency control. May be sent on update and delete requests\n to ensure the client has an up-to-date value before proceeding.\n x-kubernetes-immutable: true\n location:\n type: string\n x-dcl-go-name: Location\n description: The location for the resource\n x-kubernetes-immutable: true\n maxPodsConstraint:\n type: object\n x-dcl-go-name: MaxPodsConstraint\n x-dcl-go-type: NodePoolMaxPodsConstraint\n description: The constraint on the maximum number of pods that can be run\n simultaneously on a node in the node pool.\n x-kubernetes-immutable: true\n required:\n - maxPodsPerNode\n properties:\n maxPodsPerNode:\n type: integer\n format: int64\n x-dcl-go-name: MaxPodsPerNode\n description: The maximum number of pods to schedule on a single node.\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: The name of this resource.\n x-kubernetes-immutable: true\n project:\n type: string\n x-dcl-go-name: Project\n description: The project for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n reconciling:\n type: boolean\n x-dcl-go-name: Reconciling\n readOnly: true\n description: Output only. If set, there are currently changes in flight\n to the node pool.\n x-kubernetes-immutable: true\n state:\n type: string\n x-dcl-go-name: State\n x-dcl-go-type: NodePoolStateEnum\n readOnly: true\n description: 'Output only. The lifecycle state of the node pool. Possible\n values: STATE_UNSPECIFIED, PROVISIONING, RUNNING, RECONCILING, STOPPING,\n ERROR, DEGRADED'\n x-kubernetes-immutable: true\n enum:\n - STATE_UNSPECIFIED\n - PROVISIONING\n - RUNNING\n - RECONCILING\n - STOPPING\n - ERROR\n - DEGRADED\n subnetId:\n type: string\n x-dcl-go-name: SubnetId\n description: The subnet where the node pool node run.\n x-kubernetes-immutable: true\n uid:\n type: string\n x-dcl-go-name: Uid\n readOnly: true\n description: Output only. A globally unique identifier for the node pool.\n x-kubernetes-immutable: true\n updateTime:\n type: string\n format: date-time\n x-dcl-go-name: UpdateTime\n readOnly: true\n description: Output only. The time at which this node pool was last updated.\n x-kubernetes-immutable: true\n version:\n type: string\n x-dcl-go-name: Version\n description: The Kubernetes version to run on this node pool (e.g. `1.19.10-gke.1000`).\n You can list all supported versions on a given Google Cloud region by\n calling GetAwsServerConfig.\n")
-// 16573 bytes
-// MD5: 15025bf72fda102d218c9b748b446e53
+// 16907 bytes
+// MD5: bae4f4e07d81af621ab198daf9049d74
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/eventarc/trigger.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/eventarc/trigger.go
index caf902e644..0eb92f879b 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/eventarc/trigger.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/eventarc/trigger.go
@@ -25,20 +25,21 @@ import (
)
type Trigger struct {
- Name *string `json:"name"`
- Uid *string `json:"uid"`
- CreateTime *string `json:"createTime"`
- UpdateTime *string `json:"updateTime"`
- MatchingCriteria []TriggerMatchingCriteria `json:"matchingCriteria"`
- ServiceAccount *string `json:"serviceAccount"`
- Destination *TriggerDestination `json:"destination"`
- Transport *TriggerTransport `json:"transport"`
- Labels map[string]string `json:"labels"`
- Etag *string `json:"etag"`
- Project *string `json:"project"`
- Location *string `json:"location"`
- Channel *string `json:"channel"`
- Conditions map[string]string `json:"conditions"`
+ Name *string `json:"name"`
+ Uid *string `json:"uid"`
+ CreateTime *string `json:"createTime"`
+ UpdateTime *string `json:"updateTime"`
+ MatchingCriteria []TriggerMatchingCriteria `json:"matchingCriteria"`
+ ServiceAccount *string `json:"serviceAccount"`
+ Destination *TriggerDestination `json:"destination"`
+ Transport *TriggerTransport `json:"transport"`
+ Labels map[string]string `json:"labels"`
+ Etag *string `json:"etag"`
+ Project *string `json:"project"`
+ Location *string `json:"location"`
+ Channel *string `json:"channel"`
+ Conditions map[string]string `json:"conditions"`
+ EventDataContentType *string `json:"eventDataContentType"`
}
func (r *Trigger) String() string {
@@ -373,20 +374,21 @@ func (r *Trigger) ID() (string, error) {
}
nr := r.urlNormalized()
params := map[string]interface{}{
- "name": dcl.ValueOrEmptyString(nr.Name),
- "uid": dcl.ValueOrEmptyString(nr.Uid),
- "create_time": dcl.ValueOrEmptyString(nr.CreateTime),
- "update_time": dcl.ValueOrEmptyString(nr.UpdateTime),
- "matching_criteria": dcl.ValueOrEmptyString(nr.MatchingCriteria),
- "service_account": dcl.ValueOrEmptyString(nr.ServiceAccount),
- "destination": dcl.ValueOrEmptyString(nr.Destination),
- "transport": dcl.ValueOrEmptyString(nr.Transport),
- "labels": dcl.ValueOrEmptyString(nr.Labels),
- "etag": dcl.ValueOrEmptyString(nr.Etag),
- "project": dcl.ValueOrEmptyString(nr.Project),
- "location": dcl.ValueOrEmptyString(nr.Location),
- "channel": dcl.ValueOrEmptyString(nr.Channel),
- "conditions": dcl.ValueOrEmptyString(nr.Conditions),
+ "name": dcl.ValueOrEmptyString(nr.Name),
+ "uid": dcl.ValueOrEmptyString(nr.Uid),
+ "create_time": dcl.ValueOrEmptyString(nr.CreateTime),
+ "update_time": dcl.ValueOrEmptyString(nr.UpdateTime),
+ "matching_criteria": dcl.ValueOrEmptyString(nr.MatchingCriteria),
+ "service_account": dcl.ValueOrEmptyString(nr.ServiceAccount),
+ "destination": dcl.ValueOrEmptyString(nr.Destination),
+ "transport": dcl.ValueOrEmptyString(nr.Transport),
+ "labels": dcl.ValueOrEmptyString(nr.Labels),
+ "etag": dcl.ValueOrEmptyString(nr.Etag),
+ "project": dcl.ValueOrEmptyString(nr.Project),
+ "location": dcl.ValueOrEmptyString(nr.Location),
+ "channel": dcl.ValueOrEmptyString(nr.Channel),
+ "conditions": dcl.ValueOrEmptyString(nr.Conditions),
+ "event_data_content_type": dcl.ValueOrEmptyString(nr.EventDataContentType),
}
return dcl.Nprintf("projects/{{project}}/locations/{{location}}/triggers/{{name}}", params), nil
}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/eventarc/trigger.yaml b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/eventarc/trigger.yaml
index c731fd8df3..ed9d3b9a63 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/eventarc/trigger.yaml
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/eventarc/trigger.yaml
@@ -226,6 +226,12 @@ components:
on the value of other fields, and may be sent only on create requests
to ensure the client has an up-to-date value before proceeding.
x-kubernetes-immutable: true
+ eventDataContentType:
+ type: string
+ x-dcl-go-name: EventDataContentType
+ description: Optional. EventDataContentType specifies the type of payload
+ in MIME format that is expected from the CloudEvent data field. This is
+ set to `application/json` if the value is not defined.
labels:
type: object
additionalProperties:
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/eventarc/trigger_internal.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/eventarc/trigger_internal.go
index 27ca4dbc16..a19a6a0a90 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/eventarc/trigger_internal.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/eventarc/trigger_internal.go
@@ -190,6 +190,9 @@ func newUpdateTriggerUpdateTriggerRequest(ctx context.Context, f *Trigger, c *Cl
if v := f.Labels; !dcl.IsEmptyValueIndirect(v) {
req["labels"] = v
}
+ if v := f.EventDataContentType; !dcl.IsEmptyValueIndirect(v) {
+ req["eventDataContentType"] = v
+ }
b, err := c.getTriggerRaw(ctx, f)
if err != nil {
return nil, err
@@ -577,6 +580,11 @@ func canonicalizeTriggerDesiredState(rawDesired, rawInitial *Trigger, opts ...dc
} else {
canonicalDesired.Channel = rawDesired.Channel
}
+ if dcl.StringCanonicalize(rawDesired.EventDataContentType, rawInitial.EventDataContentType) {
+ canonicalDesired.EventDataContentType = rawInitial.EventDataContentType
+ } else {
+ canonicalDesired.EventDataContentType = rawDesired.EventDataContentType
+ }
return canonicalDesired, nil
}
@@ -658,6 +666,14 @@ func canonicalizeTriggerNewState(c *Client, rawNew, rawDesired *Trigger) (*Trigg
} else {
}
+ if dcl.IsEmptyValueIndirect(rawNew.EventDataContentType) && dcl.IsEmptyValueIndirect(rawDesired.EventDataContentType) {
+ rawNew.EventDataContentType = rawDesired.EventDataContentType
+ } else {
+ if dcl.StringCanonicalize(rawDesired.EventDataContentType, rawNew.EventDataContentType) {
+ rawNew.EventDataContentType = rawDesired.EventDataContentType
+ }
+ }
+
return rawNew, nil
}
@@ -1594,6 +1610,13 @@ func diffTrigger(c *Client, desired, actual *Trigger, opts ...dcl.ApplyOption) (
newDiffs = append(newDiffs, ds...)
}
+ if ds, err := dcl.Diff(desired.EventDataContentType, actual.EventDataContentType, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateTriggerUpdateTriggerOperation")}, fn.AddNest("EventDataContentType")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ newDiffs = append(newDiffs, ds...)
+ }
+
if len(newDiffs) > 0 {
c.Config.Logger.Infof("Diff function found diffs: %v", newDiffs)
}
@@ -1869,6 +1892,7 @@ func (r *Trigger) urlNormalized() *Trigger {
normalized.Project = dcl.SelfLinkToName(r.Project)
normalized.Location = dcl.SelfLinkToName(r.Location)
normalized.Channel = dcl.SelfLinkToName(r.Channel)
+ normalized.EventDataContentType = dcl.SelfLinkToName(r.EventDataContentType)
return &normalized
}
@@ -1961,6 +1985,9 @@ func expandTrigger(c *Client, f *Trigger) (map[string]interface{}, error) {
if v := f.Channel; dcl.ValueShouldBeSent(v) {
m["channel"] = v
}
+ if v := f.EventDataContentType; dcl.ValueShouldBeSent(v) {
+ m["eventDataContentType"] = v
+ }
return m, nil
}
@@ -1991,6 +2018,7 @@ func flattenTrigger(c *Client, i interface{}, res *Trigger) *Trigger {
resultRes.Location = dcl.FlattenString(m["location"])
resultRes.Channel = dcl.FlattenString(m["channel"])
resultRes.Conditions = dcl.FlattenKeyValuePairs(m["conditions"])
+ resultRes.EventDataContentType = dcl.FlattenString(m["eventDataContentType"])
return resultRes
}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/eventarc/trigger_schema.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/eventarc/trigger_schema.go
index 613b7a0443..051def4e82 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/eventarc/trigger_schema.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/eventarc/trigger_schema.go
@@ -277,6 +277,11 @@ func DCLTriggerSchema() *dcl.Schema {
Description: "Output only. This checksum is computed by the server based on the value of other fields, and may be sent only on create requests to ensure the client has an up-to-date value before proceeding.",
Immutable: true,
},
+ "eventDataContentType": &dcl.Property{
+ Type: "string",
+ GoName: "EventDataContentType",
+ Description: "Optional. EventDataContentType specifies the type of payload in MIME format that is expected from the CloudEvent data field. This is set to `application/json` if the value is not defined.",
+ },
"labels": &dcl.Property{
Type: "object",
AdditionalProperties: &dcl.Property{
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/eventarc/trigger_yaml_embed.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/eventarc/trigger_yaml_embed.go
index 2bc705b215..16f0c58486 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/eventarc/trigger_yaml_embed.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/eventarc/trigger_yaml_embed.go
@@ -17,7 +17,7 @@
package eventarc
// blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/eventarc/trigger.yaml
-var YAML_trigger = []byte("info:\n title: Eventarc/Trigger\n description: The Eventarc Trigger resource\n x-dcl-struct-name: Trigger\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a Trigger\n parameters:\n - name: trigger\n required: true\n description: A full instance of a Trigger\n apply:\n description: The function used to apply information about a Trigger\n parameters:\n - name: trigger\n required: true\n description: A full instance of a Trigger\n delete:\n description: The function used to delete a Trigger\n parameters:\n - name: trigger\n required: true\n description: A full instance of a Trigger\n deleteAll:\n description: The function used to delete all Trigger\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many Trigger\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n Trigger:\n title: Trigger\n x-dcl-id: projects/{{project}}/locations/{{location}}/triggers/{{name}}\n x-dcl-parent-container: project\n x-dcl-labels: labels\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - matchingCriteria\n - destination\n - project\n - location\n properties:\n channel:\n type: string\n x-dcl-go-name: Channel\n description: Optional. The name of the channel associated with the trigger\n in `projects/{project}/locations/{location}/channels/{channel}` format.\n You must provide a channel to receive events from Eventarc SaaS partners.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Eventarc/Channel\n field: name\n conditions:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Conditions\n readOnly: true\n description: Output only. The reason(s) why a trigger is in FAILED state.\n x-kubernetes-immutable: true\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Output only. The creation time.\n x-kubernetes-immutable: true\n destination:\n type: object\n x-dcl-go-name: Destination\n x-dcl-go-type: TriggerDestination\n description: Required. Destination specifies where the events should be\n sent to.\n properties:\n cloudFunction:\n type: string\n x-dcl-go-name: CloudFunction\n description: '[WARNING] Configuring a Cloud Function in Trigger is not\n supported as of today. The Cloud Function resource name. Format: projects/{project}/locations/{location}/functions/{function}'\n x-dcl-conflicts:\n - cloudRunService\n - gke\n - workflow\n x-dcl-references:\n - resource: Cloudfunctions/Function\n field: name\n cloudRunService:\n type: object\n x-dcl-go-name: CloudRunService\n x-dcl-go-type: TriggerDestinationCloudRunService\n description: Cloud Run fully-managed service that receives the events.\n The service should be running in the same project of the trigger.\n x-dcl-conflicts:\n - cloudFunction\n - gke\n - workflow\n required:\n - service\n - region\n properties:\n path:\n type: string\n x-dcl-go-name: Path\n description: 'Optional. The relative path on the Cloud Run service\n the events should be sent to. The value must conform to the definition\n of URI path segment (section 3.3 of RFC2396). Examples: \"/route\",\n \"route\", \"route/subroute\".'\n region:\n type: string\n x-dcl-go-name: Region\n description: Required. The region the Cloud Run service is deployed\n in.\n service:\n type: string\n x-dcl-go-name: Service\n description: Required. The name of the Cloud Run service being addressed.\n See https://cloud.google.com/run/docs/reference/rest/v1/namespaces.services.\n Only services located in the same project of the trigger object\n can be addressed.\n x-dcl-references:\n - resource: Run/Service\n field: name\n gke:\n type: object\n x-dcl-go-name: Gke\n x-dcl-go-type: TriggerDestinationGke\n description: A GKE service capable of receiving events. The service\n should be running in the same project as the trigger.\n x-dcl-conflicts:\n - cloudRunService\n - cloudFunction\n - workflow\n required:\n - cluster\n - location\n - namespace\n - service\n properties:\n cluster:\n type: string\n x-dcl-go-name: Cluster\n description: Required. The name of the cluster the GKE service is\n running in. The cluster must be running in the same project as\n the trigger being created.\n x-dcl-references:\n - resource: Container/Cluster\n field: selfLink\n location:\n type: string\n x-dcl-go-name: Location\n description: Required. The name of the Google Compute Engine in\n which the cluster resides, which can either be compute zone (for\n example, us-central1-a) for the zonal clusters or region (for\n example, us-central1) for regional clusters.\n namespace:\n type: string\n x-dcl-go-name: Namespace\n description: Required. The namespace the GKE service is running\n in.\n path:\n type: string\n x-dcl-go-name: Path\n description: 'Optional. The relative path on the GKE service the\n events should be sent to. The value must conform to the definition\n of a URI path segment (section 3.3 of RFC2396). Examples: \"/route\",\n \"route\", \"route/subroute\".'\n service:\n type: string\n x-dcl-go-name: Service\n description: Required. Name of the GKE service.\n workflow:\n type: string\n x-dcl-go-name: Workflow\n description: 'The resource name of the Workflow whose Executions are\n triggered by the events. The Workflow resource should be deployed\n in the same project as the trigger. Format: `projects/{project}/locations/{location}/workflows/{workflow}`'\n x-dcl-conflicts:\n - cloudRunService\n - cloudFunction\n - gke\n x-dcl-references:\n - resource: Workflows/Workflow\n field: name\n etag:\n type: string\n x-dcl-go-name: Etag\n readOnly: true\n description: Output only. This checksum is computed by the server based\n on the value of other fields, and may be sent only on create requests\n to ensure the client has an up-to-date value before proceeding.\n x-kubernetes-immutable: true\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: Optional. User labels attached to the triggers that can be\n used to group resources.\n location:\n type: string\n x-dcl-go-name: Location\n description: The location for the resource\n x-kubernetes-immutable: true\n matchingCriteria:\n type: array\n x-dcl-go-name: MatchingCriteria\n description: Required. null The list of filters that applies to event attributes.\n Only events that match all the provided filters will be sent to the destination.\n x-dcl-send-empty: true\n x-dcl-list-type: set\n items:\n type: object\n x-dcl-go-type: TriggerMatchingCriteria\n required:\n - attribute\n - value\n properties:\n attribute:\n type: string\n x-dcl-go-name: Attribute\n description: Required. The name of a CloudEvents attribute. Currently,\n only a subset of attributes are supported for filtering. All triggers\n MUST provide a filter for the 'type' attribute.\n operator:\n type: string\n x-dcl-go-name: Operator\n description: Optional. The operator used for matching the events with\n the value of the filter. If not specified, only events that have\n an exact key-value pair specified in the filter are matched. The\n only allowed value is `match-path-pattern`.\n value:\n type: string\n x-dcl-go-name: Value\n description: Required. The value for the attribute. See https://cloud.google.com/eventarc/docs/creating-triggers#trigger-gcloud\n for available values.\n name:\n type: string\n x-dcl-go-name: Name\n description: Required. The resource name of the trigger. Must be unique\n within the location on the project.\n x-kubernetes-immutable: true\n project:\n type: string\n x-dcl-go-name: Project\n description: The project for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n serviceAccount:\n type: string\n x-dcl-go-name: ServiceAccount\n description: Optional. The IAM service account email associated with the\n trigger. The service account represents the identity of the trigger. The\n principal who calls this API must have `iam.serviceAccounts.actAs` permission\n in the service account. See https://cloud.google.com/iam/docs/understanding-service-accounts#sa_common\n for more information. For Cloud Run destinations, this service account\n is used to generate identity tokens when invoking the service. See https://cloud.google.com/run/docs/triggering/pubsub-push#create-service-account\n for information on how to invoke authenticated Cloud Run services. In\n order to create Audit Log triggers, the service account should also have\n `roles/eventarc.eventReceiver` IAM role.\n x-dcl-references:\n - resource: Iam/ServiceAccount\n field: email\n transport:\n type: object\n x-dcl-go-name: Transport\n x-dcl-go-type: TriggerTransport\n description: Optional. In order to deliver messages, Eventarc may use other\n GCP products as transport intermediary. This field contains a reference\n to that transport intermediary. This information can be used for debugging\n purposes.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n pubsub:\n type: object\n x-dcl-go-name: Pubsub\n x-dcl-go-type: TriggerTransportPubsub\n description: The Pub/Sub topic and subscription used by Eventarc as\n delivery intermediary.\n x-kubernetes-immutable: true\n properties:\n subscription:\n type: string\n x-dcl-go-name: Subscription\n readOnly: true\n description: 'Output only. The name of the Pub/Sub subscription\n created and managed by Eventarc system as a transport for the\n event delivery. Format: `projects/{PROJECT_ID}/subscriptions/{SUBSCRIPTION_NAME}`.'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Pubsub/Subscription\n field: name\n topic:\n type: string\n x-dcl-go-name: Topic\n description: 'Optional. The name of the Pub/Sub topic created and\n managed by Eventarc system as a transport for the event delivery.\n Format: `projects/{PROJECT_ID}/topics/{TOPIC_NAME}. You may set\n an existing topic for triggers of the type google.cloud.pubsub.topic.v1.messagePublished`\n only. The topic you provide here will not be deleted by Eventarc\n at trigger deletion.'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Pubsub/Topic\n field: name\n uid:\n type: string\n x-dcl-go-name: Uid\n readOnly: true\n description: Output only. Server assigned unique identifier for the trigger.\n The value is a UUID4 string and guaranteed to remain unchanged until the\n resource is deleted.\n x-kubernetes-immutable: true\n updateTime:\n type: string\n format: date-time\n x-dcl-go-name: UpdateTime\n readOnly: true\n description: Output only. The last-modified time.\n x-kubernetes-immutable: true\n")
+var YAML_trigger = []byte("info:\n title: Eventarc/Trigger\n description: The Eventarc Trigger resource\n x-dcl-struct-name: Trigger\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a Trigger\n parameters:\n - name: trigger\n required: true\n description: A full instance of a Trigger\n apply:\n description: The function used to apply information about a Trigger\n parameters:\n - name: trigger\n required: true\n description: A full instance of a Trigger\n delete:\n description: The function used to delete a Trigger\n parameters:\n - name: trigger\n required: true\n description: A full instance of a Trigger\n deleteAll:\n description: The function used to delete all Trigger\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many Trigger\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n Trigger:\n title: Trigger\n x-dcl-id: projects/{{project}}/locations/{{location}}/triggers/{{name}}\n x-dcl-parent-container: project\n x-dcl-labels: labels\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - matchingCriteria\n - destination\n - project\n - location\n properties:\n channel:\n type: string\n x-dcl-go-name: Channel\n description: Optional. The name of the channel associated with the trigger\n in `projects/{project}/locations/{location}/channels/{channel}` format.\n You must provide a channel to receive events from Eventarc SaaS partners.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Eventarc/Channel\n field: name\n conditions:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Conditions\n readOnly: true\n description: Output only. The reason(s) why a trigger is in FAILED state.\n x-kubernetes-immutable: true\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Output only. The creation time.\n x-kubernetes-immutable: true\n destination:\n type: object\n x-dcl-go-name: Destination\n x-dcl-go-type: TriggerDestination\n description: Required. Destination specifies where the events should be\n sent to.\n properties:\n cloudFunction:\n type: string\n x-dcl-go-name: CloudFunction\n description: '[WARNING] Configuring a Cloud Function in Trigger is not\n supported as of today. The Cloud Function resource name. Format: projects/{project}/locations/{location}/functions/{function}'\n x-dcl-conflicts:\n - cloudRunService\n - gke\n - workflow\n x-dcl-references:\n - resource: Cloudfunctions/Function\n field: name\n cloudRunService:\n type: object\n x-dcl-go-name: CloudRunService\n x-dcl-go-type: TriggerDestinationCloudRunService\n description: Cloud Run fully-managed service that receives the events.\n The service should be running in the same project of the trigger.\n x-dcl-conflicts:\n - cloudFunction\n - gke\n - workflow\n required:\n - service\n - region\n properties:\n path:\n type: string\n x-dcl-go-name: Path\n description: 'Optional. The relative path on the Cloud Run service\n the events should be sent to. The value must conform to the definition\n of URI path segment (section 3.3 of RFC2396). Examples: \"/route\",\n \"route\", \"route/subroute\".'\n region:\n type: string\n x-dcl-go-name: Region\n description: Required. The region the Cloud Run service is deployed\n in.\n service:\n type: string\n x-dcl-go-name: Service\n description: Required. The name of the Cloud Run service being addressed.\n See https://cloud.google.com/run/docs/reference/rest/v1/namespaces.services.\n Only services located in the same project of the trigger object\n can be addressed.\n x-dcl-references:\n - resource: Run/Service\n field: name\n gke:\n type: object\n x-dcl-go-name: Gke\n x-dcl-go-type: TriggerDestinationGke\n description: A GKE service capable of receiving events. The service\n should be running in the same project as the trigger.\n x-dcl-conflicts:\n - cloudRunService\n - cloudFunction\n - workflow\n required:\n - cluster\n - location\n - namespace\n - service\n properties:\n cluster:\n type: string\n x-dcl-go-name: Cluster\n description: Required. The name of the cluster the GKE service is\n running in. The cluster must be running in the same project as\n the trigger being created.\n x-dcl-references:\n - resource: Container/Cluster\n field: selfLink\n location:\n type: string\n x-dcl-go-name: Location\n description: Required. The name of the Google Compute Engine in\n which the cluster resides, which can either be compute zone (for\n example, us-central1-a) for the zonal clusters or region (for\n example, us-central1) for regional clusters.\n namespace:\n type: string\n x-dcl-go-name: Namespace\n description: Required. The namespace the GKE service is running\n in.\n path:\n type: string\n x-dcl-go-name: Path\n description: 'Optional. The relative path on the GKE service the\n events should be sent to. The value must conform to the definition\n of a URI path segment (section 3.3 of RFC2396). Examples: \"/route\",\n \"route\", \"route/subroute\".'\n service:\n type: string\n x-dcl-go-name: Service\n description: Required. Name of the GKE service.\n workflow:\n type: string\n x-dcl-go-name: Workflow\n description: 'The resource name of the Workflow whose Executions are\n triggered by the events. The Workflow resource should be deployed\n in the same project as the trigger. Format: `projects/{project}/locations/{location}/workflows/{workflow}`'\n x-dcl-conflicts:\n - cloudRunService\n - cloudFunction\n - gke\n x-dcl-references:\n - resource: Workflows/Workflow\n field: name\n etag:\n type: string\n x-dcl-go-name: Etag\n readOnly: true\n description: Output only. This checksum is computed by the server based\n on the value of other fields, and may be sent only on create requests\n to ensure the client has an up-to-date value before proceeding.\n x-kubernetes-immutable: true\n eventDataContentType:\n type: string\n x-dcl-go-name: EventDataContentType\n description: Optional. EventDataContentType specifies the type of payload\n in MIME format that is expected from the CloudEvent data field. This is\n set to `application/json` if the value is not defined.\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: Optional. User labels attached to the triggers that can be\n used to group resources.\n location:\n type: string\n x-dcl-go-name: Location\n description: The location for the resource\n x-kubernetes-immutable: true\n matchingCriteria:\n type: array\n x-dcl-go-name: MatchingCriteria\n description: Required. null The list of filters that applies to event attributes.\n Only events that match all the provided filters will be sent to the destination.\n x-dcl-send-empty: true\n x-dcl-list-type: set\n items:\n type: object\n x-dcl-go-type: TriggerMatchingCriteria\n required:\n - attribute\n - value\n properties:\n attribute:\n type: string\n x-dcl-go-name: Attribute\n description: Required. The name of a CloudEvents attribute. Currently,\n only a subset of attributes are supported for filtering. All triggers\n MUST provide a filter for the 'type' attribute.\n operator:\n type: string\n x-dcl-go-name: Operator\n description: Optional. The operator used for matching the events with\n the value of the filter. If not specified, only events that have\n an exact key-value pair specified in the filter are matched. The\n only allowed value is `match-path-pattern`.\n value:\n type: string\n x-dcl-go-name: Value\n description: Required. The value for the attribute. See https://cloud.google.com/eventarc/docs/creating-triggers#trigger-gcloud\n for available values.\n name:\n type: string\n x-dcl-go-name: Name\n description: Required. The resource name of the trigger. Must be unique\n within the location on the project.\n x-kubernetes-immutable: true\n project:\n type: string\n x-dcl-go-name: Project\n description: The project for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n serviceAccount:\n type: string\n x-dcl-go-name: ServiceAccount\n description: Optional. The IAM service account email associated with the\n trigger. The service account represents the identity of the trigger. The\n principal who calls this API must have `iam.serviceAccounts.actAs` permission\n in the service account. See https://cloud.google.com/iam/docs/understanding-service-accounts#sa_common\n for more information. For Cloud Run destinations, this service account\n is used to generate identity tokens when invoking the service. See https://cloud.google.com/run/docs/triggering/pubsub-push#create-service-account\n for information on how to invoke authenticated Cloud Run services. In\n order to create Audit Log triggers, the service account should also have\n `roles/eventarc.eventReceiver` IAM role.\n x-dcl-references:\n - resource: Iam/ServiceAccount\n field: email\n transport:\n type: object\n x-dcl-go-name: Transport\n x-dcl-go-type: TriggerTransport\n description: Optional. In order to deliver messages, Eventarc may use other\n GCP products as transport intermediary. This field contains a reference\n to that transport intermediary. This information can be used for debugging\n purposes.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n pubsub:\n type: object\n x-dcl-go-name: Pubsub\n x-dcl-go-type: TriggerTransportPubsub\n description: The Pub/Sub topic and subscription used by Eventarc as\n delivery intermediary.\n x-kubernetes-immutable: true\n properties:\n subscription:\n type: string\n x-dcl-go-name: Subscription\n readOnly: true\n description: 'Output only. The name of the Pub/Sub subscription\n created and managed by Eventarc system as a transport for the\n event delivery. Format: `projects/{PROJECT_ID}/subscriptions/{SUBSCRIPTION_NAME}`.'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Pubsub/Subscription\n field: name\n topic:\n type: string\n x-dcl-go-name: Topic\n description: 'Optional. The name of the Pub/Sub topic created and\n managed by Eventarc system as a transport for the event delivery.\n Format: `projects/{PROJECT_ID}/topics/{TOPIC_NAME}. You may set\n an existing topic for triggers of the type google.cloud.pubsub.topic.v1.messagePublished`\n only. The topic you provide here will not be deleted by Eventarc\n at trigger deletion.'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Pubsub/Topic\n field: name\n uid:\n type: string\n x-dcl-go-name: Uid\n readOnly: true\n description: Output only. Server assigned unique identifier for the trigger.\n The value is a UUID4 string and guaranteed to remain unchanged until the\n resource is deleted.\n x-kubernetes-immutable: true\n updateTime:\n type: string\n format: date-time\n x-dcl-go-name: UpdateTime\n readOnly: true\n description: Output only. The last-modified time.\n x-kubernetes-immutable: true\n")
-// 14388 bytes
-// MD5: ac26f29afab44701a412358850225563
+// 14722 bytes
+// MD5: ea06f09a25dea925998f4496fc8a232f
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/client.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/client.go
deleted file mode 100644
index 3a86c1038e..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/client.go
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 logging defines operations in the declarative SDK.
-package logging
-
-import (
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-// The Client is the base struct of all operations. This will receive the
-// Get, Delete, List, and Apply operations on all resources.
-type Client struct {
- Config *dcl.Config
-}
-
-// NewClient creates a client that retries all operations a few times each.
-func NewClient(c *dcl.Config) *Client {
- return &Client{
- Config: c,
- }
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_bucket.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_bucket.go
deleted file mode 100644
index e6c472abee..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_bucket.go
+++ /dev/null
@@ -1,404 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 logging
-
-import (
- "context"
- "fmt"
- "time"
-
- "google.golang.org/api/googleapi"
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-type LogBucket struct {
- Name *string `json:"name"`
- Description *string `json:"description"`
- CreateTime *string `json:"createTime"`
- UpdateTime *string `json:"updateTime"`
- RetentionDays *int64 `json:"retentionDays"`
- Locked *bool `json:"locked"`
- LifecycleState *LogBucketLifecycleStateEnum `json:"lifecycleState"`
- Parent *string `json:"parent"`
- Location *string `json:"location"`
-}
-
-func (r *LogBucket) String() string {
- return dcl.SprintResource(r)
-}
-
-// The enum LogBucketLifecycleStateEnum.
-type LogBucketLifecycleStateEnum string
-
-// LogBucketLifecycleStateEnumRef returns a *LogBucketLifecycleStateEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func LogBucketLifecycleStateEnumRef(s string) *LogBucketLifecycleStateEnum {
- v := LogBucketLifecycleStateEnum(s)
- return &v
-}
-
-func (v LogBucketLifecycleStateEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"LIFECYCLE_STATE_UNSPECIFIED", "ACTIVE", "DELETE_REQUESTED"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "LogBucketLifecycleStateEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// Describe returns a simple description of this resource to ensure that automated tools
-// can identify it.
-func (r *LogBucket) Describe() dcl.ServiceTypeVersion {
- return dcl.ServiceTypeVersion{
- Service: "logging",
- Type: "LogBucket",
- Version: "logging",
- }
-}
-
-func (r *LogBucket) ID() (string, error) {
- if err := extractLogBucketFields(r); err != nil {
- return "", err
- }
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "name": dcl.ValueOrEmptyString(nr.Name),
- "description": dcl.ValueOrEmptyString(nr.Description),
- "create_time": dcl.ValueOrEmptyString(nr.CreateTime),
- "update_time": dcl.ValueOrEmptyString(nr.UpdateTime),
- "retention_days": dcl.ValueOrEmptyString(nr.RetentionDays),
- "locked": dcl.ValueOrEmptyString(nr.Locked),
- "lifecycle_state": dcl.ValueOrEmptyString(nr.LifecycleState),
- "parent": dcl.ValueOrEmptyString(nr.Parent),
- "location": dcl.ValueOrEmptyString(nr.Location),
- }
- return dcl.Nprintf("{{parent}}/locations/{{location}}/buckets/{{name}}", params), nil
-}
-
-const LogBucketMaxPage = -1
-
-type LogBucketList struct {
- Items []*LogBucket
-
- nextToken string
-
- pageSize int32
-
- resource *LogBucket
-}
-
-func (l *LogBucketList) HasNext() bool {
- return l.nextToken != ""
-}
-
-func (l *LogBucketList) Next(ctx context.Context, c *Client) error {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- if !l.HasNext() {
- return fmt.Errorf("no next page")
- }
- items, token, err := c.listLogBucket(ctx, l.resource, l.nextToken, l.pageSize)
- if err != nil {
- return err
- }
- l.Items = items
- l.nextToken = token
- return err
-}
-
-func (c *Client) ListLogBucket(ctx context.Context, location, parent string) (*LogBucketList, error) {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- return c.ListLogBucketWithMaxResults(ctx, location, parent, LogBucketMaxPage)
-
-}
-
-func (c *Client) ListLogBucketWithMaxResults(ctx context.Context, location, parent string, pageSize int32) (*LogBucketList, error) {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- // Create a resource object so that we can use proper url normalization methods.
- r := &LogBucket{
- Location: &location,
- Parent: &parent,
- }
- items, token, err := c.listLogBucket(ctx, r, "", pageSize)
- if err != nil {
- return nil, err
- }
- return &LogBucketList{
- Items: items,
- nextToken: token,
- pageSize: pageSize,
- resource: r,
- }, nil
-}
-
-func (c *Client) GetLogBucket(ctx context.Context, r *LogBucket) (*LogBucket, error) {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- // This is *purposefully* supressing errors.
- // This function is used with url-normalized values + not URL normalized values.
- // URL Normalized values will throw unintentional errors, since those values are not of the proper parent form.
- extractLogBucketFields(r)
-
- b, err := c.getLogBucketRaw(ctx, r)
- if err != nil {
- if dcl.IsNotFound(err) {
- return nil, &googleapi.Error{
- Code: 404,
- Message: err.Error(),
- }
- }
- return nil, err
- }
- result, err := unmarshalLogBucket(b, c, r)
- if err != nil {
- return nil, err
- }
- result.Location = r.Location
- result.Parent = r.Parent
- result.Name = r.Name
-
- c.Config.Logger.InfoWithContextf(ctx, "Retrieved raw result state: %v", result)
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalizing with specified state: %v", r)
- result, err = canonicalizeLogBucketNewState(c, result, r)
- if err != nil {
- return nil, err
- }
- if err := postReadExtractLogBucketFields(result); err != nil {
- return result, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Created result state: %v", result)
-
- return result, nil
-}
-
-func (c *Client) DeleteLogBucket(ctx context.Context, r *LogBucket) error {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- if r == nil {
- return fmt.Errorf("LogBucket resource is nil")
- }
- c.Config.Logger.InfoWithContext(ctx, "Deleting LogBucket...")
- deleteOp := deleteLogBucketOperation{}
- return deleteOp.do(ctx, r, c)
-}
-
-// DeleteAllLogBucket deletes all resources that the filter functions returns true on.
-func (c *Client) DeleteAllLogBucket(ctx context.Context, location, parent string, filter func(*LogBucket) bool) error {
- listObj, err := c.ListLogBucket(ctx, location, parent)
- if err != nil {
- return err
- }
-
- err = c.deleteAllLogBucket(ctx, filter, listObj.Items)
- if err != nil {
- return err
- }
- for listObj.HasNext() {
- err = listObj.Next(ctx, c)
- if err != nil {
- return nil
- }
- err = c.deleteAllLogBucket(ctx, filter, listObj.Items)
- if err != nil {
- return err
- }
- }
- return nil
-}
-
-func (c *Client) ApplyLogBucket(ctx context.Context, rawDesired *LogBucket, opts ...dcl.ApplyOption) (*LogBucket, error) {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- ctx = dcl.ContextWithRequestID(ctx)
- var resultNewState *LogBucket
- err := dcl.Do(ctx, func(ctx context.Context) (*dcl.RetryDetails, error) {
- newState, err := applyLogBucketHelper(c, ctx, rawDesired, opts...)
- resultNewState = newState
- if err != nil {
- // If the error is 409, there is conflict in resource update.
- // Here we want to apply changes based on latest state.
- if dcl.IsConflictError(err) {
- return &dcl.RetryDetails{}, dcl.OperationNotDone{Err: err}
- }
- return nil, err
- }
- return nil, nil
- }, c.Config.RetryProvider)
- return resultNewState, err
-}
-
-func applyLogBucketHelper(c *Client, ctx context.Context, rawDesired *LogBucket, opts ...dcl.ApplyOption) (*LogBucket, error) {
- c.Config.Logger.InfoWithContext(ctx, "Beginning ApplyLogBucket...")
- c.Config.Logger.InfoWithContextf(ctx, "User specified desired state: %v", rawDesired)
-
- // 1.1: Validation of user-specified fields in desired state.
- if err := rawDesired.validate(); err != nil {
- return nil, err
- }
-
- if err := extractLogBucketFields(rawDesired); err != nil {
- return nil, err
- }
-
- initial, desired, fieldDiffs, err := c.logBucketDiffsForRawDesired(ctx, rawDesired, opts...)
- if err != nil {
- return nil, fmt.Errorf("failed to create a diff: %w", err)
- }
-
- diffs, err := convertFieldDiffsToLogBucketDiffs(c.Config, fieldDiffs, opts)
- if err != nil {
- return nil, err
- }
-
- // TODO(magic-modules-eng): 2.2 Feasibility check (all updates are feasible so far).
-
- // 2.3: Lifecycle Directive Check
- var create bool
- lp := dcl.FetchLifecycleParams(opts)
- if initial == nil {
- if dcl.HasLifecycleParam(lp, dcl.BlockCreation) {
- return nil, dcl.ApplyInfeasibleError{Message: fmt.Sprintf("Creation blocked by lifecycle params: %#v.", desired)}
- }
- create = true
- } else if dcl.HasLifecycleParam(lp, dcl.BlockAcquire) {
- return nil, dcl.ApplyInfeasibleError{
- Message: fmt.Sprintf("Resource already exists - apply blocked by lifecycle params: %#v.", initial),
- }
- } else {
- for _, d := range diffs {
- if d.RequiresRecreate {
- return nil, dcl.ApplyInfeasibleError{
- Message: fmt.Sprintf("infeasible update: (%v) would require recreation", d),
- }
- }
- if dcl.HasLifecycleParam(lp, dcl.BlockModification) {
- return nil, dcl.ApplyInfeasibleError{Message: fmt.Sprintf("Modification blocked, diff (%v) unresolvable.", d)}
- }
- }
- }
-
- // 2.4 Imperative Request Planning
- var ops []logBucketApiOperation
- if create {
- ops = append(ops, &createLogBucketOperation{})
- } else {
- for _, d := range diffs {
- ops = append(ops, d.UpdateOp)
- }
- }
- c.Config.Logger.InfoWithContextf(ctx, "Created plan: %#v", ops)
-
- // 2.5 Request Actuation
- for _, op := range ops {
- c.Config.Logger.InfoWithContextf(ctx, "Performing operation %T %+v", op, op)
- if err := op.do(ctx, desired, c); err != nil {
- c.Config.Logger.InfoWithContextf(ctx, "Failed operation %T %+v: %v", op, op, err)
- return nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Finished operation %T %+v", op, op)
- }
- return applyLogBucketDiff(c, ctx, desired, rawDesired, ops, opts...)
-}
-
-func applyLogBucketDiff(c *Client, ctx context.Context, desired *LogBucket, rawDesired *LogBucket, ops []logBucketApiOperation, opts ...dcl.ApplyOption) (*LogBucket, error) {
- // 3.1, 3.2a Retrieval of raw new state & canonicalization with desired state
- c.Config.Logger.InfoWithContext(ctx, "Retrieving raw new state...")
- rawNew, err := c.GetLogBucket(ctx, desired)
- if err != nil {
- return nil, err
- }
- // Get additional values from the first response.
- // These values should be merged into the newState above.
- if len(ops) > 0 {
- lastOp := ops[len(ops)-1]
- if o, ok := lastOp.(*createLogBucketOperation); ok {
- if r, hasR := o.FirstResponse(); hasR {
-
- c.Config.Logger.InfoWithContext(ctx, "Retrieving raw new state from operation...")
-
- fullResp, err := unmarshalMapLogBucket(r, c, rawDesired)
- if err != nil {
- return nil, err
- }
-
- rawNew, err = canonicalizeLogBucketNewState(c, rawNew, fullResp)
- if err != nil {
- return nil, err
- }
- }
- }
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalizing with raw desired state: %v", rawDesired)
- // 3.2b Canonicalization of raw new state using raw desired state
- newState, err := canonicalizeLogBucketNewState(c, rawNew, rawDesired)
- if err != nil {
- return rawNew, err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Created canonical new state: %v", newState)
- // 3.3 Comparison of the new state and raw desired state.
- // TODO(magic-modules-eng): EVENTUALLY_CONSISTENT_UPDATE
- newDesired, err := canonicalizeLogBucketDesiredState(rawDesired, newState)
- if err != nil {
- return newState, err
- }
-
- if err := postReadExtractLogBucketFields(newState); err != nil {
- return newState, err
- }
-
- // Need to ensure any transformations made here match acceptably in differ.
- if err := postReadExtractLogBucketFields(newDesired); err != nil {
- return newState, err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Diffing using canonicalized desired state: %v", newDesired)
- newDiffs, err := diffLogBucket(c, newDesired, newState)
- if err != nil {
- return newState, err
- }
-
- if len(newDiffs) == 0 {
- c.Config.Logger.InfoWithContext(ctx, "No diffs found. Apply was successful.")
- } else {
- c.Config.Logger.InfoWithContextf(ctx, "Found diffs: %v", newDiffs)
- diffMessages := make([]string, len(newDiffs))
- for i, d := range newDiffs {
- diffMessages[i] = fmt.Sprintf("%v", d)
- }
- return newState, dcl.DiffAfterApplyError{Diffs: diffMessages}
- }
- c.Config.Logger.InfoWithContext(ctx, "Done Apply.")
- return newState, nil
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_bucket.yaml b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_bucket.yaml
deleted file mode 100644
index dd7f451cb0..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_bucket.yaml
+++ /dev/null
@@ -1,154 +0,0 @@
-# Copyright 2023 Google LLC. All Rights Reserved.
-#
-# 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.
-info:
- title: Logging/LogBucket
- description: The Logging LogBucket resource
- x-dcl-struct-name: LogBucket
- x-dcl-has-iam: false
-paths:
- get:
- description: The function used to get information about a LogBucket
- parameters:
- - name: logBucket
- required: true
- description: A full instance of a LogBucket
- apply:
- description: The function used to apply information about a LogBucket
- parameters:
- - name: logBucket
- required: true
- description: A full instance of a LogBucket
- delete:
- description: The function used to delete a LogBucket
- parameters:
- - name: logBucket
- required: true
- description: A full instance of a LogBucket
- deleteAll:
- description: The function used to delete all LogBucket
- parameters:
- - name: location
- required: true
- schema:
- type: string
- - name: parent
- required: true
- schema:
- type: string
- list:
- description: The function used to list information about many LogBucket
- parameters:
- - name: location
- required: true
- schema:
- type: string
- - name: parent
- required: true
- schema:
- type: string
-components:
- schemas:
- LogBucket:
- title: LogBucket
- x-dcl-id: '{{parent}}/locations/{{location}}/buckets/{{name}}'
- x-dcl-has-create: true
- x-dcl-has-iam: false
- x-dcl-read-timeout: 0
- x-dcl-apply-timeout: 0
- x-dcl-delete-timeout: 0
- type: object
- required:
- - name
- - parent
- - location
- properties:
- createTime:
- type: string
- format: date-time
- x-dcl-go-name: CreateTime
- readOnly: true
- description: Output only. The creation timestamp of the bucket. This is
- not set for any of the default buckets.
- x-kubernetes-immutable: true
- description:
- type: string
- x-dcl-go-name: Description
- description: Describes this bucket.
- lifecycleState:
- type: string
- x-dcl-go-name: LifecycleState
- x-dcl-go-type: LogBucketLifecycleStateEnum
- readOnly: true
- description: 'Output only. The bucket lifecycle state. Possible values:
- LIFECYCLE_STATE_UNSPECIFIED, ACTIVE, DELETE_REQUESTED'
- x-kubernetes-immutable: true
- enum:
- - LIFECYCLE_STATE_UNSPECIFIED
- - ACTIVE
- - DELETE_REQUESTED
- location:
- type: string
- x-dcl-go-name: Location
- description: 'The location of the resource. The supported locations are:
- global, us-central1, us-east1, us-west1, asia-east1, europe-west1.'
- x-kubernetes-immutable: true
- locked:
- type: boolean
- x-dcl-go-name: Locked
- description: Whether the bucket has been locked. The retention period on
- a locked bucket may not be changed. Locked buckets may only be deleted
- if they are empty.
- name:
- type: string
- x-dcl-go-name: Name
- description: 'The resource name of the bucket. For example: "projects/my-project-id/locations/my-location/buckets/my-bucket-id"
- The supported locations are: `global`, `us-central1`, `us-east1`, `us-west1`,
- `asia-east1`, `europe-west1`. For the location of `global` it is unspecified
- where logs are actually stored. Once a bucket has been created, the location
- can not be changed.'
- x-kubernetes-immutable: true
- parent:
- type: string
- x-dcl-go-name: Parent
- description: The parent of the resource.
- x-kubernetes-immutable: true
- x-dcl-forward-slash-allowed: true
- x-dcl-references:
- - resource: Cloudresourcemanager/BillingAccount
- field: name
- parent: true
- - resource: Cloudresourcemanager/Folder
- field: name
- parent: true
- - resource: Cloudresourcemanager/Organization
- field: name
- parent: true
- - resource: Cloudresourcemanager/Project
- field: name
- parent: true
- retentionDays:
- type: integer
- format: int64
- x-dcl-go-name: RetentionDays
- description: Logs will be retained by default for this amount of time, after
- which they will automatically be deleted. The minimum retention period
- is 1 day. If this value is set to zero at bucket creation time, the default
- time of 30 days will be used.
- updateTime:
- type: string
- format: date-time
- x-dcl-go-name: UpdateTime
- readOnly: true
- description: Output only. The last update timestamp of the bucket.
- x-kubernetes-immutable: true
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_bucket_internal.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_bucket_internal.go
deleted file mode 100644
index 5b4df35c24..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_bucket_internal.go
+++ /dev/null
@@ -1,816 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 logging
-
-import (
- "bytes"
- "context"
- "encoding/json"
- "fmt"
- "io/ioutil"
- "strings"
-
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-func (r *LogBucket) validate() error {
-
- if err := dcl.Required(r, "name"); err != nil {
- return err
- }
- if err := dcl.RequiredParameter(r.Parent, "Parent"); err != nil {
- return err
- }
- if err := dcl.RequiredParameter(r.Location, "Location"); err != nil {
- return err
- }
- return nil
-}
-func (r *LogBucket) basePath() string {
- params := map[string]interface{}{}
- return dcl.Nprintf("https://logging.googleapis.com/v2/", params)
-}
-
-func (r *LogBucket) getURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "location": dcl.ValueOrEmptyString(nr.Location),
- "parent": dcl.ValueOrEmptyString(nr.Parent),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("{{parent}}/locations/{{location}}/buckets/{{name}}", nr.basePath(), userBasePath, params), nil
-}
-
-func (r *LogBucket) listURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "location": dcl.ValueOrEmptyString(nr.Location),
- "parent": dcl.ValueOrEmptyString(nr.Parent),
- }
- return dcl.URL("{{parent}}/locations/{{location}}/buckets", nr.basePath(), userBasePath, params), nil
-
-}
-
-func (r *LogBucket) createURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "location": dcl.ValueOrEmptyString(nr.Location),
- "parent": dcl.ValueOrEmptyString(nr.Parent),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("{{parent}}/locations/{{location}}/buckets?bucketId={{name}}", nr.basePath(), userBasePath, params), nil
-
-}
-
-func (r *LogBucket) deleteURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "location": dcl.ValueOrEmptyString(nr.Location),
- "parent": dcl.ValueOrEmptyString(nr.Parent),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("{{parent}}/locations/{{location}}/buckets/{{name}}", nr.basePath(), userBasePath, params), nil
-}
-
-// logBucketApiOperation represents a mutable operation in the underlying REST
-// API such as Create, Update, or Delete.
-type logBucketApiOperation interface {
- do(context.Context, *LogBucket, *Client) error
-}
-
-// newUpdateLogBucketUpdateBucketRequest creates a request for an
-// LogBucket resource's UpdateBucket update type by filling in the update
-// fields based on the intended state of the resource.
-func newUpdateLogBucketUpdateBucketRequest(ctx context.Context, f *LogBucket, c *Client) (map[string]interface{}, error) {
- req := map[string]interface{}{}
- res := f
- _ = res
-
- if v := f.Description; !dcl.IsEmptyValueIndirect(v) {
- req["description"] = v
- }
- if v := f.RetentionDays; !dcl.IsEmptyValueIndirect(v) {
- req["retentionDays"] = v
- }
- if v := f.Locked; !dcl.IsEmptyValueIndirect(v) {
- req["locked"] = v
- }
- return req, nil
-}
-
-// marshalUpdateLogBucketUpdateBucketRequest converts the update into
-// the final JSON request body.
-func marshalUpdateLogBucketUpdateBucketRequest(c *Client, m map[string]interface{}) ([]byte, error) {
-
- return json.Marshal(m)
-}
-
-type updateLogBucketUpdateBucketOperation struct {
- // If the update operation has the REQUIRES_APPLY_OPTIONS trait, this will be populated.
- // Usually it will be nil - this is to prevent us from accidentally depending on apply
- // options, which should usually be unnecessary.
- ApplyOptions []dcl.ApplyOption
- FieldDiffs []*dcl.FieldDiff
-}
-
-// do creates a request and sends it to the appropriate URL. In most operations,
-// do will transcribe a subset of the resource into a request object and send a
-// PUT request to a single URL.
-
-func (op *updateLogBucketUpdateBucketOperation) do(ctx context.Context, r *LogBucket, c *Client) error {
- _, err := c.GetLogBucket(ctx, r)
- if err != nil {
- return err
- }
-
- u, err := r.updateURL(c.Config.BasePath, "UpdateBucket")
- if err != nil {
- return err
- }
- mask := dcl.UpdateMask(op.FieldDiffs)
- u, err = dcl.AddQueryParams(u, map[string]string{"updateMask": mask})
- if err != nil {
- return err
- }
-
- req, err := newUpdateLogBucketUpdateBucketRequest(ctx, r, c)
- if err != nil {
- return err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Created update: %#v", req)
- body, err := marshalUpdateLogBucketUpdateBucketRequest(c, req)
- if err != nil {
- return err
- }
- _, err = dcl.SendRequest(ctx, c.Config, "PATCH", u, bytes.NewBuffer(body), c.Config.RetryProvider)
- if err != nil {
- return err
- }
-
- return nil
-}
-
-func (c *Client) listLogBucketRaw(ctx context.Context, r *LogBucket, pageToken string, pageSize int32) ([]byte, error) {
- u, err := r.urlNormalized().listURL(c.Config.BasePath)
- if err != nil {
- return nil, err
- }
-
- m := make(map[string]string)
- if pageToken != "" {
- m["pageToken"] = pageToken
- }
-
- if pageSize != LogBucketMaxPage {
- m["pageSize"] = fmt.Sprintf("%v", pageSize)
- }
-
- u, err = dcl.AddQueryParams(u, m)
- if err != nil {
- return nil, err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
- if err != nil {
- return nil, err
- }
- defer resp.Response.Body.Close()
- return ioutil.ReadAll(resp.Response.Body)
-}
-
-type listLogBucketOperation struct {
- Buckets []map[string]interface{} `json:"buckets"`
- Token string `json:"nextPageToken"`
-}
-
-func (c *Client) listLogBucket(ctx context.Context, r *LogBucket, pageToken string, pageSize int32) ([]*LogBucket, string, error) {
- b, err := c.listLogBucketRaw(ctx, r, pageToken, pageSize)
- if err != nil {
- return nil, "", err
- }
-
- var m listLogBucketOperation
- if err := json.Unmarshal(b, &m); err != nil {
- return nil, "", err
- }
-
- var l []*LogBucket
- for _, v := range m.Buckets {
- res, err := unmarshalMapLogBucket(v, c, r)
- if err != nil {
- return nil, m.Token, err
- }
- res.Location = r.Location
- res.Parent = r.Parent
- l = append(l, res)
- }
-
- return l, m.Token, nil
-}
-
-func (c *Client) deleteAllLogBucket(ctx context.Context, f func(*LogBucket) bool, resources []*LogBucket) error {
- var errors []string
- for _, res := range resources {
- if f(res) {
- // We do not want deleteAll to fail on a deletion or else it will stop deleting other resources.
- err := c.DeleteLogBucket(ctx, res)
- if err != nil {
- errors = append(errors, err.Error())
- }
- }
- }
- if len(errors) > 0 {
- return fmt.Errorf("%v", strings.Join(errors, "\n"))
- } else {
- return nil
- }
-}
-
-type deleteLogBucketOperation struct{}
-
-// Create operations are similar to Update operations, although they do not have
-// specific request objects. The Create request object is the json encoding of
-// the resource, which is modified by res.marshal to form the base request body.
-type createLogBucketOperation struct {
- response map[string]interface{}
-}
-
-func (op *createLogBucketOperation) FirstResponse() (map[string]interface{}, bool) {
- return op.response, len(op.response) > 0
-}
-
-func (op *createLogBucketOperation) do(ctx context.Context, r *LogBucket, c *Client) error {
- c.Config.Logger.InfoWithContextf(ctx, "Attempting to create %v", r)
- u, err := r.createURL(c.Config.BasePath)
- if err != nil {
- return err
- }
-
- req, err := r.marshal(c)
- if err != nil {
- return err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "POST", u, bytes.NewBuffer(req), c.Config.RetryProvider)
- if err != nil {
- return err
- }
-
- o, err := dcl.ResponseBodyAsJSON(resp)
- if err != nil {
- return fmt.Errorf("error decoding response body into JSON: %w", err)
- }
- op.response = o
-
- if _, err := c.GetLogBucket(ctx, r); err != nil {
- c.Config.Logger.WarningWithContextf(ctx, "get returned error: %v", err)
- return err
- }
-
- return nil
-}
-
-func (c *Client) getLogBucketRaw(ctx context.Context, r *LogBucket) ([]byte, error) {
-
- u, err := r.getURL(c.Config.BasePath)
- if err != nil {
- return nil, err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
- if err != nil {
- return nil, err
- }
- defer resp.Response.Body.Close()
- b, err := ioutil.ReadAll(resp.Response.Body)
- if err != nil {
- return nil, err
- }
-
- return b, nil
-}
-
-func (c *Client) logBucketDiffsForRawDesired(ctx context.Context, rawDesired *LogBucket, opts ...dcl.ApplyOption) (initial, desired *LogBucket, diffs []*dcl.FieldDiff, err error) {
- c.Config.Logger.InfoWithContext(ctx, "Fetching initial state...")
- // First, let us see if the user provided a state hint. If they did, we will start fetching based on that.
- var fetchState *LogBucket
- if sh := dcl.FetchStateHint(opts); sh != nil {
- if r, ok := sh.(*LogBucket); !ok {
- c.Config.Logger.WarningWithContextf(ctx, "Initial state hint was of the wrong type; expected LogBucket, got %T", sh)
- } else {
- fetchState = r
- }
- }
- if fetchState == nil {
- fetchState = rawDesired
- }
-
- // 1.2: Retrieval of raw initial state from API
- rawInitial, err := c.GetLogBucket(ctx, fetchState)
- if rawInitial == nil {
- if !dcl.IsNotFound(err) {
- c.Config.Logger.WarningWithContextf(ctx, "Failed to retrieve whether a LogBucket resource already exists: %s", err)
- return nil, nil, nil, fmt.Errorf("failed to retrieve LogBucket resource: %v", err)
- }
- c.Config.Logger.InfoWithContext(ctx, "Found that LogBucket resource did not exist.")
- // Perform canonicalization to pick up defaults.
- desired, err = canonicalizeLogBucketDesiredState(rawDesired, rawInitial)
- return nil, desired, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Found initial state for LogBucket: %v", rawInitial)
- c.Config.Logger.InfoWithContextf(ctx, "Initial desired state for LogBucket: %v", rawDesired)
-
- // The Get call applies postReadExtract and so the result may contain fields that are not part of API version.
- if err := extractLogBucketFields(rawInitial); err != nil {
- return nil, nil, nil, err
- }
-
- // 1.3: Canonicalize raw initial state into initial state.
- initial, err = canonicalizeLogBucketInitialState(rawInitial, rawDesired)
- if err != nil {
- return nil, nil, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalized initial state for LogBucket: %v", initial)
-
- // 1.4: Canonicalize raw desired state into desired state.
- desired, err = canonicalizeLogBucketDesiredState(rawDesired, rawInitial, opts...)
- if err != nil {
- return nil, nil, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalized desired state for LogBucket: %v", desired)
-
- // 2.1: Comparison of initial and desired state.
- diffs, err = diffLogBucket(c, desired, initial, opts...)
- return initial, desired, diffs, err
-}
-
-func canonicalizeLogBucketInitialState(rawInitial, rawDesired *LogBucket) (*LogBucket, error) {
- // TODO(magic-modules-eng): write canonicalizer once relevant traits are added.
- return rawInitial, nil
-}
-
-/*
-* Canonicalizers
-*
-* These are responsible for converting either a user-specified config or a
-* GCP API response to a standard format that can be used for difference checking.
-* */
-
-func canonicalizeLogBucketDesiredState(rawDesired, rawInitial *LogBucket, opts ...dcl.ApplyOption) (*LogBucket, error) {
-
- if rawInitial == nil {
- // Since the initial state is empty, the desired state is all we have.
- // We canonicalize the remaining nested objects with nil to pick up defaults.
-
- return rawDesired, nil
- }
- canonicalDesired := &LogBucket{}
- if dcl.PartialSelfLinkToSelfLink(rawDesired.Name, rawInitial.Name) {
- canonicalDesired.Name = rawInitial.Name
- } else {
- canonicalDesired.Name = rawDesired.Name
- }
- if dcl.StringCanonicalize(rawDesired.Description, rawInitial.Description) {
- canonicalDesired.Description = rawInitial.Description
- } else {
- canonicalDesired.Description = rawDesired.Description
- }
- if dcl.IsZeroValue(rawDesired.RetentionDays) || (dcl.IsEmptyValueIndirect(rawDesired.RetentionDays) && dcl.IsEmptyValueIndirect(rawInitial.RetentionDays)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- canonicalDesired.RetentionDays = rawInitial.RetentionDays
- } else {
- canonicalDesired.RetentionDays = rawDesired.RetentionDays
- }
- if dcl.BoolCanonicalize(rawDesired.Locked, rawInitial.Locked) {
- canonicalDesired.Locked = rawInitial.Locked
- } else {
- canonicalDesired.Locked = rawDesired.Locked
- }
- if dcl.NameToSelfLink(rawDesired.Parent, rawInitial.Parent) {
- canonicalDesired.Parent = rawInitial.Parent
- } else {
- canonicalDesired.Parent = rawDesired.Parent
- }
- if dcl.NameToSelfLink(rawDesired.Location, rawInitial.Location) {
- canonicalDesired.Location = rawInitial.Location
- } else {
- canonicalDesired.Location = rawDesired.Location
- }
- return canonicalDesired, nil
-}
-
-func canonicalizeLogBucketNewState(c *Client, rawNew, rawDesired *LogBucket) (*LogBucket, error) {
-
- if dcl.IsEmptyValueIndirect(rawNew.Name) && dcl.IsEmptyValueIndirect(rawDesired.Name) {
- rawNew.Name = rawDesired.Name
- } else {
- if dcl.PartialSelfLinkToSelfLink(rawDesired.Name, rawNew.Name) {
- rawNew.Name = rawDesired.Name
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Description) && dcl.IsEmptyValueIndirect(rawDesired.Description) {
- rawNew.Description = rawDesired.Description
- } else {
- if dcl.StringCanonicalize(rawDesired.Description, rawNew.Description) {
- rawNew.Description = rawDesired.Description
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.CreateTime) && dcl.IsEmptyValueIndirect(rawDesired.CreateTime) {
- rawNew.CreateTime = rawDesired.CreateTime
- } else {
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.UpdateTime) && dcl.IsEmptyValueIndirect(rawDesired.UpdateTime) {
- rawNew.UpdateTime = rawDesired.UpdateTime
- } else {
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.RetentionDays) && dcl.IsEmptyValueIndirect(rawDesired.RetentionDays) {
- rawNew.RetentionDays = rawDesired.RetentionDays
- } else {
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Locked) && dcl.IsEmptyValueIndirect(rawDesired.Locked) {
- rawNew.Locked = rawDesired.Locked
- } else {
- if dcl.BoolCanonicalize(rawDesired.Locked, rawNew.Locked) {
- rawNew.Locked = rawDesired.Locked
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.LifecycleState) && dcl.IsEmptyValueIndirect(rawDesired.LifecycleState) {
- rawNew.LifecycleState = rawDesired.LifecycleState
- } else {
- }
-
- rawNew.Parent = rawDesired.Parent
-
- rawNew.Location = rawDesired.Location
-
- return rawNew, nil
-}
-
-// The differ returns a list of diffs, along with a list of operations that should be taken
-// to remedy them. Right now, it does not attempt to consolidate operations - if several
-// fields can be fixed with a patch update, it will perform the patch several times.
-// Diffs on some fields will be ignored if the `desired` state has an empty (nil)
-// value. This empty value indicates that the user does not care about the state for
-// the field. Empty fields on the actual object will cause diffs.
-// TODO(magic-modules-eng): for efficiency in some resources, add batching.
-func diffLogBucket(c *Client, desired, actual *LogBucket, opts ...dcl.ApplyOption) ([]*dcl.FieldDiff, error) {
- if desired == nil || actual == nil {
- return nil, fmt.Errorf("nil resource passed to diff - always a programming error: %#v, %#v", desired, actual)
- }
-
- c.Config.Logger.Infof("Diff function called with desired state: %v", desired)
- c.Config.Logger.Infof("Diff function called with actual state: %v", actual)
-
- var fn dcl.FieldName
- var newDiffs []*dcl.FieldDiff
- // New style diffs.
- if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Name")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Description, actual.Description, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateLogBucketUpdateBucketOperation")}, fn.AddNest("Description")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CreateTime, actual.CreateTime, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("CreateTime")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.UpdateTime, actual.UpdateTime, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("UpdateTime")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.RetentionDays, actual.RetentionDays, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateLogBucketUpdateBucketOperation")}, fn.AddNest("RetentionDays")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Locked, actual.Locked, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateLogBucketUpdateBucketOperation")}, fn.AddNest("Locked")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.LifecycleState, actual.LifecycleState, dcl.DiffInfo{OutputOnly: true, Type: "EnumType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("LifecycleState")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Parent, actual.Parent, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Parent")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Location, actual.Location, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Location")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if len(newDiffs) > 0 {
- c.Config.Logger.Infof("Diff function found diffs: %v", newDiffs)
- }
- return newDiffs, nil
-}
-
-// urlNormalized returns a copy of the resource struct with values normalized
-// for URL substitutions. For instance, it converts long-form self-links to
-// short-form so they can be substituted in.
-func (r *LogBucket) urlNormalized() *LogBucket {
- normalized := dcl.Copy(*r).(LogBucket)
- normalized.Name = dcl.SelfLinkToName(r.Name)
- normalized.Description = dcl.SelfLinkToName(r.Description)
- normalized.Parent = r.Parent
- normalized.Location = dcl.SelfLinkToName(r.Location)
- return &normalized
-}
-
-func (r *LogBucket) updateURL(userBasePath, updateName string) (string, error) {
- nr := r.urlNormalized()
- if updateName == "UpdateBucket" {
- fields := map[string]interface{}{
- "location": dcl.ValueOrEmptyString(nr.Location),
- "parent": dcl.ValueOrEmptyString(nr.Parent),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("{{parent}}/locations/{{location}}/buckets/{{name}}", nr.basePath(), userBasePath, fields), nil
-
- }
-
- return "", fmt.Errorf("unknown update name: %s", updateName)
-}
-
-// marshal encodes the LogBucket resource into JSON for a Create request, and
-// performs transformations from the resource schema to the API schema if
-// necessary.
-func (r *LogBucket) marshal(c *Client) ([]byte, error) {
- m, err := expandLogBucket(c, r)
- if err != nil {
- return nil, fmt.Errorf("error marshalling LogBucket: %w", err)
- }
-
- return json.Marshal(m)
-}
-
-// unmarshalLogBucket decodes JSON responses into the LogBucket resource schema.
-func unmarshalLogBucket(b []byte, c *Client, res *LogBucket) (*LogBucket, error) {
- var m map[string]interface{}
- if err := json.Unmarshal(b, &m); err != nil {
- return nil, err
- }
- return unmarshalMapLogBucket(m, c, res)
-}
-
-func unmarshalMapLogBucket(m map[string]interface{}, c *Client, res *LogBucket) (*LogBucket, error) {
-
- flattened := flattenLogBucket(c, m, res)
- if flattened == nil {
- return nil, fmt.Errorf("attempted to flatten empty json object")
- }
- return flattened, nil
-}
-
-// expandLogBucket expands LogBucket into a JSON request object.
-func expandLogBucket(c *Client, f *LogBucket) (map[string]interface{}, error) {
- m := make(map[string]interface{})
- res := f
- _ = res
- if v, err := dcl.DeriveField("%s/locations/%s/buckets/%s", f.Name, f.Parent, dcl.SelfLinkToName(f.Location), dcl.SelfLinkToName(f.Name)); err != nil {
- return nil, fmt.Errorf("error expanding Name into name: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["name"] = v
- }
- if v := f.Description; dcl.ValueShouldBeSent(v) {
- m["description"] = v
- }
- if v := f.RetentionDays; dcl.ValueShouldBeSent(v) {
- m["retentionDays"] = v
- }
- if v := f.Locked; dcl.ValueShouldBeSent(v) {
- m["locked"] = v
- }
- if v, err := dcl.EmptyValue(); err != nil {
- return nil, fmt.Errorf("error expanding Parent into parent: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["parent"] = v
- }
- if v, err := dcl.EmptyValue(); err != nil {
- return nil, fmt.Errorf("error expanding Location into location: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["location"] = v
- }
-
- return m, nil
-}
-
-// flattenLogBucket flattens LogBucket from a JSON request object into the
-// LogBucket type.
-func flattenLogBucket(c *Client, i interface{}, res *LogBucket) *LogBucket {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
- if len(m) == 0 {
- return nil
- }
-
- resultRes := &LogBucket{}
- resultRes.Name = dcl.FlattenString(m["name"])
- resultRes.Description = dcl.FlattenString(m["description"])
- resultRes.CreateTime = dcl.FlattenString(m["createTime"])
- resultRes.UpdateTime = dcl.FlattenString(m["updateTime"])
- resultRes.RetentionDays = dcl.FlattenInteger(m["retentionDays"])
- resultRes.Locked = dcl.FlattenBool(m["locked"])
- resultRes.LifecycleState = flattenLogBucketLifecycleStateEnum(m["lifecycleState"])
- resultRes.Parent = dcl.FlattenString(m["parent"])
- resultRes.Location = dcl.FlattenString(m["location"])
-
- return resultRes
-}
-
-// flattenLogBucketLifecycleStateEnumMap flattens the contents of LogBucketLifecycleStateEnum from a JSON
-// response object.
-func flattenLogBucketLifecycleStateEnumMap(c *Client, i interface{}, res *LogBucket) map[string]LogBucketLifecycleStateEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]LogBucketLifecycleStateEnum{}
- }
-
- if len(a) == 0 {
- return map[string]LogBucketLifecycleStateEnum{}
- }
-
- items := make(map[string]LogBucketLifecycleStateEnum)
- for k, item := range a {
- items[k] = *flattenLogBucketLifecycleStateEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenLogBucketLifecycleStateEnumSlice flattens the contents of LogBucketLifecycleStateEnum from a JSON
-// response object.
-func flattenLogBucketLifecycleStateEnumSlice(c *Client, i interface{}, res *LogBucket) []LogBucketLifecycleStateEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []LogBucketLifecycleStateEnum{}
- }
-
- if len(a) == 0 {
- return []LogBucketLifecycleStateEnum{}
- }
-
- items := make([]LogBucketLifecycleStateEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenLogBucketLifecycleStateEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenLogBucketLifecycleStateEnum asserts that an interface is a string, and returns a
-// pointer to a *LogBucketLifecycleStateEnum with the same value as that string.
-func flattenLogBucketLifecycleStateEnum(i interface{}) *LogBucketLifecycleStateEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return LogBucketLifecycleStateEnumRef(s)
-}
-
-// This function returns a matcher that checks whether a serialized resource matches this resource
-// in its parameters (as defined by the fields in a Get, which definitionally define resource
-// identity). This is useful in extracting the element from a List call.
-func (r *LogBucket) matcher(c *Client) func([]byte) bool {
- return func(b []byte) bool {
- cr, err := unmarshalLogBucket(b, c, r)
- if err != nil {
- c.Config.Logger.Warning("failed to unmarshal provided resource in matcher.")
- return false
- }
- nr := r.urlNormalized()
- ncr := cr.urlNormalized()
- c.Config.Logger.Infof("looking for %v\nin %v", nr, ncr)
-
- if nr.Location == nil && ncr.Location == nil {
- c.Config.Logger.Info("Both Location fields null - considering equal.")
- } else if nr.Location == nil || ncr.Location == nil {
- c.Config.Logger.Info("Only one Location field is null - considering unequal.")
- return false
- } else if *nr.Location != *ncr.Location {
- return false
- }
- if nr.Parent == nil && ncr.Parent == nil {
- c.Config.Logger.Info("Both Parent fields null - considering equal.")
- } else if nr.Parent == nil || ncr.Parent == nil {
- c.Config.Logger.Info("Only one Parent field is null - considering unequal.")
- return false
- } else if *nr.Parent != *ncr.Parent {
- return false
- }
- if nr.Name == nil && ncr.Name == nil {
- c.Config.Logger.Info("Both Name fields null - considering equal.")
- } else if nr.Name == nil || ncr.Name == nil {
- c.Config.Logger.Info("Only one Name field is null - considering unequal.")
- return false
- } else if *nr.Name != *ncr.Name {
- return false
- }
- return true
- }
-}
-
-type logBucketDiff struct {
- // The diff should include one or the other of RequiresRecreate or UpdateOp.
- RequiresRecreate bool
- UpdateOp logBucketApiOperation
- FieldName string // used for error logging
-}
-
-func convertFieldDiffsToLogBucketDiffs(config *dcl.Config, fds []*dcl.FieldDiff, opts []dcl.ApplyOption) ([]logBucketDiff, error) {
- opNamesToFieldDiffs := make(map[string][]*dcl.FieldDiff)
- // Map each operation name to the field diffs associated with it.
- for _, fd := range fds {
- for _, ro := range fd.ResultingOperation {
- if fieldDiffs, ok := opNamesToFieldDiffs[ro]; ok {
- fieldDiffs = append(fieldDiffs, fd)
- opNamesToFieldDiffs[ro] = fieldDiffs
- } else {
- config.Logger.Infof("%s required due to diff: %v", ro, fd)
- opNamesToFieldDiffs[ro] = []*dcl.FieldDiff{fd}
- }
- }
- }
- var diffs []logBucketDiff
- // For each operation name, create a logBucketDiff which contains the operation.
- for opName, fieldDiffs := range opNamesToFieldDiffs {
- // Use the first field diff's field name for logging required recreate error.
- diff := logBucketDiff{FieldName: fieldDiffs[0].FieldName}
- if opName == "Recreate" {
- diff.RequiresRecreate = true
- } else {
- apiOp, err := convertOpNameToLogBucketApiOperation(opName, fieldDiffs, opts...)
- if err != nil {
- return diffs, err
- }
- diff.UpdateOp = apiOp
- }
- diffs = append(diffs, diff)
- }
- return diffs, nil
-}
-
-func convertOpNameToLogBucketApiOperation(opName string, fieldDiffs []*dcl.FieldDiff, opts ...dcl.ApplyOption) (logBucketApiOperation, error) {
- switch opName {
-
- case "updateLogBucketUpdateBucketOperation":
- return &updateLogBucketUpdateBucketOperation{FieldDiffs: fieldDiffs}, nil
-
- default:
- return nil, fmt.Errorf("no such operation with name: %v", opName)
- }
-}
-
-func extractLogBucketFields(r *LogBucket) error {
- return nil
-}
-
-func postReadExtractLogBucketFields(r *LogBucket) error {
- return nil
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_bucket_schema.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_bucket_schema.go
deleted file mode 100644
index 96d086810e..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_bucket_schema.go
+++ /dev/null
@@ -1,203 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 logging
-
-import (
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-func DCLLogBucketSchema() *dcl.Schema {
- return &dcl.Schema{
- Info: &dcl.Info{
- Title: "Logging/LogBucket",
- Description: "The Logging LogBucket resource",
- StructName: "LogBucket",
- },
- Paths: &dcl.Paths{
- Get: &dcl.Path{
- Description: "The function used to get information about a LogBucket",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "logBucket",
- Required: true,
- Description: "A full instance of a LogBucket",
- },
- },
- },
- Apply: &dcl.Path{
- Description: "The function used to apply information about a LogBucket",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "logBucket",
- Required: true,
- Description: "A full instance of a LogBucket",
- },
- },
- },
- Delete: &dcl.Path{
- Description: "The function used to delete a LogBucket",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "logBucket",
- Required: true,
- Description: "A full instance of a LogBucket",
- },
- },
- },
- DeleteAll: &dcl.Path{
- Description: "The function used to delete all LogBucket",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "location",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- dcl.PathParameters{
- Name: "parent",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- },
- },
- List: &dcl.Path{
- Description: "The function used to list information about many LogBucket",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "location",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- dcl.PathParameters{
- Name: "parent",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- },
- },
- },
- Components: &dcl.Components{
- Schemas: map[string]*dcl.Component{
- "LogBucket": &dcl.Component{
- Title: "LogBucket",
- ID: "{{parent}}/locations/{{location}}/buckets/{{name}}",
- HasCreate: true,
- SchemaProperty: dcl.Property{
- Type: "object",
- Required: []string{
- "name",
- "parent",
- "location",
- },
- Properties: map[string]*dcl.Property{
- "createTime": &dcl.Property{
- Type: "string",
- Format: "date-time",
- GoName: "CreateTime",
- ReadOnly: true,
- Description: "Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.",
- Immutable: true,
- },
- "description": &dcl.Property{
- Type: "string",
- GoName: "Description",
- Description: "Describes this bucket.",
- },
- "lifecycleState": &dcl.Property{
- Type: "string",
- GoName: "LifecycleState",
- GoType: "LogBucketLifecycleStateEnum",
- ReadOnly: true,
- Description: "Output only. The bucket lifecycle state. Possible values: LIFECYCLE_STATE_UNSPECIFIED, ACTIVE, DELETE_REQUESTED",
- Immutable: true,
- Enum: []string{
- "LIFECYCLE_STATE_UNSPECIFIED",
- "ACTIVE",
- "DELETE_REQUESTED",
- },
- },
- "location": &dcl.Property{
- Type: "string",
- GoName: "Location",
- Description: "The location of the resource. The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.",
- Immutable: true,
- },
- "locked": &dcl.Property{
- Type: "boolean",
- GoName: "Locked",
- Description: "Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.",
- },
- "name": &dcl.Property{
- Type: "string",
- GoName: "Name",
- Description: "The resource name of the bucket. For example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id\" The supported locations are: `global`, `us-central1`, `us-east1`, `us-west1`, `asia-east1`, `europe-west1`. For the location of `global` it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.",
- Immutable: true,
- },
- "parent": &dcl.Property{
- Type: "string",
- GoName: "Parent",
- Description: "The parent of the resource.",
- Immutable: true,
- ForwardSlashAllowed: true,
- ResourceReferences: []*dcl.PropertyResourceReference{
- &dcl.PropertyResourceReference{
- Resource: "Cloudresourcemanager/BillingAccount",
- Field: "name",
- Parent: true,
- },
- &dcl.PropertyResourceReference{
- Resource: "Cloudresourcemanager/Folder",
- Field: "name",
- Parent: true,
- },
- &dcl.PropertyResourceReference{
- Resource: "Cloudresourcemanager/Organization",
- Field: "name",
- Parent: true,
- },
- &dcl.PropertyResourceReference{
- Resource: "Cloudresourcemanager/Project",
- Field: "name",
- Parent: true,
- },
- },
- },
- "retentionDays": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "RetentionDays",
- Description: "Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.",
- },
- "updateTime": &dcl.Property{
- Type: "string",
- Format: "date-time",
- GoName: "UpdateTime",
- ReadOnly: true,
- Description: "Output only. The last update timestamp of the bucket.",
- Immutable: true,
- },
- },
- },
- },
- },
- },
- }
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_bucket_yaml_embed.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_bucket_yaml_embed.go
deleted file mode 100644
index cbc5928d25..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_bucket_yaml_embed.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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.
-// GENERATED BY gen_go_data.go
-// gen_go_data -package logging -var YAML_log_bucket blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/logging/log_bucket.yaml
-
-package logging
-
-// blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/logging/log_bucket.yaml
-var YAML_log_bucket = []byte("info:\n title: Logging/LogBucket\n description: The Logging LogBucket resource\n x-dcl-struct-name: LogBucket\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a LogBucket\n parameters:\n - name: logBucket\n required: true\n description: A full instance of a LogBucket\n apply:\n description: The function used to apply information about a LogBucket\n parameters:\n - name: logBucket\n required: true\n description: A full instance of a LogBucket\n delete:\n description: The function used to delete a LogBucket\n parameters:\n - name: logBucket\n required: true\n description: A full instance of a LogBucket\n deleteAll:\n description: The function used to delete all LogBucket\n parameters:\n - name: location\n required: true\n schema:\n type: string\n - name: parent\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many LogBucket\n parameters:\n - name: location\n required: true\n schema:\n type: string\n - name: parent\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n LogBucket:\n title: LogBucket\n x-dcl-id: '{{parent}}/locations/{{location}}/buckets/{{name}}'\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - parent\n - location\n properties:\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Output only. The creation timestamp of the bucket. This is\n not set for any of the default buckets.\n x-kubernetes-immutable: true\n description:\n type: string\n x-dcl-go-name: Description\n description: Describes this bucket.\n lifecycleState:\n type: string\n x-dcl-go-name: LifecycleState\n x-dcl-go-type: LogBucketLifecycleStateEnum\n readOnly: true\n description: 'Output only. The bucket lifecycle state. Possible values:\n LIFECYCLE_STATE_UNSPECIFIED, ACTIVE, DELETE_REQUESTED'\n x-kubernetes-immutable: true\n enum:\n - LIFECYCLE_STATE_UNSPECIFIED\n - ACTIVE\n - DELETE_REQUESTED\n location:\n type: string\n x-dcl-go-name: Location\n description: 'The location of the resource. The supported locations are:\n global, us-central1, us-east1, us-west1, asia-east1, europe-west1.'\n x-kubernetes-immutable: true\n locked:\n type: boolean\n x-dcl-go-name: Locked\n description: Whether the bucket has been locked. The retention period on\n a locked bucket may not be changed. Locked buckets may only be deleted\n if they are empty.\n name:\n type: string\n x-dcl-go-name: Name\n description: 'The resource name of the bucket. For example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id\"\n The supported locations are: `global`, `us-central1`, `us-east1`, `us-west1`,\n `asia-east1`, `europe-west1`. For the location of `global` it is unspecified\n where logs are actually stored. Once a bucket has been created, the location\n can not be changed.'\n x-kubernetes-immutable: true\n parent:\n type: string\n x-dcl-go-name: Parent\n description: The parent of the resource.\n x-kubernetes-immutable: true\n x-dcl-forward-slash-allowed: true\n x-dcl-references:\n - resource: Cloudresourcemanager/BillingAccount\n field: name\n parent: true\n - resource: Cloudresourcemanager/Folder\n field: name\n parent: true\n - resource: Cloudresourcemanager/Organization\n field: name\n parent: true\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n retentionDays:\n type: integer\n format: int64\n x-dcl-go-name: RetentionDays\n description: Logs will be retained by default for this amount of time, after\n which they will automatically be deleted. The minimum retention period\n is 1 day. If this value is set to zero at bucket creation time, the default\n time of 30 days will be used.\n updateTime:\n type: string\n format: date-time\n x-dcl-go-name: UpdateTime\n readOnly: true\n description: Output only. The last update timestamp of the bucket.\n x-kubernetes-immutable: true\n")
-
-// 4841 bytes
-// MD5: cbf20ec9f28796e7d05c23eb5e38b1ac
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_exclusion.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_exclusion.go
deleted file mode 100644
index f158224a0d..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_exclusion.go
+++ /dev/null
@@ -1,371 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 logging
-
-import (
- "context"
- "fmt"
- "time"
-
- "google.golang.org/api/googleapi"
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-type LogExclusion struct {
- Name *string `json:"name"`
- Description *string `json:"description"`
- Filter *string `json:"filter"`
- Disabled *bool `json:"disabled"`
- CreateTime *string `json:"createTime"`
- UpdateTime *string `json:"updateTime"`
- Parent *string `json:"parent"`
-}
-
-func (r *LogExclusion) String() string {
- return dcl.SprintResource(r)
-}
-
-// Describe returns a simple description of this resource to ensure that automated tools
-// can identify it.
-func (r *LogExclusion) Describe() dcl.ServiceTypeVersion {
- return dcl.ServiceTypeVersion{
- Service: "logging",
- Type: "LogExclusion",
- Version: "logging",
- }
-}
-
-func (r *LogExclusion) ID() (string, error) {
- if err := extractLogExclusionFields(r); err != nil {
- return "", err
- }
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "name": dcl.ValueOrEmptyString(nr.Name),
- "description": dcl.ValueOrEmptyString(nr.Description),
- "filter": dcl.ValueOrEmptyString(nr.Filter),
- "disabled": dcl.ValueOrEmptyString(nr.Disabled),
- "create_time": dcl.ValueOrEmptyString(nr.CreateTime),
- "update_time": dcl.ValueOrEmptyString(nr.UpdateTime),
- "parent": dcl.ValueOrEmptyString(nr.Parent),
- }
- return dcl.Nprintf("{{parent}}/exclusions/{{name}}", params), nil
-}
-
-const LogExclusionMaxPage = -1
-
-type LogExclusionList struct {
- Items []*LogExclusion
-
- nextToken string
-
- pageSize int32
-
- resource *LogExclusion
-}
-
-func (l *LogExclusionList) HasNext() bool {
- return l.nextToken != ""
-}
-
-func (l *LogExclusionList) Next(ctx context.Context, c *Client) error {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- if !l.HasNext() {
- return fmt.Errorf("no next page")
- }
- items, token, err := c.listLogExclusion(ctx, l.resource, l.nextToken, l.pageSize)
- if err != nil {
- return err
- }
- l.Items = items
- l.nextToken = token
- return err
-}
-
-func (c *Client) ListLogExclusion(ctx context.Context, parent string) (*LogExclusionList, error) {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- return c.ListLogExclusionWithMaxResults(ctx, parent, LogExclusionMaxPage)
-
-}
-
-func (c *Client) ListLogExclusionWithMaxResults(ctx context.Context, parent string, pageSize int32) (*LogExclusionList, error) {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- // Create a resource object so that we can use proper url normalization methods.
- r := &LogExclusion{
- Parent: &parent,
- }
- items, token, err := c.listLogExclusion(ctx, r, "", pageSize)
- if err != nil {
- return nil, err
- }
- return &LogExclusionList{
- Items: items,
- nextToken: token,
- pageSize: pageSize,
- resource: r,
- }, nil
-}
-
-func (c *Client) GetLogExclusion(ctx context.Context, r *LogExclusion) (*LogExclusion, error) {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- // This is *purposefully* supressing errors.
- // This function is used with url-normalized values + not URL normalized values.
- // URL Normalized values will throw unintentional errors, since those values are not of the proper parent form.
- extractLogExclusionFields(r)
-
- b, err := c.getLogExclusionRaw(ctx, r)
- if err != nil {
- if dcl.IsNotFound(err) {
- return nil, &googleapi.Error{
- Code: 404,
- Message: err.Error(),
- }
- }
- return nil, err
- }
- result, err := unmarshalLogExclusion(b, c, r)
- if err != nil {
- return nil, err
- }
- result.Parent = r.Parent
- result.Name = r.Name
-
- c.Config.Logger.InfoWithContextf(ctx, "Retrieved raw result state: %v", result)
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalizing with specified state: %v", r)
- result, err = canonicalizeLogExclusionNewState(c, result, r)
- if err != nil {
- return nil, err
- }
- if err := postReadExtractLogExclusionFields(result); err != nil {
- return result, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Created result state: %v", result)
-
- return result, nil
-}
-
-func (c *Client) DeleteLogExclusion(ctx context.Context, r *LogExclusion) error {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- if r == nil {
- return fmt.Errorf("LogExclusion resource is nil")
- }
- c.Config.Logger.InfoWithContext(ctx, "Deleting LogExclusion...")
- deleteOp := deleteLogExclusionOperation{}
- return deleteOp.do(ctx, r, c)
-}
-
-// DeleteAllLogExclusion deletes all resources that the filter functions returns true on.
-func (c *Client) DeleteAllLogExclusion(ctx context.Context, parent string, filter func(*LogExclusion) bool) error {
- listObj, err := c.ListLogExclusion(ctx, parent)
- if err != nil {
- return err
- }
-
- err = c.deleteAllLogExclusion(ctx, filter, listObj.Items)
- if err != nil {
- return err
- }
- for listObj.HasNext() {
- err = listObj.Next(ctx, c)
- if err != nil {
- return nil
- }
- err = c.deleteAllLogExclusion(ctx, filter, listObj.Items)
- if err != nil {
- return err
- }
- }
- return nil
-}
-
-func (c *Client) ApplyLogExclusion(ctx context.Context, rawDesired *LogExclusion, opts ...dcl.ApplyOption) (*LogExclusion, error) {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- ctx = dcl.ContextWithRequestID(ctx)
- var resultNewState *LogExclusion
- err := dcl.Do(ctx, func(ctx context.Context) (*dcl.RetryDetails, error) {
- newState, err := applyLogExclusionHelper(c, ctx, rawDesired, opts...)
- resultNewState = newState
- if err != nil {
- // If the error is 409, there is conflict in resource update.
- // Here we want to apply changes based on latest state.
- if dcl.IsConflictError(err) {
- return &dcl.RetryDetails{}, dcl.OperationNotDone{Err: err}
- }
- return nil, err
- }
- return nil, nil
- }, c.Config.RetryProvider)
- return resultNewState, err
-}
-
-func applyLogExclusionHelper(c *Client, ctx context.Context, rawDesired *LogExclusion, opts ...dcl.ApplyOption) (*LogExclusion, error) {
- c.Config.Logger.InfoWithContext(ctx, "Beginning ApplyLogExclusion...")
- c.Config.Logger.InfoWithContextf(ctx, "User specified desired state: %v", rawDesired)
-
- // 1.1: Validation of user-specified fields in desired state.
- if err := rawDesired.validate(); err != nil {
- return nil, err
- }
-
- if err := extractLogExclusionFields(rawDesired); err != nil {
- return nil, err
- }
-
- initial, desired, fieldDiffs, err := c.logExclusionDiffsForRawDesired(ctx, rawDesired, opts...)
- if err != nil {
- return nil, fmt.Errorf("failed to create a diff: %w", err)
- }
-
- diffs, err := convertFieldDiffsToLogExclusionDiffs(c.Config, fieldDiffs, opts)
- if err != nil {
- return nil, err
- }
-
- // TODO(magic-modules-eng): 2.2 Feasibility check (all updates are feasible so far).
-
- // 2.3: Lifecycle Directive Check
- var create bool
- lp := dcl.FetchLifecycleParams(opts)
- if initial == nil {
- if dcl.HasLifecycleParam(lp, dcl.BlockCreation) {
- return nil, dcl.ApplyInfeasibleError{Message: fmt.Sprintf("Creation blocked by lifecycle params: %#v.", desired)}
- }
- create = true
- } else if dcl.HasLifecycleParam(lp, dcl.BlockAcquire) {
- return nil, dcl.ApplyInfeasibleError{
- Message: fmt.Sprintf("Resource already exists - apply blocked by lifecycle params: %#v.", initial),
- }
- } else {
- for _, d := range diffs {
- if d.RequiresRecreate {
- return nil, dcl.ApplyInfeasibleError{
- Message: fmt.Sprintf("infeasible update: (%v) would require recreation", d),
- }
- }
- if dcl.HasLifecycleParam(lp, dcl.BlockModification) {
- return nil, dcl.ApplyInfeasibleError{Message: fmt.Sprintf("Modification blocked, diff (%v) unresolvable.", d)}
- }
- }
- }
-
- // 2.4 Imperative Request Planning
- var ops []logExclusionApiOperation
- if create {
- ops = append(ops, &createLogExclusionOperation{})
- } else {
- for _, d := range diffs {
- ops = append(ops, d.UpdateOp)
- }
- }
- c.Config.Logger.InfoWithContextf(ctx, "Created plan: %#v", ops)
-
- // 2.5 Request Actuation
- for _, op := range ops {
- c.Config.Logger.InfoWithContextf(ctx, "Performing operation %T %+v", op, op)
- if err := op.do(ctx, desired, c); err != nil {
- c.Config.Logger.InfoWithContextf(ctx, "Failed operation %T %+v: %v", op, op, err)
- return nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Finished operation %T %+v", op, op)
- }
- return applyLogExclusionDiff(c, ctx, desired, rawDesired, ops, opts...)
-}
-
-func applyLogExclusionDiff(c *Client, ctx context.Context, desired *LogExclusion, rawDesired *LogExclusion, ops []logExclusionApiOperation, opts ...dcl.ApplyOption) (*LogExclusion, error) {
- // 3.1, 3.2a Retrieval of raw new state & canonicalization with desired state
- c.Config.Logger.InfoWithContext(ctx, "Retrieving raw new state...")
- rawNew, err := c.GetLogExclusion(ctx, desired)
- if err != nil {
- return nil, err
- }
- // Get additional values from the first response.
- // These values should be merged into the newState above.
- if len(ops) > 0 {
- lastOp := ops[len(ops)-1]
- if o, ok := lastOp.(*createLogExclusionOperation); ok {
- if r, hasR := o.FirstResponse(); hasR {
-
- c.Config.Logger.InfoWithContext(ctx, "Retrieving raw new state from operation...")
-
- fullResp, err := unmarshalMapLogExclusion(r, c, rawDesired)
- if err != nil {
- return nil, err
- }
-
- rawNew, err = canonicalizeLogExclusionNewState(c, rawNew, fullResp)
- if err != nil {
- return nil, err
- }
- }
- }
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalizing with raw desired state: %v", rawDesired)
- // 3.2b Canonicalization of raw new state using raw desired state
- newState, err := canonicalizeLogExclusionNewState(c, rawNew, rawDesired)
- if err != nil {
- return rawNew, err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Created canonical new state: %v", newState)
- // 3.3 Comparison of the new state and raw desired state.
- // TODO(magic-modules-eng): EVENTUALLY_CONSISTENT_UPDATE
- newDesired, err := canonicalizeLogExclusionDesiredState(rawDesired, newState)
- if err != nil {
- return newState, err
- }
-
- if err := postReadExtractLogExclusionFields(newState); err != nil {
- return newState, err
- }
-
- // Need to ensure any transformations made here match acceptably in differ.
- if err := postReadExtractLogExclusionFields(newDesired); err != nil {
- return newState, err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Diffing using canonicalized desired state: %v", newDesired)
- newDiffs, err := diffLogExclusion(c, newDesired, newState)
- if err != nil {
- return newState, err
- }
-
- if len(newDiffs) == 0 {
- c.Config.Logger.InfoWithContext(ctx, "No diffs found. Apply was successful.")
- } else {
- c.Config.Logger.InfoWithContextf(ctx, "Found diffs: %v", newDiffs)
- diffMessages := make([]string, len(newDiffs))
- for i, d := range newDiffs {
- diffMessages[i] = fmt.Sprintf("%v", d)
- }
- return newState, dcl.DiffAfterApplyError{Diffs: diffMessages}
- }
- c.Config.Logger.InfoWithContext(ctx, "Done Apply.")
- return newState, nil
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_exclusion.yaml b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_exclusion.yaml
deleted file mode 100644
index 292c3dad2e..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_exclusion.yaml
+++ /dev/null
@@ -1,128 +0,0 @@
-# Copyright 2023 Google LLC. All Rights Reserved.
-#
-# 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.
-info:
- title: Logging/LogExclusion
- description: The Logging LogExclusion resource
- x-dcl-struct-name: LogExclusion
- x-dcl-has-iam: false
-paths:
- get:
- description: The function used to get information about a LogExclusion
- parameters:
- - name: logExclusion
- required: true
- description: A full instance of a LogExclusion
- apply:
- description: The function used to apply information about a LogExclusion
- parameters:
- - name: logExclusion
- required: true
- description: A full instance of a LogExclusion
- delete:
- description: The function used to delete a LogExclusion
- parameters:
- - name: logExclusion
- required: true
- description: A full instance of a LogExclusion
- deleteAll:
- description: The function used to delete all LogExclusion
- parameters:
- - name: parent
- required: true
- schema:
- type: string
- list:
- description: The function used to list information about many LogExclusion
- parameters:
- - name: parent
- required: true
- schema:
- type: string
-components:
- schemas:
- LogExclusion:
- title: LogExclusion
- x-dcl-id: '{{parent}}/exclusions/{{name}}'
- x-dcl-has-create: true
- x-dcl-has-iam: false
- x-dcl-read-timeout: 0
- x-dcl-apply-timeout: 0
- x-dcl-delete-timeout: 0
- type: object
- required:
- - filter
- properties:
- createTime:
- type: string
- format: date-time
- x-dcl-go-name: CreateTime
- readOnly: true
- description: Output only. The creation timestamp of the exclusion. This
- field may not be present for older exclusions.
- x-kubernetes-immutable: true
- description:
- type: string
- x-dcl-go-name: Description
- description: Optional. A description of this exclusion.
- disabled:
- type: boolean
- x-dcl-go-name: Disabled
- description: Optional. If set to True, then this exclusion is disabled and
- it does not exclude any log entries. You can update an exclusion to change
- the value of this field.
- filter:
- type: string
- x-dcl-go-name: Filter
- description: 'Required. An (https://cloud.google.com/logging/docs/view/advanced-queries#sample),
- you can exclude less than 100% of the matching log entries. For example,
- the following query matches 99% of low-severity log entries from Google
- Cloud Storage buckets: `"resource.type=gcs_bucket severity'
- name:
- type: string
- x-dcl-go-name: Name
- description: Required. A client-assigned identifier, such as `"load-balancer-exclusion"`.
- Identifiers are limited to 100 characters and can include only letters,
- digits, underscores, hyphens, and periods. First character has to be alphanumeric.
- x-kubernetes-immutable: true
- parent:
- type: string
- x-dcl-go-name: Parent
- description: 'The parent resource in which to create the exclusion: "projects/[PROJECT_ID]"
- "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]"
- "folders/[FOLDER_ID]" Examples: "projects/my-logging-project", "organizations/123456789".
- Authorization requires the following IAM permission on the specified resource
- parent: logging.exclusions.create'
- x-kubernetes-immutable: true
- x-dcl-forward-slash-allowed: true
- x-dcl-references:
- - resource: Cloudresourcemanager/Project
- field: name
- parent: true
- - resource: Cloudresourcemanager/Folder
- field: name
- parent: true
- - resource: Cloudresourcemanager/Organization
- field: name
- parent: true
- - resource: Cloudresourcemanager/BillingAccount
- field: name
- parent: true
- updateTime:
- type: string
- format: date-time
- x-dcl-go-name: UpdateTime
- readOnly: true
- description: Output only. The last update timestamp of the exclusion. This
- field may not be present for older exclusions.
- x-kubernetes-immutable: true
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_exclusion_internal.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_exclusion_internal.go
deleted file mode 100644
index 628b285689..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_exclusion_internal.go
+++ /dev/null
@@ -1,756 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 logging
-
-import (
- "bytes"
- "context"
- "encoding/json"
- "fmt"
- "io/ioutil"
- "strings"
-
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-func (r *LogExclusion) validate() error {
-
- if err := dcl.ValidateAtMostOneOfFieldsSet([]string(nil)); err != nil {
- return err
- }
- if err := dcl.Required(r, "filter"); err != nil {
- return err
- }
- return nil
-}
-func (r *LogExclusion) basePath() string {
- params := map[string]interface{}{}
- return dcl.Nprintf("https://logging.googleapis.com/v2/", params)
-}
-
-func (r *LogExclusion) getURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "parent": dcl.ValueOrEmptyString(nr.Parent),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("{{parent}}/exclusions/{{name}}", nr.basePath(), userBasePath, params), nil
-}
-
-func (r *LogExclusion) listURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "parent": dcl.ValueOrEmptyString(nr.Parent),
- }
- return dcl.URL("{{parent}}/exclusions", nr.basePath(), userBasePath, params), nil
-
-}
-
-func (r *LogExclusion) createURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "parent": dcl.ValueOrEmptyString(nr.Parent),
- }
- return dcl.URL("{{parent}}/exclusions", nr.basePath(), userBasePath, params), nil
-
-}
-
-func (r *LogExclusion) deleteURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "parent": dcl.ValueOrEmptyString(nr.Parent),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("{{parent}}/exclusions/{{name}}", nr.basePath(), userBasePath, params), nil
-}
-
-// logExclusionApiOperation represents a mutable operation in the underlying REST
-// API such as Create, Update, or Delete.
-type logExclusionApiOperation interface {
- do(context.Context, *LogExclusion, *Client) error
-}
-
-// newUpdateLogExclusionUpdateExclusionRequest creates a request for an
-// LogExclusion resource's UpdateExclusion update type by filling in the update
-// fields based on the intended state of the resource.
-func newUpdateLogExclusionUpdateExclusionRequest(ctx context.Context, f *LogExclusion, c *Client) (map[string]interface{}, error) {
- req := map[string]interface{}{}
- res := f
- _ = res
-
- if v := f.Description; !dcl.IsEmptyValueIndirect(v) {
- req["description"] = v
- }
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- req["filter"] = v
- }
- if v := f.Disabled; !dcl.IsEmptyValueIndirect(v) {
- req["disabled"] = v
- }
- return req, nil
-}
-
-// marshalUpdateLogExclusionUpdateExclusionRequest converts the update into
-// the final JSON request body.
-func marshalUpdateLogExclusionUpdateExclusionRequest(c *Client, m map[string]interface{}) ([]byte, error) {
-
- return json.Marshal(m)
-}
-
-type updateLogExclusionUpdateExclusionOperation struct {
- // If the update operation has the REQUIRES_APPLY_OPTIONS trait, this will be populated.
- // Usually it will be nil - this is to prevent us from accidentally depending on apply
- // options, which should usually be unnecessary.
- ApplyOptions []dcl.ApplyOption
- FieldDiffs []*dcl.FieldDiff
-}
-
-// do creates a request and sends it to the appropriate URL. In most operations,
-// do will transcribe a subset of the resource into a request object and send a
-// PUT request to a single URL.
-
-func (op *updateLogExclusionUpdateExclusionOperation) do(ctx context.Context, r *LogExclusion, c *Client) error {
- _, err := c.GetLogExclusion(ctx, r)
- if err != nil {
- return err
- }
-
- u, err := r.updateURL(c.Config.BasePath, "UpdateExclusion")
- if err != nil {
- return err
- }
- mask := dcl.UpdateMask(op.FieldDiffs)
- u, err = dcl.AddQueryParams(u, map[string]string{"updateMask": mask})
- if err != nil {
- return err
- }
-
- req, err := newUpdateLogExclusionUpdateExclusionRequest(ctx, r, c)
- if err != nil {
- return err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Created update: %#v", req)
- body, err := marshalUpdateLogExclusionUpdateExclusionRequest(c, req)
- if err != nil {
- return err
- }
- _, err = dcl.SendRequest(ctx, c.Config, "PATCH", u, bytes.NewBuffer(body), c.Config.RetryProvider)
- if err != nil {
- return err
- }
-
- return nil
-}
-
-func (c *Client) listLogExclusionRaw(ctx context.Context, r *LogExclusion, pageToken string, pageSize int32) ([]byte, error) {
- u, err := r.urlNormalized().listURL(c.Config.BasePath)
- if err != nil {
- return nil, err
- }
-
- m := make(map[string]string)
- if pageToken != "" {
- m["pageToken"] = pageToken
- }
-
- if pageSize != LogExclusionMaxPage {
- m["pageSize"] = fmt.Sprintf("%v", pageSize)
- }
-
- u, err = dcl.AddQueryParams(u, m)
- if err != nil {
- return nil, err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
- if err != nil {
- return nil, err
- }
- defer resp.Response.Body.Close()
- return ioutil.ReadAll(resp.Response.Body)
-}
-
-type listLogExclusionOperation struct {
- Exclusions []map[string]interface{} `json:"exclusions"`
- Token string `json:"nextPageToken"`
-}
-
-func (c *Client) listLogExclusion(ctx context.Context, r *LogExclusion, pageToken string, pageSize int32) ([]*LogExclusion, string, error) {
- b, err := c.listLogExclusionRaw(ctx, r, pageToken, pageSize)
- if err != nil {
- return nil, "", err
- }
-
- var m listLogExclusionOperation
- if err := json.Unmarshal(b, &m); err != nil {
- return nil, "", err
- }
-
- var l []*LogExclusion
- for _, v := range m.Exclusions {
- res, err := unmarshalMapLogExclusion(v, c, r)
- if err != nil {
- return nil, m.Token, err
- }
- res.Parent = r.Parent
- l = append(l, res)
- }
-
- return l, m.Token, nil
-}
-
-func (c *Client) deleteAllLogExclusion(ctx context.Context, f func(*LogExclusion) bool, resources []*LogExclusion) error {
- var errors []string
- for _, res := range resources {
- if f(res) {
- // We do not want deleteAll to fail on a deletion or else it will stop deleting other resources.
- err := c.DeleteLogExclusion(ctx, res)
- if err != nil {
- errors = append(errors, err.Error())
- }
- }
- }
- if len(errors) > 0 {
- return fmt.Errorf("%v", strings.Join(errors, "\n"))
- } else {
- return nil
- }
-}
-
-type deleteLogExclusionOperation struct{}
-
-func (op *deleteLogExclusionOperation) do(ctx context.Context, r *LogExclusion, c *Client) error {
- r, err := c.GetLogExclusion(ctx, r)
- if err != nil {
- if dcl.IsNotFound(err) {
- c.Config.Logger.InfoWithContextf(ctx, "LogExclusion not found, returning. Original error: %v", err)
- return nil
- }
- c.Config.Logger.WarningWithContextf(ctx, "GetLogExclusion checking for existence. error: %v", err)
- return err
- }
-
- u, err := r.deleteURL(c.Config.BasePath)
- if err != nil {
- return err
- }
-
- // Delete should never have a body
- body := &bytes.Buffer{}
- _, err = dcl.SendRequest(ctx, c.Config, "DELETE", u, body, c.Config.RetryProvider)
- if err != nil {
- return fmt.Errorf("failed to delete LogExclusion: %w", err)
- }
-
- // We saw a race condition where for some successful delete operation, the Get calls returned resources for a short duration.
- // This is the reason we are adding retry to handle that case.
- retriesRemaining := 10
- dcl.Do(ctx, func(ctx context.Context) (*dcl.RetryDetails, error) {
- _, err := c.GetLogExclusion(ctx, r)
- if dcl.IsNotFound(err) {
- return nil, nil
- }
- if retriesRemaining > 0 {
- retriesRemaining--
- return &dcl.RetryDetails{}, dcl.OperationNotDone{}
- }
- return nil, dcl.NotDeletedError{ExistingResource: r}
- }, c.Config.RetryProvider)
- return nil
-}
-
-// Create operations are similar to Update operations, although they do not have
-// specific request objects. The Create request object is the json encoding of
-// the resource, which is modified by res.marshal to form the base request body.
-type createLogExclusionOperation struct {
- response map[string]interface{}
-}
-
-func (op *createLogExclusionOperation) FirstResponse() (map[string]interface{}, bool) {
- return op.response, len(op.response) > 0
-}
-
-func (op *createLogExclusionOperation) do(ctx context.Context, r *LogExclusion, c *Client) error {
- c.Config.Logger.InfoWithContextf(ctx, "Attempting to create %v", r)
- u, err := r.createURL(c.Config.BasePath)
- if err != nil {
- return err
- }
-
- req, err := r.marshal(c)
- if err != nil {
- return err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "POST", u, bytes.NewBuffer(req), c.Config.RetryProvider)
- if err != nil {
- return err
- }
-
- o, err := dcl.ResponseBodyAsJSON(resp)
- if err != nil {
- return fmt.Errorf("error decoding response body into JSON: %w", err)
- }
- op.response = o
-
- if _, err := c.GetLogExclusion(ctx, r); err != nil {
- c.Config.Logger.WarningWithContextf(ctx, "get returned error: %v", err)
- return err
- }
-
- return nil
-}
-
-func (c *Client) getLogExclusionRaw(ctx context.Context, r *LogExclusion) ([]byte, error) {
-
- u, err := r.getURL(c.Config.BasePath)
- if err != nil {
- return nil, err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
- if err != nil {
- return nil, err
- }
- defer resp.Response.Body.Close()
- b, err := ioutil.ReadAll(resp.Response.Body)
- if err != nil {
- return nil, err
- }
-
- return b, nil
-}
-
-func (c *Client) logExclusionDiffsForRawDesired(ctx context.Context, rawDesired *LogExclusion, opts ...dcl.ApplyOption) (initial, desired *LogExclusion, diffs []*dcl.FieldDiff, err error) {
- c.Config.Logger.InfoWithContext(ctx, "Fetching initial state...")
- // First, let us see if the user provided a state hint. If they did, we will start fetching based on that.
- var fetchState *LogExclusion
- if sh := dcl.FetchStateHint(opts); sh != nil {
- if r, ok := sh.(*LogExclusion); !ok {
- c.Config.Logger.WarningWithContextf(ctx, "Initial state hint was of the wrong type; expected LogExclusion, got %T", sh)
- } else {
- fetchState = r
- }
- }
- if fetchState == nil {
- fetchState = rawDesired
- }
-
- // 1.2: Retrieval of raw initial state from API
- rawInitial, err := c.GetLogExclusion(ctx, fetchState)
- if rawInitial == nil {
- if !dcl.IsNotFound(err) {
- c.Config.Logger.WarningWithContextf(ctx, "Failed to retrieve whether a LogExclusion resource already exists: %s", err)
- return nil, nil, nil, fmt.Errorf("failed to retrieve LogExclusion resource: %v", err)
- }
- c.Config.Logger.InfoWithContext(ctx, "Found that LogExclusion resource did not exist.")
- // Perform canonicalization to pick up defaults.
- desired, err = canonicalizeLogExclusionDesiredState(rawDesired, rawInitial)
- return nil, desired, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Found initial state for LogExclusion: %v", rawInitial)
- c.Config.Logger.InfoWithContextf(ctx, "Initial desired state for LogExclusion: %v", rawDesired)
-
- // The Get call applies postReadExtract and so the result may contain fields that are not part of API version.
- if err := extractLogExclusionFields(rawInitial); err != nil {
- return nil, nil, nil, err
- }
-
- // 1.3: Canonicalize raw initial state into initial state.
- initial, err = canonicalizeLogExclusionInitialState(rawInitial, rawDesired)
- if err != nil {
- return nil, nil, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalized initial state for LogExclusion: %v", initial)
-
- // 1.4: Canonicalize raw desired state into desired state.
- desired, err = canonicalizeLogExclusionDesiredState(rawDesired, rawInitial, opts...)
- if err != nil {
- return nil, nil, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalized desired state for LogExclusion: %v", desired)
-
- // 2.1: Comparison of initial and desired state.
- diffs, err = diffLogExclusion(c, desired, initial, opts...)
- return initial, desired, diffs, err
-}
-
-func canonicalizeLogExclusionInitialState(rawInitial, rawDesired *LogExclusion) (*LogExclusion, error) {
- // TODO(magic-modules-eng): write canonicalizer once relevant traits are added.
-
- return rawInitial, nil
-}
-
-/*
-* Canonicalizers
-*
-* These are responsible for converting either a user-specified config or a
-* GCP API response to a standard format that can be used for difference checking.
-* */
-
-func canonicalizeLogExclusionDesiredState(rawDesired, rawInitial *LogExclusion, opts ...dcl.ApplyOption) (*LogExclusion, error) {
-
- if rawInitial == nil {
- // Since the initial state is empty, the desired state is all we have.
- // We canonicalize the remaining nested objects with nil to pick up defaults.
-
- return rawDesired, nil
- }
- canonicalDesired := &LogExclusion{}
- if dcl.StringCanonicalize(rawDesired.Name, rawInitial.Name) {
- canonicalDesired.Name = rawInitial.Name
- } else {
- canonicalDesired.Name = rawDesired.Name
- }
- if dcl.StringCanonicalize(rawDesired.Description, rawInitial.Description) {
- canonicalDesired.Description = rawInitial.Description
- } else {
- canonicalDesired.Description = rawDesired.Description
- }
- if dcl.StringCanonicalize(rawDesired.Filter, rawInitial.Filter) {
- canonicalDesired.Filter = rawInitial.Filter
- } else {
- canonicalDesired.Filter = rawDesired.Filter
- }
- if dcl.BoolCanonicalize(rawDesired.Disabled, rawInitial.Disabled) {
- canonicalDesired.Disabled = rawInitial.Disabled
- } else {
- canonicalDesired.Disabled = rawDesired.Disabled
- }
- if dcl.NameToSelfLink(rawDesired.Parent, rawInitial.Parent) {
- canonicalDesired.Parent = rawInitial.Parent
- } else {
- canonicalDesired.Parent = rawDesired.Parent
- }
-
- return canonicalDesired, nil
-}
-
-func canonicalizeLogExclusionNewState(c *Client, rawNew, rawDesired *LogExclusion) (*LogExclusion, error) {
-
- if dcl.IsEmptyValueIndirect(rawNew.Name) && dcl.IsEmptyValueIndirect(rawDesired.Name) {
- rawNew.Name = rawDesired.Name
- } else {
- if dcl.StringCanonicalize(rawDesired.Name, rawNew.Name) {
- rawNew.Name = rawDesired.Name
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Description) && dcl.IsEmptyValueIndirect(rawDesired.Description) {
- rawNew.Description = rawDesired.Description
- } else {
- if dcl.StringCanonicalize(rawDesired.Description, rawNew.Description) {
- rawNew.Description = rawDesired.Description
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Filter) && dcl.IsEmptyValueIndirect(rawDesired.Filter) {
- rawNew.Filter = rawDesired.Filter
- } else {
- if dcl.StringCanonicalize(rawDesired.Filter, rawNew.Filter) {
- rawNew.Filter = rawDesired.Filter
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Disabled) && dcl.IsEmptyValueIndirect(rawDesired.Disabled) {
- rawNew.Disabled = rawDesired.Disabled
- } else {
- if dcl.BoolCanonicalize(rawDesired.Disabled, rawNew.Disabled) {
- rawNew.Disabled = rawDesired.Disabled
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.CreateTime) && dcl.IsEmptyValueIndirect(rawDesired.CreateTime) {
- rawNew.CreateTime = rawDesired.CreateTime
- } else {
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.UpdateTime) && dcl.IsEmptyValueIndirect(rawDesired.UpdateTime) {
- rawNew.UpdateTime = rawDesired.UpdateTime
- } else {
- }
-
- rawNew.Parent = rawDesired.Parent
-
- return rawNew, nil
-}
-
-// The differ returns a list of diffs, along with a list of operations that should be taken
-// to remedy them. Right now, it does not attempt to consolidate operations - if several
-// fields can be fixed with a patch update, it will perform the patch several times.
-// Diffs on some fields will be ignored if the `desired` state has an empty (nil)
-// value. This empty value indicates that the user does not care about the state for
-// the field. Empty fields on the actual object will cause diffs.
-// TODO(magic-modules-eng): for efficiency in some resources, add batching.
-func diffLogExclusion(c *Client, desired, actual *LogExclusion, opts ...dcl.ApplyOption) ([]*dcl.FieldDiff, error) {
- if desired == nil || actual == nil {
- return nil, fmt.Errorf("nil resource passed to diff - always a programming error: %#v, %#v", desired, actual)
- }
-
- c.Config.Logger.Infof("Diff function called with desired state: %v", desired)
- c.Config.Logger.Infof("Diff function called with actual state: %v", actual)
-
- var fn dcl.FieldName
- var newDiffs []*dcl.FieldDiff
- // New style diffs.
- if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Name")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Description, actual.Description, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateLogExclusionUpdateExclusionOperation")}, fn.AddNest("Description")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateLogExclusionUpdateExclusionOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Disabled, actual.Disabled, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateLogExclusionUpdateExclusionOperation")}, fn.AddNest("Disabled")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CreateTime, actual.CreateTime, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("CreateTime")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.UpdateTime, actual.UpdateTime, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("UpdateTime")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Parent, actual.Parent, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Parent")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if len(newDiffs) > 0 {
- c.Config.Logger.Infof("Diff function found diffs: %v", newDiffs)
- }
- return newDiffs, nil
-}
-
-// urlNormalized returns a copy of the resource struct with values normalized
-// for URL substitutions. For instance, it converts long-form self-links to
-// short-form so they can be substituted in.
-func (r *LogExclusion) urlNormalized() *LogExclusion {
- normalized := dcl.Copy(*r).(LogExclusion)
- normalized.Name = dcl.SelfLinkToName(r.Name)
- normalized.Description = dcl.SelfLinkToName(r.Description)
- normalized.Filter = dcl.SelfLinkToName(r.Filter)
- normalized.Parent = r.Parent
- return &normalized
-}
-
-func (r *LogExclusion) updateURL(userBasePath, updateName string) (string, error) {
- nr := r.urlNormalized()
- if updateName == "UpdateExclusion" {
- fields := map[string]interface{}{
- "parent": dcl.ValueOrEmptyString(nr.Parent),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("{{parent}}/exclusions/{{name}}", nr.basePath(), userBasePath, fields), nil
-
- }
-
- return "", fmt.Errorf("unknown update name: %s", updateName)
-}
-
-// marshal encodes the LogExclusion resource into JSON for a Create request, and
-// performs transformations from the resource schema to the API schema if
-// necessary.
-func (r *LogExclusion) marshal(c *Client) ([]byte, error) {
- m, err := expandLogExclusion(c, r)
- if err != nil {
- return nil, fmt.Errorf("error marshalling LogExclusion: %w", err)
- }
-
- return json.Marshal(m)
-}
-
-// unmarshalLogExclusion decodes JSON responses into the LogExclusion resource schema.
-func unmarshalLogExclusion(b []byte, c *Client, res *LogExclusion) (*LogExclusion, error) {
- var m map[string]interface{}
- if err := json.Unmarshal(b, &m); err != nil {
- return nil, err
- }
- return unmarshalMapLogExclusion(m, c, res)
-}
-
-func unmarshalMapLogExclusion(m map[string]interface{}, c *Client, res *LogExclusion) (*LogExclusion, error) {
-
- flattened := flattenLogExclusion(c, m, res)
- if flattened == nil {
- return nil, fmt.Errorf("attempted to flatten empty json object")
- }
- return flattened, nil
-}
-
-// expandLogExclusion expands LogExclusion into a JSON request object.
-func expandLogExclusion(c *Client, f *LogExclusion) (map[string]interface{}, error) {
- m := make(map[string]interface{})
- res := f
- _ = res
- if v := f.Name; dcl.ValueShouldBeSent(v) {
- m["name"] = v
- }
- if v := f.Description; dcl.ValueShouldBeSent(v) {
- m["description"] = v
- }
- if v := f.Filter; dcl.ValueShouldBeSent(v) {
- m["filter"] = v
- }
- if v := f.Disabled; dcl.ValueShouldBeSent(v) {
- m["disabled"] = v
- }
- if v, err := dcl.EmptyValue(); err != nil {
- return nil, fmt.Errorf("error expanding Parent into parent: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["parent"] = v
- }
-
- return m, nil
-}
-
-// flattenLogExclusion flattens LogExclusion from a JSON request object into the
-// LogExclusion type.
-func flattenLogExclusion(c *Client, i interface{}, res *LogExclusion) *LogExclusion {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
- if len(m) == 0 {
- return nil
- }
-
- resultRes := &LogExclusion{}
- resultRes.Name = dcl.FlattenString(m["name"])
- resultRes.Description = dcl.FlattenString(m["description"])
- resultRes.Filter = dcl.FlattenString(m["filter"])
- resultRes.Disabled = dcl.FlattenBool(m["disabled"])
- resultRes.CreateTime = dcl.FlattenString(m["createTime"])
- resultRes.UpdateTime = dcl.FlattenString(m["updateTime"])
- resultRes.Parent = dcl.FlattenString(m["parent"])
-
- return resultRes
-}
-
-// This function returns a matcher that checks whether a serialized resource matches this resource
-// in its parameters (as defined by the fields in a Get, which definitionally define resource
-// identity). This is useful in extracting the element from a List call.
-func (r *LogExclusion) matcher(c *Client) func([]byte) bool {
- return func(b []byte) bool {
- cr, err := unmarshalLogExclusion(b, c, r)
- if err != nil {
- c.Config.Logger.Warning("failed to unmarshal provided resource in matcher.")
- return false
- }
- nr := r.urlNormalized()
- ncr := cr.urlNormalized()
- c.Config.Logger.Infof("looking for %v\nin %v", nr, ncr)
-
- if nr.Parent == nil && ncr.Parent == nil {
- c.Config.Logger.Info("Both Parent fields null - considering equal.")
- } else if nr.Parent == nil || ncr.Parent == nil {
- c.Config.Logger.Info("Only one Parent field is null - considering unequal.")
- return false
- } else if *nr.Parent != *ncr.Parent {
- return false
- }
- if nr.Name == nil && ncr.Name == nil {
- c.Config.Logger.Info("Both Name fields null - considering equal.")
- } else if nr.Name == nil || ncr.Name == nil {
- c.Config.Logger.Info("Only one Name field is null - considering unequal.")
- return false
- } else if *nr.Name != *ncr.Name {
- return false
- }
- return true
- }
-}
-
-type logExclusionDiff struct {
- // The diff should include one or the other of RequiresRecreate or UpdateOp.
- RequiresRecreate bool
- UpdateOp logExclusionApiOperation
- FieldName string // used for error logging
-}
-
-func convertFieldDiffsToLogExclusionDiffs(config *dcl.Config, fds []*dcl.FieldDiff, opts []dcl.ApplyOption) ([]logExclusionDiff, error) {
- opNamesToFieldDiffs := make(map[string][]*dcl.FieldDiff)
- // Map each operation name to the field diffs associated with it.
- for _, fd := range fds {
- for _, ro := range fd.ResultingOperation {
- if fieldDiffs, ok := opNamesToFieldDiffs[ro]; ok {
- fieldDiffs = append(fieldDiffs, fd)
- opNamesToFieldDiffs[ro] = fieldDiffs
- } else {
- config.Logger.Infof("%s required due to diff: %v", ro, fd)
- opNamesToFieldDiffs[ro] = []*dcl.FieldDiff{fd}
- }
- }
- }
- var diffs []logExclusionDiff
- // For each operation name, create a logExclusionDiff which contains the operation.
- for opName, fieldDiffs := range opNamesToFieldDiffs {
- // Use the first field diff's field name for logging required recreate error.
- diff := logExclusionDiff{FieldName: fieldDiffs[0].FieldName}
- if opName == "Recreate" {
- diff.RequiresRecreate = true
- } else {
- apiOp, err := convertOpNameToLogExclusionApiOperation(opName, fieldDiffs, opts...)
- if err != nil {
- return diffs, err
- }
- diff.UpdateOp = apiOp
- }
- diffs = append(diffs, diff)
- }
- return diffs, nil
-}
-
-func convertOpNameToLogExclusionApiOperation(opName string, fieldDiffs []*dcl.FieldDiff, opts ...dcl.ApplyOption) (logExclusionApiOperation, error) {
- switch opName {
-
- case "updateLogExclusionUpdateExclusionOperation":
- return &updateLogExclusionUpdateExclusionOperation{FieldDiffs: fieldDiffs}, nil
-
- default:
- return nil, fmt.Errorf("no such operation with name: %v", opName)
- }
-}
-
-func extractLogExclusionFields(r *LogExclusion) error {
- return nil
-}
-
-func postReadExtractLogExclusionFields(r *LogExclusion) error {
- return nil
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_exclusion_schema.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_exclusion_schema.go
deleted file mode 100644
index 46bc7f6a7c..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_exclusion_schema.go
+++ /dev/null
@@ -1,167 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 logging
-
-import (
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-func DCLLogExclusionSchema() *dcl.Schema {
- return &dcl.Schema{
- Info: &dcl.Info{
- Title: "Logging/LogExclusion",
- Description: "The Logging LogExclusion resource",
- StructName: "LogExclusion",
- },
- Paths: &dcl.Paths{
- Get: &dcl.Path{
- Description: "The function used to get information about a LogExclusion",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "logExclusion",
- Required: true,
- Description: "A full instance of a LogExclusion",
- },
- },
- },
- Apply: &dcl.Path{
- Description: "The function used to apply information about a LogExclusion",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "logExclusion",
- Required: true,
- Description: "A full instance of a LogExclusion",
- },
- },
- },
- Delete: &dcl.Path{
- Description: "The function used to delete a LogExclusion",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "logExclusion",
- Required: true,
- Description: "A full instance of a LogExclusion",
- },
- },
- },
- DeleteAll: &dcl.Path{
- Description: "The function used to delete all LogExclusion",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "parent",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- },
- },
- List: &dcl.Path{
- Description: "The function used to list information about many LogExclusion",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "parent",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- },
- },
- },
- Components: &dcl.Components{
- Schemas: map[string]*dcl.Component{
- "LogExclusion": &dcl.Component{
- Title: "LogExclusion",
- ID: "{{parent}}/exclusions/{{name}}",
- HasCreate: true,
- SchemaProperty: dcl.Property{
- Type: "object",
- Required: []string{
- "filter",
- },
- Properties: map[string]*dcl.Property{
- "createTime": &dcl.Property{
- Type: "string",
- Format: "date-time",
- GoName: "CreateTime",
- ReadOnly: true,
- Description: "Output only. The creation timestamp of the exclusion. This field may not be present for older exclusions.",
- Immutable: true,
- },
- "description": &dcl.Property{
- Type: "string",
- GoName: "Description",
- Description: "Optional. A description of this exclusion.",
- },
- "disabled": &dcl.Property{
- Type: "boolean",
- GoName: "Disabled",
- Description: "Optional. If set to True, then this exclusion is disabled and it does not exclude any log entries. You can update an exclusion to change the value of this field.",
- },
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "Required. An (https://cloud.google.com/logging/docs/view/advanced-queries#sample), you can exclude less than 100% of the matching log entries. For example, the following query matches 99% of low-severity log entries from Google Cloud Storage buckets: `\"resource.type=gcs_bucket severity",
- },
- "name": &dcl.Property{
- Type: "string",
- GoName: "Name",
- Description: "Required. A client-assigned identifier, such as `\"load-balancer-exclusion\"`. Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods. First character has to be alphanumeric.",
- Immutable: true,
- },
- "parent": &dcl.Property{
- Type: "string",
- GoName: "Parent",
- Description: "The parent resource in which to create the exclusion: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" Examples: \"projects/my-logging-project\", \"organizations/123456789\". Authorization requires the following IAM permission on the specified resource parent: logging.exclusions.create",
- Immutable: true,
- ForwardSlashAllowed: true,
- ResourceReferences: []*dcl.PropertyResourceReference{
- &dcl.PropertyResourceReference{
- Resource: "Cloudresourcemanager/Project",
- Field: "name",
- Parent: true,
- },
- &dcl.PropertyResourceReference{
- Resource: "Cloudresourcemanager/Folder",
- Field: "name",
- Parent: true,
- },
- &dcl.PropertyResourceReference{
- Resource: "Cloudresourcemanager/Organization",
- Field: "name",
- Parent: true,
- },
- &dcl.PropertyResourceReference{
- Resource: "Cloudresourcemanager/BillingAccount",
- Field: "name",
- Parent: true,
- },
- },
- },
- "updateTime": &dcl.Property{
- Type: "string",
- Format: "date-time",
- GoName: "UpdateTime",
- ReadOnly: true,
- Description: "Output only. The last update timestamp of the exclusion. This field may not be present for older exclusions.",
- Immutable: true,
- },
- },
- },
- },
- },
- },
- }
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_exclusion_yaml_embed.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_exclusion_yaml_embed.go
deleted file mode 100644
index 20675c950d..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_exclusion_yaml_embed.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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.
-// GENERATED BY gen_go_data.go
-// gen_go_data -package logging -var YAML_log_exclusion blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/logging/log_exclusion.yaml
-
-package logging
-
-// blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/logging/log_exclusion.yaml
-var YAML_log_exclusion = []byte("info:\n title: Logging/LogExclusion\n description: The Logging LogExclusion resource\n x-dcl-struct-name: LogExclusion\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a LogExclusion\n parameters:\n - name: logExclusion\n required: true\n description: A full instance of a LogExclusion\n apply:\n description: The function used to apply information about a LogExclusion\n parameters:\n - name: logExclusion\n required: true\n description: A full instance of a LogExclusion\n delete:\n description: The function used to delete a LogExclusion\n parameters:\n - name: logExclusion\n required: true\n description: A full instance of a LogExclusion\n deleteAll:\n description: The function used to delete all LogExclusion\n parameters:\n - name: parent\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many LogExclusion\n parameters:\n - name: parent\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n LogExclusion:\n title: LogExclusion\n x-dcl-id: '{{parent}}/exclusions/{{name}}'\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - filter\n properties:\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Output only. The creation timestamp of the exclusion. This\n field may not be present for older exclusions.\n x-kubernetes-immutable: true\n description:\n type: string\n x-dcl-go-name: Description\n description: Optional. A description of this exclusion.\n disabled:\n type: boolean\n x-dcl-go-name: Disabled\n description: Optional. If set to True, then this exclusion is disabled and\n it does not exclude any log entries. You can update an exclusion to change\n the value of this field.\n filter:\n type: string\n x-dcl-go-name: Filter\n description: 'Required. An (https://cloud.google.com/logging/docs/view/advanced-queries#sample),\n you can exclude less than 100% of the matching log entries. For example,\n the following query matches 99% of low-severity log entries from Google\n Cloud Storage buckets: `\"resource.type=gcs_bucket severity'\n name:\n type: string\n x-dcl-go-name: Name\n description: Required. A client-assigned identifier, such as `\"load-balancer-exclusion\"`.\n Identifiers are limited to 100 characters and can include only letters,\n digits, underscores, hyphens, and periods. First character has to be alphanumeric.\n x-kubernetes-immutable: true\n parent:\n type: string\n x-dcl-go-name: Parent\n description: 'The parent resource in which to create the exclusion: \"projects/[PROJECT_ID]\"\n \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\"\n \"folders/[FOLDER_ID]\" Examples: \"projects/my-logging-project\", \"organizations/123456789\".\n Authorization requires the following IAM permission on the specified resource\n parent: logging.exclusions.create'\n x-kubernetes-immutable: true\n x-dcl-forward-slash-allowed: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n - resource: Cloudresourcemanager/Folder\n field: name\n parent: true\n - resource: Cloudresourcemanager/Organization\n field: name\n parent: true\n - resource: Cloudresourcemanager/BillingAccount\n field: name\n parent: true\n updateTime:\n type: string\n format: date-time\n x-dcl-go-name: UpdateTime\n readOnly: true\n description: Output only. The last update timestamp of the exclusion. This\n field may not be present for older exclusions.\n x-kubernetes-immutable: true\n")
-
-// 4285 bytes
-// MD5: 0da2900589a5821fb6ceac1d8baf5fd0
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_metric.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_metric.go
deleted file mode 100644
index 97d5e81001..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_metric.go
+++ /dev/null
@@ -1,868 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 logging
-
-import (
- "context"
- "crypto/sha256"
- "encoding/json"
- "fmt"
- "time"
-
- "google.golang.org/api/googleapi"
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-type LogMetric struct {
- Name *string `json:"name"`
- Description *string `json:"description"`
- Filter *string `json:"filter"`
- Disabled *bool `json:"disabled"`
- MetricDescriptor *LogMetricMetricDescriptor `json:"metricDescriptor"`
- ValueExtractor *string `json:"valueExtractor"`
- LabelExtractors map[string]string `json:"labelExtractors"`
- BucketOptions *LogMetricBucketOptions `json:"bucketOptions"`
- CreateTime *string `json:"createTime"`
- UpdateTime *string `json:"updateTime"`
- Project *string `json:"project"`
-}
-
-func (r *LogMetric) String() string {
- return dcl.SprintResource(r)
-}
-
-// The enum LogMetricMetricDescriptorLabelsValueTypeEnum.
-type LogMetricMetricDescriptorLabelsValueTypeEnum string
-
-// LogMetricMetricDescriptorLabelsValueTypeEnumRef returns a *LogMetricMetricDescriptorLabelsValueTypeEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func LogMetricMetricDescriptorLabelsValueTypeEnumRef(s string) *LogMetricMetricDescriptorLabelsValueTypeEnum {
- v := LogMetricMetricDescriptorLabelsValueTypeEnum(s)
- return &v
-}
-
-func (v LogMetricMetricDescriptorLabelsValueTypeEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"STRING", "BOOL", "INT64", "DOUBLE", "DISTRIBUTION", "MONEY"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "LogMetricMetricDescriptorLabelsValueTypeEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum LogMetricMetricDescriptorMetricKindEnum.
-type LogMetricMetricDescriptorMetricKindEnum string
-
-// LogMetricMetricDescriptorMetricKindEnumRef returns a *LogMetricMetricDescriptorMetricKindEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func LogMetricMetricDescriptorMetricKindEnumRef(s string) *LogMetricMetricDescriptorMetricKindEnum {
- v := LogMetricMetricDescriptorMetricKindEnum(s)
- return &v
-}
-
-func (v LogMetricMetricDescriptorMetricKindEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"GAUGE", "DELTA", "CUMULATIVE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "LogMetricMetricDescriptorMetricKindEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum LogMetricMetricDescriptorValueTypeEnum.
-type LogMetricMetricDescriptorValueTypeEnum string
-
-// LogMetricMetricDescriptorValueTypeEnumRef returns a *LogMetricMetricDescriptorValueTypeEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func LogMetricMetricDescriptorValueTypeEnumRef(s string) *LogMetricMetricDescriptorValueTypeEnum {
- v := LogMetricMetricDescriptorValueTypeEnum(s)
- return &v
-}
-
-func (v LogMetricMetricDescriptorValueTypeEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"STRING", "BOOL", "INT64", "DOUBLE", "DISTRIBUTION", "MONEY"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "LogMetricMetricDescriptorValueTypeEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum LogMetricMetricDescriptorLaunchStageEnum.
-type LogMetricMetricDescriptorLaunchStageEnum string
-
-// LogMetricMetricDescriptorLaunchStageEnumRef returns a *LogMetricMetricDescriptorLaunchStageEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func LogMetricMetricDescriptorLaunchStageEnumRef(s string) *LogMetricMetricDescriptorLaunchStageEnum {
- v := LogMetricMetricDescriptorLaunchStageEnum(s)
- return &v
-}
-
-func (v LogMetricMetricDescriptorLaunchStageEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"UNIMPLEMENTED", "PRELAUNCH", "EARLY_ACCESS", "ALPHA", "BETA", "GA", "DEPRECATED"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "LogMetricMetricDescriptorLaunchStageEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-type LogMetricMetricDescriptor struct {
- empty bool `json:"-"`
- Name *string `json:"name"`
- Type *string `json:"type"`
- Labels []LogMetricMetricDescriptorLabels `json:"labels"`
- MetricKind *LogMetricMetricDescriptorMetricKindEnum `json:"metricKind"`
- ValueType *LogMetricMetricDescriptorValueTypeEnum `json:"valueType"`
- Unit *string `json:"unit"`
- Description *string `json:"description"`
- DisplayName *string `json:"displayName"`
- Metadata *LogMetricMetricDescriptorMetadata `json:"metadata"`
- LaunchStage *LogMetricMetricDescriptorLaunchStageEnum `json:"launchStage"`
- MonitoredResourceTypes []string `json:"monitoredResourceTypes"`
-}
-
-type jsonLogMetricMetricDescriptor LogMetricMetricDescriptor
-
-func (r *LogMetricMetricDescriptor) UnmarshalJSON(data []byte) error {
- var res jsonLogMetricMetricDescriptor
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyLogMetricMetricDescriptor
- } else {
-
- r.Name = res.Name
-
- r.Type = res.Type
-
- r.Labels = res.Labels
-
- r.MetricKind = res.MetricKind
-
- r.ValueType = res.ValueType
-
- r.Unit = res.Unit
-
- r.Description = res.Description
-
- r.DisplayName = res.DisplayName
-
- r.Metadata = res.Metadata
-
- r.LaunchStage = res.LaunchStage
-
- r.MonitoredResourceTypes = res.MonitoredResourceTypes
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this LogMetricMetricDescriptor is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyLogMetricMetricDescriptor *LogMetricMetricDescriptor = &LogMetricMetricDescriptor{empty: true}
-
-func (r *LogMetricMetricDescriptor) Empty() bool {
- return r.empty
-}
-
-func (r *LogMetricMetricDescriptor) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *LogMetricMetricDescriptor) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type LogMetricMetricDescriptorLabels struct {
- empty bool `json:"-"`
- Key *string `json:"key"`
- ValueType *LogMetricMetricDescriptorLabelsValueTypeEnum `json:"valueType"`
- Description *string `json:"description"`
-}
-
-type jsonLogMetricMetricDescriptorLabels LogMetricMetricDescriptorLabels
-
-func (r *LogMetricMetricDescriptorLabels) UnmarshalJSON(data []byte) error {
- var res jsonLogMetricMetricDescriptorLabels
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyLogMetricMetricDescriptorLabels
- } else {
-
- r.Key = res.Key
-
- r.ValueType = res.ValueType
-
- r.Description = res.Description
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this LogMetricMetricDescriptorLabels is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyLogMetricMetricDescriptorLabels *LogMetricMetricDescriptorLabels = &LogMetricMetricDescriptorLabels{empty: true}
-
-func (r *LogMetricMetricDescriptorLabels) Empty() bool {
- return r.empty
-}
-
-func (r *LogMetricMetricDescriptorLabels) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *LogMetricMetricDescriptorLabels) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type LogMetricMetricDescriptorMetadata struct {
- empty bool `json:"-"`
- SamplePeriod *string `json:"samplePeriod"`
- IngestDelay *string `json:"ingestDelay"`
-}
-
-type jsonLogMetricMetricDescriptorMetadata LogMetricMetricDescriptorMetadata
-
-func (r *LogMetricMetricDescriptorMetadata) UnmarshalJSON(data []byte) error {
- var res jsonLogMetricMetricDescriptorMetadata
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyLogMetricMetricDescriptorMetadata
- } else {
-
- r.SamplePeriod = res.SamplePeriod
-
- r.IngestDelay = res.IngestDelay
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this LogMetricMetricDescriptorMetadata is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyLogMetricMetricDescriptorMetadata *LogMetricMetricDescriptorMetadata = &LogMetricMetricDescriptorMetadata{empty: true}
-
-func (r *LogMetricMetricDescriptorMetadata) Empty() bool {
- return r.empty
-}
-
-func (r *LogMetricMetricDescriptorMetadata) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *LogMetricMetricDescriptorMetadata) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type LogMetricBucketOptions struct {
- empty bool `json:"-"`
- LinearBuckets *LogMetricBucketOptionsLinearBuckets `json:"linearBuckets"`
- ExponentialBuckets *LogMetricBucketOptionsExponentialBuckets `json:"exponentialBuckets"`
- ExplicitBuckets *LogMetricBucketOptionsExplicitBuckets `json:"explicitBuckets"`
-}
-
-type jsonLogMetricBucketOptions LogMetricBucketOptions
-
-func (r *LogMetricBucketOptions) UnmarshalJSON(data []byte) error {
- var res jsonLogMetricBucketOptions
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyLogMetricBucketOptions
- } else {
-
- r.LinearBuckets = res.LinearBuckets
-
- r.ExponentialBuckets = res.ExponentialBuckets
-
- r.ExplicitBuckets = res.ExplicitBuckets
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this LogMetricBucketOptions is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyLogMetricBucketOptions *LogMetricBucketOptions = &LogMetricBucketOptions{empty: true}
-
-func (r *LogMetricBucketOptions) Empty() bool {
- return r.empty
-}
-
-func (r *LogMetricBucketOptions) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *LogMetricBucketOptions) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type LogMetricBucketOptionsLinearBuckets struct {
- empty bool `json:"-"`
- NumFiniteBuckets *int64 `json:"numFiniteBuckets"`
- Width *float64 `json:"width"`
- Offset *float64 `json:"offset"`
-}
-
-type jsonLogMetricBucketOptionsLinearBuckets LogMetricBucketOptionsLinearBuckets
-
-func (r *LogMetricBucketOptionsLinearBuckets) UnmarshalJSON(data []byte) error {
- var res jsonLogMetricBucketOptionsLinearBuckets
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyLogMetricBucketOptionsLinearBuckets
- } else {
-
- r.NumFiniteBuckets = res.NumFiniteBuckets
-
- r.Width = res.Width
-
- r.Offset = res.Offset
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this LogMetricBucketOptionsLinearBuckets is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyLogMetricBucketOptionsLinearBuckets *LogMetricBucketOptionsLinearBuckets = &LogMetricBucketOptionsLinearBuckets{empty: true}
-
-func (r *LogMetricBucketOptionsLinearBuckets) Empty() bool {
- return r.empty
-}
-
-func (r *LogMetricBucketOptionsLinearBuckets) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *LogMetricBucketOptionsLinearBuckets) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type LogMetricBucketOptionsExponentialBuckets struct {
- empty bool `json:"-"`
- NumFiniteBuckets *int64 `json:"numFiniteBuckets"`
- GrowthFactor *float64 `json:"growthFactor"`
- Scale *float64 `json:"scale"`
-}
-
-type jsonLogMetricBucketOptionsExponentialBuckets LogMetricBucketOptionsExponentialBuckets
-
-func (r *LogMetricBucketOptionsExponentialBuckets) UnmarshalJSON(data []byte) error {
- var res jsonLogMetricBucketOptionsExponentialBuckets
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyLogMetricBucketOptionsExponentialBuckets
- } else {
-
- r.NumFiniteBuckets = res.NumFiniteBuckets
-
- r.GrowthFactor = res.GrowthFactor
-
- r.Scale = res.Scale
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this LogMetricBucketOptionsExponentialBuckets is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyLogMetricBucketOptionsExponentialBuckets *LogMetricBucketOptionsExponentialBuckets = &LogMetricBucketOptionsExponentialBuckets{empty: true}
-
-func (r *LogMetricBucketOptionsExponentialBuckets) Empty() bool {
- return r.empty
-}
-
-func (r *LogMetricBucketOptionsExponentialBuckets) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *LogMetricBucketOptionsExponentialBuckets) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type LogMetricBucketOptionsExplicitBuckets struct {
- empty bool `json:"-"`
- Bounds []float64 `json:"bounds"`
-}
-
-type jsonLogMetricBucketOptionsExplicitBuckets LogMetricBucketOptionsExplicitBuckets
-
-func (r *LogMetricBucketOptionsExplicitBuckets) UnmarshalJSON(data []byte) error {
- var res jsonLogMetricBucketOptionsExplicitBuckets
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyLogMetricBucketOptionsExplicitBuckets
- } else {
-
- r.Bounds = res.Bounds
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this LogMetricBucketOptionsExplicitBuckets is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyLogMetricBucketOptionsExplicitBuckets *LogMetricBucketOptionsExplicitBuckets = &LogMetricBucketOptionsExplicitBuckets{empty: true}
-
-func (r *LogMetricBucketOptionsExplicitBuckets) Empty() bool {
- return r.empty
-}
-
-func (r *LogMetricBucketOptionsExplicitBuckets) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *LogMetricBucketOptionsExplicitBuckets) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-// Describe returns a simple description of this resource to ensure that automated tools
-// can identify it.
-func (r *LogMetric) Describe() dcl.ServiceTypeVersion {
- return dcl.ServiceTypeVersion{
- Service: "logging",
- Type: "LogMetric",
- Version: "logging",
- }
-}
-
-func (r *LogMetric) ID() (string, error) {
- if err := extractLogMetricFields(r); err != nil {
- return "", err
- }
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "name": dcl.ValueOrEmptyString(nr.Name),
- "description": dcl.ValueOrEmptyString(nr.Description),
- "filter": dcl.ValueOrEmptyString(nr.Filter),
- "disabled": dcl.ValueOrEmptyString(nr.Disabled),
- "metric_descriptor": dcl.ValueOrEmptyString(nr.MetricDescriptor),
- "value_extractor": dcl.ValueOrEmptyString(nr.ValueExtractor),
- "label_extractors": dcl.ValueOrEmptyString(nr.LabelExtractors),
- "bucket_options": dcl.ValueOrEmptyString(nr.BucketOptions),
- "create_time": dcl.ValueOrEmptyString(nr.CreateTime),
- "update_time": dcl.ValueOrEmptyString(nr.UpdateTime),
- "project": dcl.ValueOrEmptyString(nr.Project),
- }
- return dcl.Nprintf("projects/{{project}}/metrics/{{name}}", params), nil
-}
-
-const LogMetricMaxPage = -1
-
-type LogMetricList struct {
- Items []*LogMetric
-
- nextToken string
-
- pageSize int32
-
- resource *LogMetric
-}
-
-func (l *LogMetricList) HasNext() bool {
- return l.nextToken != ""
-}
-
-func (l *LogMetricList) Next(ctx context.Context, c *Client) error {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- if !l.HasNext() {
- return fmt.Errorf("no next page")
- }
- items, token, err := c.listLogMetric(ctx, l.resource, l.nextToken, l.pageSize)
- if err != nil {
- return err
- }
- l.Items = items
- l.nextToken = token
- return err
-}
-
-func (c *Client) ListLogMetric(ctx context.Context, project string) (*LogMetricList, error) {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- return c.ListLogMetricWithMaxResults(ctx, project, LogMetricMaxPage)
-
-}
-
-func (c *Client) ListLogMetricWithMaxResults(ctx context.Context, project string, pageSize int32) (*LogMetricList, error) {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- // Create a resource object so that we can use proper url normalization methods.
- r := &LogMetric{
- Project: &project,
- }
- items, token, err := c.listLogMetric(ctx, r, "", pageSize)
- if err != nil {
- return nil, err
- }
- return &LogMetricList{
- Items: items,
- nextToken: token,
- pageSize: pageSize,
- resource: r,
- }, nil
-}
-
-func (c *Client) GetLogMetric(ctx context.Context, r *LogMetric) (*LogMetric, error) {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- // This is *purposefully* supressing errors.
- // This function is used with url-normalized values + not URL normalized values.
- // URL Normalized values will throw unintentional errors, since those values are not of the proper parent form.
- extractLogMetricFields(r)
-
- b, err := c.getLogMetricRaw(ctx, r)
- if err != nil {
- if dcl.IsNotFound(err) {
- return nil, &googleapi.Error{
- Code: 404,
- Message: err.Error(),
- }
- }
- return nil, err
- }
- result, err := unmarshalLogMetric(b, c, r)
- if err != nil {
- return nil, err
- }
- result.Project = r.Project
- result.Name = r.Name
-
- c.Config.Logger.InfoWithContextf(ctx, "Retrieved raw result state: %v", result)
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalizing with specified state: %v", r)
- result, err = canonicalizeLogMetricNewState(c, result, r)
- if err != nil {
- return nil, err
- }
- if err := postReadExtractLogMetricFields(result); err != nil {
- return result, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Created result state: %v", result)
-
- return result, nil
-}
-
-func (c *Client) DeleteLogMetric(ctx context.Context, r *LogMetric) error {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- if r == nil {
- return fmt.Errorf("LogMetric resource is nil")
- }
- c.Config.Logger.InfoWithContext(ctx, "Deleting LogMetric...")
- deleteOp := deleteLogMetricOperation{}
- return deleteOp.do(ctx, r, c)
-}
-
-// DeleteAllLogMetric deletes all resources that the filter functions returns true on.
-func (c *Client) DeleteAllLogMetric(ctx context.Context, project string, filter func(*LogMetric) bool) error {
- listObj, err := c.ListLogMetric(ctx, project)
- if err != nil {
- return err
- }
-
- err = c.deleteAllLogMetric(ctx, filter, listObj.Items)
- if err != nil {
- return err
- }
- for listObj.HasNext() {
- err = listObj.Next(ctx, c)
- if err != nil {
- return nil
- }
- err = c.deleteAllLogMetric(ctx, filter, listObj.Items)
- if err != nil {
- return err
- }
- }
- return nil
-}
-
-func (c *Client) ApplyLogMetric(ctx context.Context, rawDesired *LogMetric, opts ...dcl.ApplyOption) (*LogMetric, error) {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- ctx = dcl.ContextWithRequestID(ctx)
- var resultNewState *LogMetric
- err := dcl.Do(ctx, func(ctx context.Context) (*dcl.RetryDetails, error) {
- newState, err := applyLogMetricHelper(c, ctx, rawDesired, opts...)
- resultNewState = newState
- if err != nil {
- // If the error is 409, there is conflict in resource update.
- // Here we want to apply changes based on latest state.
- if dcl.IsConflictError(err) {
- return &dcl.RetryDetails{}, dcl.OperationNotDone{Err: err}
- }
- return nil, err
- }
- return nil, nil
- }, c.Config.RetryProvider)
- return resultNewState, err
-}
-
-func applyLogMetricHelper(c *Client, ctx context.Context, rawDesired *LogMetric, opts ...dcl.ApplyOption) (*LogMetric, error) {
- c.Config.Logger.InfoWithContext(ctx, "Beginning ApplyLogMetric...")
- c.Config.Logger.InfoWithContextf(ctx, "User specified desired state: %v", rawDesired)
-
- // 1.1: Validation of user-specified fields in desired state.
- if err := rawDesired.validate(); err != nil {
- return nil, err
- }
-
- if err := extractLogMetricFields(rawDesired); err != nil {
- return nil, err
- }
-
- initial, desired, fieldDiffs, err := c.logMetricDiffsForRawDesired(ctx, rawDesired, opts...)
- if err != nil {
- return nil, fmt.Errorf("failed to create a diff: %w", err)
- }
-
- diffs, err := convertFieldDiffsToLogMetricDiffs(c.Config, fieldDiffs, opts)
- if err != nil {
- return nil, err
- }
-
- // TODO(magic-modules-eng): 2.2 Feasibility check (all updates are feasible so far).
-
- // 2.3: Lifecycle Directive Check
- var create bool
- lp := dcl.FetchLifecycleParams(opts)
- if initial == nil {
- if dcl.HasLifecycleParam(lp, dcl.BlockCreation) {
- return nil, dcl.ApplyInfeasibleError{Message: fmt.Sprintf("Creation blocked by lifecycle params: %#v.", desired)}
- }
- create = true
- } else if dcl.HasLifecycleParam(lp, dcl.BlockAcquire) {
- return nil, dcl.ApplyInfeasibleError{
- Message: fmt.Sprintf("Resource already exists - apply blocked by lifecycle params: %#v.", initial),
- }
- } else {
- for _, d := range diffs {
- if d.RequiresRecreate {
- return nil, dcl.ApplyInfeasibleError{
- Message: fmt.Sprintf("infeasible update: (%v) would require recreation", d),
- }
- }
- if dcl.HasLifecycleParam(lp, dcl.BlockModification) {
- return nil, dcl.ApplyInfeasibleError{Message: fmt.Sprintf("Modification blocked, diff (%v) unresolvable.", d)}
- }
- }
- }
-
- // 2.4 Imperative Request Planning
- var ops []logMetricApiOperation
- if create {
- ops = append(ops, &createLogMetricOperation{})
- } else {
- for _, d := range diffs {
- ops = append(ops, d.UpdateOp)
- }
- }
- c.Config.Logger.InfoWithContextf(ctx, "Created plan: %#v", ops)
-
- // 2.5 Request Actuation
- for _, op := range ops {
- c.Config.Logger.InfoWithContextf(ctx, "Performing operation %T %+v", op, op)
- if err := op.do(ctx, desired, c); err != nil {
- c.Config.Logger.InfoWithContextf(ctx, "Failed operation %T %+v: %v", op, op, err)
- return nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Finished operation %T %+v", op, op)
- }
- return applyLogMetricDiff(c, ctx, desired, rawDesired, ops, opts...)
-}
-
-func applyLogMetricDiff(c *Client, ctx context.Context, desired *LogMetric, rawDesired *LogMetric, ops []logMetricApiOperation, opts ...dcl.ApplyOption) (*LogMetric, error) {
- // 3.1, 3.2a Retrieval of raw new state & canonicalization with desired state
- c.Config.Logger.InfoWithContext(ctx, "Retrieving raw new state...")
- rawNew, err := c.GetLogMetric(ctx, desired)
- if err != nil {
- return nil, err
- }
- // Get additional values from the first response.
- // These values should be merged into the newState above.
- if len(ops) > 0 {
- lastOp := ops[len(ops)-1]
- if o, ok := lastOp.(*createLogMetricOperation); ok {
- if r, hasR := o.FirstResponse(); hasR {
-
- c.Config.Logger.InfoWithContext(ctx, "Retrieving raw new state from operation...")
-
- fullResp, err := unmarshalMapLogMetric(r, c, rawDesired)
- if err != nil {
- return nil, err
- }
-
- rawNew, err = canonicalizeLogMetricNewState(c, rawNew, fullResp)
- if err != nil {
- return nil, err
- }
- }
- }
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalizing with raw desired state: %v", rawDesired)
- // 3.2b Canonicalization of raw new state using raw desired state
- newState, err := canonicalizeLogMetricNewState(c, rawNew, rawDesired)
- if err != nil {
- return rawNew, err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Created canonical new state: %v", newState)
- // 3.3 Comparison of the new state and raw desired state.
- // TODO(magic-modules-eng): EVENTUALLY_CONSISTENT_UPDATE
- newDesired, err := canonicalizeLogMetricDesiredState(rawDesired, newState)
- if err != nil {
- return newState, err
- }
-
- if err := postReadExtractLogMetricFields(newState); err != nil {
- return newState, err
- }
-
- // Need to ensure any transformations made here match acceptably in differ.
- if err := postReadExtractLogMetricFields(newDesired); err != nil {
- return newState, err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Diffing using canonicalized desired state: %v", newDesired)
- newDiffs, err := diffLogMetric(c, newDesired, newState)
- if err != nil {
- return newState, err
- }
-
- if len(newDiffs) == 0 {
- c.Config.Logger.InfoWithContext(ctx, "No diffs found. Apply was successful.")
- } else {
- c.Config.Logger.InfoWithContextf(ctx, "Found diffs: %v", newDiffs)
- diffMessages := make([]string, len(newDiffs))
- for i, d := range newDiffs {
- diffMessages[i] = fmt.Sprintf("%v", d)
- }
- return newState, dcl.DiffAfterApplyError{Diffs: diffMessages}
- }
- c.Config.Logger.InfoWithContext(ctx, "Done Apply.")
- return newState, nil
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_metric.yaml b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_metric.yaml
deleted file mode 100644
index d959aa66db..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_metric.yaml
+++ /dev/null
@@ -1,452 +0,0 @@
-# Copyright 2023 Google LLC. All Rights Reserved.
-#
-# 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.
-info:
- title: Logging/LogMetric
- description: The Logging LogMetric resource
- x-dcl-struct-name: LogMetric
- x-dcl-has-iam: false
-paths:
- get:
- description: The function used to get information about a LogMetric
- parameters:
- - name: logMetric
- required: true
- description: A full instance of a LogMetric
- apply:
- description: The function used to apply information about a LogMetric
- parameters:
- - name: logMetric
- required: true
- description: A full instance of a LogMetric
- delete:
- description: The function used to delete a LogMetric
- parameters:
- - name: logMetric
- required: true
- description: A full instance of a LogMetric
- deleteAll:
- description: The function used to delete all LogMetric
- parameters:
- - name: project
- required: true
- schema:
- type: string
- list:
- description: The function used to list information about many LogMetric
- parameters:
- - name: project
- required: true
- schema:
- type: string
-components:
- schemas:
- LogMetric:
- title: LogMetric
- x-dcl-id: projects/{{project}}/metrics/{{name}}
- x-dcl-uses-state-hint: true
- x-dcl-parent-container: project
- x-dcl-has-create: true
- x-dcl-has-iam: false
- x-dcl-read-timeout: 0
- x-dcl-apply-timeout: 0
- x-dcl-delete-timeout: 0
- type: object
- required:
- - name
- - filter
- - project
- properties:
- bucketOptions:
- type: object
- x-dcl-go-name: BucketOptions
- x-dcl-go-type: LogMetricBucketOptions
- description: Optional. The `bucket_options` are required when the logs-based
- metric is using a DISTRIBUTION value type and it describes the bucket
- boundaries used to create a histogram of the extracted values.
- properties:
- explicitBuckets:
- type: object
- x-dcl-go-name: ExplicitBuckets
- x-dcl-go-type: LogMetricBucketOptionsExplicitBuckets
- description: The explicit buckets.
- x-dcl-conflicts:
- - linearBuckets
- - exponentialBuckets
- properties:
- bounds:
- type: array
- x-dcl-go-name: Bounds
- description: The values must be monotonically increasing.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: number
- format: double
- x-dcl-go-type: float64
- exponentialBuckets:
- type: object
- x-dcl-go-name: ExponentialBuckets
- x-dcl-go-type: LogMetricBucketOptionsExponentialBuckets
- description: The exponential buckets.
- x-dcl-conflicts:
- - linearBuckets
- - explicitBuckets
- properties:
- growthFactor:
- type: number
- format: double
- x-dcl-go-name: GrowthFactor
- description: Must be greater than 1.
- numFiniteBuckets:
- type: integer
- format: int64
- x-dcl-go-name: NumFiniteBuckets
- description: Must be greater than 0.
- scale:
- type: number
- format: double
- x-dcl-go-name: Scale
- description: Must be greater than 0.
- linearBuckets:
- type: object
- x-dcl-go-name: LinearBuckets
- x-dcl-go-type: LogMetricBucketOptionsLinearBuckets
- description: The linear bucket.
- x-dcl-conflicts:
- - exponentialBuckets
- - explicitBuckets
- properties:
- numFiniteBuckets:
- type: integer
- format: int64
- x-dcl-go-name: NumFiniteBuckets
- description: Must be greater than 0.
- offset:
- type: number
- format: double
- x-dcl-go-name: Offset
- description: Lower bound of the first bucket.
- width:
- type: number
- format: double
- x-dcl-go-name: Width
- description: Must be greater than 0.
- createTime:
- type: string
- format: date-time
- x-dcl-go-name: CreateTime
- readOnly: true
- description: Output only. The creation timestamp of the metric. This field
- may not be present for older metrics.
- x-kubernetes-immutable: true
- description:
- type: string
- x-dcl-go-name: Description
- description: Optional. A description of this metric, which is used in documentation.
- The maximum length of the description is 8000 characters.
- disabled:
- type: boolean
- x-dcl-go-name: Disabled
- description: Optional. If set to True, then this metric is disabled and
- it does not generate any points.
- filter:
- type: string
- x-dcl-go-name: Filter
- description: 'Required. An [advanced logs filter](https://cloud.google.com/logging/docs/view/advanced_filters)
- which is used to match log entries. Example: "resource.type=gae_app AND
- severity>=ERROR" The maximum length of the filter is 20000 characters.'
- labelExtractors:
- type: object
- additionalProperties:
- type: string
- x-dcl-go-name: LabelExtractors
- description: Optional. A map from a label key string to an extractor expression
- which is used to extract data from a log entry field and assign as the
- label value. Each label key specified in the LabelDescriptor must have
- an associated extractor expression in this map. The syntax of the extractor
- expression is the same as for the `value_extractor` field. The extracted
- value is converted to the type defined in the label descriptor. If the
- either the extraction or the type conversion fails, the label will have
- a default value. The default value for a string label is an empty string,
- for an integer label its 0, and for a boolean label its `false`. Note
- that there are upper bounds on the maximum number of labels and the number
- of active time series that are allowed in a project.
- metricDescriptor:
- type: object
- x-dcl-go-name: MetricDescriptor
- x-dcl-go-type: LogMetricMetricDescriptor
- description: Optional. The metric descriptor associated with the logs-based
- metric. If unspecified, it uses a default metric descriptor with a DELTA
- metric kind, INT64 value type, with no labels and a unit of "1". Such
- a metric counts the number of log entries matching the `filter` expression.
- The `name`, `type`, and `description` fields in the `metric_descriptor`
- are output only, and is constructed using the `name` and `description`
- field in the LogMetric. To create a logs-based metric that records a distribution
- of log values, a DELTA metric kind with a DISTRIBUTION value type must
- be used along with a `value_extractor` expression in the LogMetric. Each
- label in the metric descriptor must have a matching label name as the
- key and an extractor expression as the value in the `label_extractors`
- map. The `metric_kind` and `value_type` fields in the `metric_descriptor`
- cannot be updated once initially configured. New labels can be added in
- the `metric_descriptor`, but existing labels cannot be modified except
- for their description.
- properties:
- description:
- type: string
- x-dcl-go-name: Description
- readOnly: true
- description: A detailed description of the metric, which can be used
- in documentation.
- displayName:
- type: string
- x-dcl-go-name: DisplayName
- description: A concise name for the metric, which can be displayed in
- user interfaces. Use sentence case without an ending period, for example
- "Request count". This field is optional but it is recommended to be
- set for any metrics associated with user-visible concepts, such as
- Quota.
- labels:
- type: array
- x-dcl-go-name: Labels
- description: The set of labels that can be used to describe a specific
- instance of this metric type. For example, the `appengine.googleapis.com/http/server/response_latencies`
- metric type has a label for the HTTP response code, `response_code`,
- so you can look at latencies for successful responses or just for
- responses that failed.
- x-dcl-send-empty: true
- x-dcl-list-type: set
- items:
- type: object
- x-dcl-go-type: LogMetricMetricDescriptorLabels
- properties:
- description:
- type: string
- x-dcl-go-name: Description
- description: A human-readable description for the label.
- x-kubernetes-immutable: true
- key:
- type: string
- x-dcl-go-name: Key
- description: The label key.
- x-kubernetes-immutable: true
- valueType:
- type: string
- x-dcl-go-name: ValueType
- x-dcl-go-type: LogMetricMetricDescriptorLabelsValueTypeEnum
- description: 'The type of data that can be assigned to the label.
- Possible values: STRING, BOOL, INT64, DOUBLE, DISTRIBUTION,
- MONEY'
- x-kubernetes-immutable: true
- enum:
- - STRING
- - BOOL
- - INT64
- - DOUBLE
- - DISTRIBUTION
- - MONEY
- launchStage:
- type: string
- x-dcl-go-name: LaunchStage
- x-dcl-go-type: LogMetricMetricDescriptorLaunchStageEnum
- description: 'Optional. The launch stage of the metric definition. Possible
- values: UNIMPLEMENTED, PRELAUNCH, EARLY_ACCESS, ALPHA, BETA, GA, DEPRECATED'
- enum:
- - UNIMPLEMENTED
- - PRELAUNCH
- - EARLY_ACCESS
- - ALPHA
- - BETA
- - GA
- - DEPRECATED
- x-dcl-mutable-unreadable: true
- metadata:
- type: object
- x-dcl-go-name: Metadata
- x-dcl-go-type: LogMetricMetricDescriptorMetadata
- description: Optional. Metadata which can be used to guide usage of
- the metric.
- x-dcl-mutable-unreadable: true
- properties:
- ingestDelay:
- type: string
- x-dcl-go-name: IngestDelay
- description: The delay of data points caused by ingestion. Data
- points older than this age are guaranteed to be ingested and available
- to be read, excluding data loss due to errors.
- samplePeriod:
- type: string
- x-dcl-go-name: SamplePeriod
- description: The sampling period of metric data points. For metrics
- which are written periodically, consecutive data points are stored
- at this time interval, excluding data loss due to errors. Metrics
- with a higher granularity have a smaller sampling period.
- metricKind:
- type: string
- x-dcl-go-name: MetricKind
- x-dcl-go-type: LogMetricMetricDescriptorMetricKindEnum
- description: 'Whether the metric records instantaneous values, changes
- to a value, etc. Some combinations of `metric_kind` and `value_type`
- might not be supported. Possible values: GAUGE, DELTA, CUMULATIVE'
- x-kubernetes-immutable: true
- enum:
- - GAUGE
- - DELTA
- - CUMULATIVE
- monitoredResourceTypes:
- type: array
- x-dcl-go-name: MonitoredResourceTypes
- readOnly: true
- description: Read-only. If present, then a time series, which is identified
- partially by a metric type and a MonitoredResourceDescriptor, that
- is associated with this metric type can only be associated with one
- of the monitored resource types listed here.
- x-kubernetes-immutable: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- name:
- type: string
- x-dcl-go-name: Name
- readOnly: true
- description: The resource name of the metric descriptor.
- x-kubernetes-immutable: true
- type:
- type: string
- x-dcl-go-name: Type
- readOnly: true
- description: 'The metric type, including its DNS name prefix. The type
- is not URL-encoded. All user-defined metric types have the DNS name
- `custom.googleapis.com` or `external.googleapis.com`. Metric types
- should use a natural hierarchical grouping. For example: "custom.googleapis.com/invoice/paid/amount"
- "external.googleapis.com/prometheus/up" "appengine.googleapis.com/http/server/response_latencies"'
- x-kubernetes-immutable: true
- unit:
- type: string
- x-dcl-go-name: Unit
- description: 'The units in which the metric value is reported. It is
- only applicable if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`.
- The `unit` defines the representation of the stored metric values.
- Different systems might scale the values to be more easily displayed
- (so a value of `0.02kBy` _might_ be displayed as `20By`, and a value
- of `3523kBy` _might_ be displayed as `3.5MBy`). However, if the `unit`
- is `kBy`, then the value of the metric is always in thousands of bytes,
- no matter how it might be displayed. If you want a custom metric to
- record the exact number of CPU-seconds used by a job, you can create
- an `INT64 CUMULATIVE` metric whose `unit` is `s{CPU}` (or equivalently
- `1s{CPU}` or just `s`). If the job uses 12,005 CPU-seconds, then the
- value is written as `12005`. Alternatively, if you want a custom metric
- to record data in a more granular way, you can create a `DOUBLE CUMULATIVE`
- metric whose `unit` is `ks{CPU}`, and then write the value `12.005`
- (which is `12005/1000`), or use `Kis{CPU}` and write `11.723` (which
- is `12005/1024`). The supported units are a subset of [The Unified
- Code for Units of Measure](https://unitsofmeasure.org/ucum.html) standard:
- **Basic units (UNIT)** * `bit` bit * `By` byte * `s` second * `min`
- minute * `h` hour * `d` day * `1` dimensionless **Prefixes (PREFIX)**
- * `k` kilo (10^3) * `M` mega (10^6) * `G` giga (10^9) * `T` tera (10^12)
- * `P` peta (10^15) * `E` exa (10^18) * `Z` zetta (10^21) * `Y` yotta
- (10^24) * `m` milli (10^-3) * `u` micro (10^-6) * `n` nano (10^-9)
- * `p` pico (10^-12) * `f` femto (10^-15) * `a` atto (10^-18) * `z`
- zepto (10^-21) * `y` yocto (10^-24) * `Ki` kibi (2^10) * `Mi` mebi
- (2^20) * `Gi` gibi (2^30) * `Ti` tebi (2^40) * `Pi` pebi (2^50) **Grammar**
- The grammar also includes these connectors: * `/` division or ratio
- (as an infix operator). For examples, `kBy/{email}` or `MiBy/10ms`
- (although you should almost never have `/s` in a metric `unit`; rates
- should always be computed at query time from the underlying cumulative
- or delta value). * `.` multiplication or composition (as an infix
- operator). For examples, `GBy.d` or `k{watt}.h`. The grammar for a
- unit is as follows: Expression = Component: { "." Component } { "/"
- Component } ; Component = ( [ PREFIX ] UNIT | "%" ) [ Annotation ]
- | Annotation | "1" ; Annotation = "{" NAME "}" ; Notes: * `Annotation`
- is just a comment if it follows a `UNIT`. If the annotation is used
- alone, then the unit is equivalent to `1`. For examples, `{request}/s
- == 1/s`, `By{transmitted}/s == By/s`. * `NAME` is a sequence of non-blank
- printable ASCII characters not containing `{` or `}`. * `1` represents
- a unitary [dimensionless unit](https://en.wikipedia.org/wiki/Dimensionless_quantity)
- of 1, such as in `1/s`. It is typically used when none of the basic
- units are appropriate. For example, "new users per day" can be represented
- as `1/d` or `{new-users}/d` (and a metric value `5` would mean "5
- new users). Alternatively, "thousands of page views per day" would
- be represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric
- value of `5.3` would mean "5300 page views per day"). * `%` represents
- dimensionless value of 1/100, and annotates values giving a percentage
- (so the metric values are typically in the range of 0..100, and a
- metric value `3` means "3 percent"). * `10^2.%` indicates a metric
- contains a ratio, typically in the range 0..1, that will be multiplied
- by 100 and displayed as a percentage (so a metric value `0.03` means
- "3 percent").'
- x-dcl-server-default: true
- valueType:
- type: string
- x-dcl-go-name: ValueType
- x-dcl-go-type: LogMetricMetricDescriptorValueTypeEnum
- description: 'Whether the measurement is an integer, a floating-point
- number, etc. Some combinations of `metric_kind` and `value_type` might
- not be supported. Possible values: STRING, BOOL, INT64, DOUBLE, DISTRIBUTION,
- MONEY'
- x-kubernetes-immutable: true
- enum:
- - STRING
- - BOOL
- - INT64
- - DOUBLE
- - DISTRIBUTION
- - MONEY
- name:
- type: string
- x-dcl-go-name: Name
- description: 'Required. The client-assigned metric identifier. Examples:
- `"error_count"`, `"nginx/requests"`. Metric identifiers are limited to
- 100 characters and can include only the following characters: `A-Z`, `a-z`,
- `0-9`, and the special characters `_-.,+!*'',()%/`. The forward-slash
- character (`/`) denotes a hierarchy of name pieces, and it cannot be the
- first character of the name. The metric identifier in this field must
- not be [URL-encoded](https://en.wikipedia.org/wiki/Percent-encoding).
- However, when the metric identifier appears as the `[METRIC_ID]` part
- of a `metric_name` API parameter, then the metric identifier must be URL-encoded.
- Example: `"projects/my-project/metrics/nginx%2Frequests"`.'
- x-kubernetes-immutable: true
- project:
- type: string
- x-dcl-go-name: Project
- description: The resource name of the project in which to create the metric.
- x-kubernetes-immutable: true
- x-dcl-references:
- - resource: Cloudresourcemanager/Project
- field: name
- parent: true
- updateTime:
- type: string
- format: date-time
- x-dcl-go-name: UpdateTime
- readOnly: true
- description: Output only. The last update timestamp of the metric. This
- field may not be present for older metrics.
- x-kubernetes-immutable: true
- valueExtractor:
- type: string
- x-dcl-go-name: ValueExtractor
- description: 'Optional. A `value_extractor` is required when using a distribution
- logs-based metric to extract the values to record from a log entry. Two
- functions are supported for value extraction: `EXTRACT(field)` or `REGEXP_EXTRACT(field,
- regex)`. The argument are: 1. field: The name of the log entry field from
- which the value is to be extracted. 2. regex: A regular expression using
- the Google RE2 syntax (https://github.com/google/re2/wiki/Syntax) with
- a single capture group to extract data from the specified log entry field.
- The value of the field is converted to a string before applying the regex.
- It is an error to specify a regex that does not include exactly one capture
- group. The result of the extraction must be convertible to a double type,
- as the distribution always records double values. If either the extraction
- or the conversion to double fails, then those values are not recorded
- in the distribution. Example: `REGEXP_EXTRACT(jsonPayload.request, ".*quantity=(d+).*")`'
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_metric_internal.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_metric_internal.go
deleted file mode 100644
index 991e5f6d14..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_metric_internal.go
+++ /dev/null
@@ -1,3434 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 logging
-
-import (
- "bytes"
- "context"
- "encoding/json"
- "fmt"
- "io/ioutil"
- "strings"
-
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-func (r *LogMetric) validate() error {
-
- if err := dcl.Required(r, "name"); err != nil {
- return err
- }
- if err := dcl.Required(r, "filter"); err != nil {
- return err
- }
- if err := dcl.RequiredParameter(r.Project, "Project"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.MetricDescriptor) {
- if err := r.MetricDescriptor.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.BucketOptions) {
- if err := r.BucketOptions.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *LogMetricMetricDescriptor) validate() error {
- if !dcl.IsEmptyValueIndirect(r.Metadata) {
- if err := r.Metadata.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *LogMetricMetricDescriptorLabels) validate() error {
- return nil
-}
-func (r *LogMetricMetricDescriptorMetadata) validate() error {
- return nil
-}
-func (r *LogMetricBucketOptions) validate() error {
- if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"LinearBuckets", "ExponentialBuckets", "ExplicitBuckets"}, r.LinearBuckets, r.ExponentialBuckets, r.ExplicitBuckets); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.LinearBuckets) {
- if err := r.LinearBuckets.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.ExponentialBuckets) {
- if err := r.ExponentialBuckets.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.ExplicitBuckets) {
- if err := r.ExplicitBuckets.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *LogMetricBucketOptionsLinearBuckets) validate() error {
- return nil
-}
-func (r *LogMetricBucketOptionsExponentialBuckets) validate() error {
- return nil
-}
-func (r *LogMetricBucketOptionsExplicitBuckets) validate() error {
- return nil
-}
-func (r *LogMetric) basePath() string {
- params := map[string]interface{}{}
- return dcl.Nprintf("https://logging.googleapis.com/v2/", params)
-}
-
-func (r *LogMetric) getURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("projects/{{project}}/metrics/{{name}}", nr.basePath(), userBasePath, params), nil
-}
-
-func (r *LogMetric) listURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- }
- return dcl.URL("projects/{{project}}/metrics", nr.basePath(), userBasePath, params), nil
-
-}
-
-func (r *LogMetric) createURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- }
- return dcl.URL("projects/{{project}}/metrics", nr.basePath(), userBasePath, params), nil
-
-}
-
-func (r *LogMetric) deleteURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("projects/{{project}}/metrics/{{name}}", nr.basePath(), userBasePath, params), nil
-}
-
-// logMetricApiOperation represents a mutable operation in the underlying REST
-// API such as Create, Update, or Delete.
-type logMetricApiOperation interface {
- do(context.Context, *LogMetric, *Client) error
-}
-
-// newUpdateLogMetricUpdateRequest creates a request for an
-// LogMetric resource's update update type by filling in the update
-// fields based on the intended state of the resource.
-func newUpdateLogMetricUpdateRequest(ctx context.Context, f *LogMetric, c *Client) (map[string]interface{}, error) {
- req := map[string]interface{}{}
- res := f
- _ = res
-
- if v := f.Description; !dcl.IsEmptyValueIndirect(v) {
- req["description"] = v
- }
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- req["filter"] = v
- }
- if v := f.Disabled; !dcl.IsEmptyValueIndirect(v) {
- req["disabled"] = v
- }
- if v, err := expandLogMetricMetricDescriptor(c, f.MetricDescriptor, res); err != nil {
- return nil, fmt.Errorf("error expanding MetricDescriptor into metricDescriptor: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- req["metricDescriptor"] = v
- }
- if v := f.ValueExtractor; !dcl.IsEmptyValueIndirect(v) {
- req["valueExtractor"] = v
- }
- if v := f.LabelExtractors; !dcl.IsEmptyValueIndirect(v) {
- req["labelExtractors"] = v
- }
- if v, err := expandLogMetricBucketOptions(c, f.BucketOptions, res); err != nil {
- return nil, fmt.Errorf("error expanding BucketOptions into bucketOptions: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- req["bucketOptions"] = v
- }
- return req, nil
-}
-
-// marshalUpdateLogMetricUpdateRequest converts the update into
-// the final JSON request body.
-func marshalUpdateLogMetricUpdateRequest(c *Client, m map[string]interface{}) ([]byte, error) {
-
- return json.Marshal(m)
-}
-
-type updateLogMetricUpdateOperation struct {
- // If the update operation has the REQUIRES_APPLY_OPTIONS trait, this will be populated.
- // Usually it will be nil - this is to prevent us from accidentally depending on apply
- // options, which should usually be unnecessary.
- ApplyOptions []dcl.ApplyOption
- FieldDiffs []*dcl.FieldDiff
-}
-
-// do creates a request and sends it to the appropriate URL. In most operations,
-// do will transcribe a subset of the resource into a request object and send a
-// PUT request to a single URL.
-
-func (op *updateLogMetricUpdateOperation) do(ctx context.Context, r *LogMetric, c *Client) error {
- _, err := c.GetLogMetric(ctx, r)
- if err != nil {
- return err
- }
-
- u, err := r.updateURL(c.Config.BasePath, "update")
- if err != nil {
- return err
- }
-
- req, err := newUpdateLogMetricUpdateRequest(ctx, r, c)
- if err != nil {
- return err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Created update: %#v", req)
- body, err := marshalUpdateLogMetricUpdateRequest(c, req)
- if err != nil {
- return err
- }
- _, err = dcl.SendRequest(ctx, c.Config, "PUT", u, bytes.NewBuffer(body), c.Config.RetryProvider)
- if err != nil {
- return err
- }
-
- return nil
-}
-
-func (c *Client) listLogMetricRaw(ctx context.Context, r *LogMetric, pageToken string, pageSize int32) ([]byte, error) {
- u, err := r.urlNormalized().listURL(c.Config.BasePath)
- if err != nil {
- return nil, err
- }
-
- m := make(map[string]string)
- if pageToken != "" {
- m["pageToken"] = pageToken
- }
-
- if pageSize != LogMetricMaxPage {
- m["pageSize"] = fmt.Sprintf("%v", pageSize)
- }
-
- u, err = dcl.AddQueryParams(u, m)
- if err != nil {
- return nil, err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
- if err != nil {
- return nil, err
- }
- defer resp.Response.Body.Close()
- return ioutil.ReadAll(resp.Response.Body)
-}
-
-type listLogMetricOperation struct {
- Metrics []map[string]interface{} `json:"metrics"`
- Token string `json:"nextPageToken"`
-}
-
-func (c *Client) listLogMetric(ctx context.Context, r *LogMetric, pageToken string, pageSize int32) ([]*LogMetric, string, error) {
- b, err := c.listLogMetricRaw(ctx, r, pageToken, pageSize)
- if err != nil {
- return nil, "", err
- }
-
- var m listLogMetricOperation
- if err := json.Unmarshal(b, &m); err != nil {
- return nil, "", err
- }
-
- var l []*LogMetric
- for _, v := range m.Metrics {
- res, err := unmarshalMapLogMetric(v, c, r)
- if err != nil {
- return nil, m.Token, err
- }
- res.Project = r.Project
- l = append(l, res)
- }
-
- return l, m.Token, nil
-}
-
-func (c *Client) deleteAllLogMetric(ctx context.Context, f func(*LogMetric) bool, resources []*LogMetric) error {
- var errors []string
- for _, res := range resources {
- if f(res) {
- // We do not want deleteAll to fail on a deletion or else it will stop deleting other resources.
- err := c.DeleteLogMetric(ctx, res)
- if err != nil {
- errors = append(errors, err.Error())
- }
- }
- }
- if len(errors) > 0 {
- return fmt.Errorf("%v", strings.Join(errors, "\n"))
- } else {
- return nil
- }
-}
-
-type deleteLogMetricOperation struct{}
-
-func (op *deleteLogMetricOperation) do(ctx context.Context, r *LogMetric, c *Client) error {
- r, err := c.GetLogMetric(ctx, r)
- if err != nil {
- if dcl.IsNotFound(err) {
- c.Config.Logger.InfoWithContextf(ctx, "LogMetric not found, returning. Original error: %v", err)
- return nil
- }
- c.Config.Logger.WarningWithContextf(ctx, "GetLogMetric checking for existence. error: %v", err)
- return err
- }
-
- u, err := r.deleteURL(c.Config.BasePath)
- if err != nil {
- return err
- }
-
- // Delete should never have a body
- body := &bytes.Buffer{}
- _, err = dcl.SendRequest(ctx, c.Config, "DELETE", u, body, c.Config.RetryProvider)
- if err != nil {
- return fmt.Errorf("failed to delete LogMetric: %w", err)
- }
-
- // We saw a race condition where for some successful delete operation, the Get calls returned resources for a short duration.
- // This is the reason we are adding retry to handle that case.
- retriesRemaining := 10
- dcl.Do(ctx, func(ctx context.Context) (*dcl.RetryDetails, error) {
- _, err := c.GetLogMetric(ctx, r)
- if dcl.IsNotFound(err) {
- return nil, nil
- }
- if retriesRemaining > 0 {
- retriesRemaining--
- return &dcl.RetryDetails{}, dcl.OperationNotDone{}
- }
- return nil, dcl.NotDeletedError{ExistingResource: r}
- }, c.Config.RetryProvider)
- return nil
-}
-
-// Create operations are similar to Update operations, although they do not have
-// specific request objects. The Create request object is the json encoding of
-// the resource, which is modified by res.marshal to form the base request body.
-type createLogMetricOperation struct {
- response map[string]interface{}
-}
-
-func (op *createLogMetricOperation) FirstResponse() (map[string]interface{}, bool) {
- return op.response, len(op.response) > 0
-}
-
-func (op *createLogMetricOperation) do(ctx context.Context, r *LogMetric, c *Client) error {
- c.Config.Logger.InfoWithContextf(ctx, "Attempting to create %v", r)
- u, err := r.createURL(c.Config.BasePath)
- if err != nil {
- return err
- }
-
- req, err := r.marshal(c)
- if err != nil {
- return err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "POST", u, bytes.NewBuffer(req), c.Config.RetryProvider)
- if err != nil {
- return err
- }
-
- o, err := dcl.ResponseBodyAsJSON(resp)
- if err != nil {
- return fmt.Errorf("error decoding response body into JSON: %w", err)
- }
- op.response = o
-
- if _, err := c.GetLogMetric(ctx, r); err != nil {
- c.Config.Logger.WarningWithContextf(ctx, "get returned error: %v", err)
- return err
- }
-
- return nil
-}
-
-func (c *Client) getLogMetricRaw(ctx context.Context, r *LogMetric) ([]byte, error) {
-
- u, err := r.getURL(c.Config.BasePath)
- if err != nil {
- return nil, err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
- if err != nil {
- return nil, err
- }
- defer resp.Response.Body.Close()
- b, err := ioutil.ReadAll(resp.Response.Body)
- if err != nil {
- return nil, err
- }
-
- return b, nil
-}
-
-func (c *Client) logMetricDiffsForRawDesired(ctx context.Context, rawDesired *LogMetric, opts ...dcl.ApplyOption) (initial, desired *LogMetric, diffs []*dcl.FieldDiff, err error) {
- c.Config.Logger.InfoWithContext(ctx, "Fetching initial state...")
- // First, let us see if the user provided a state hint. If they did, we will start fetching based on that.
- var fetchState *LogMetric
- if sh := dcl.FetchStateHint(opts); sh != nil {
- if r, ok := sh.(*LogMetric); !ok {
- c.Config.Logger.WarningWithContextf(ctx, "Initial state hint was of the wrong type; expected LogMetric, got %T", sh)
- } else {
- fetchState = r
- }
- }
- if fetchState == nil {
- fetchState = rawDesired
- }
-
- // 1.2: Retrieval of raw initial state from API
- rawInitial, err := c.GetLogMetric(ctx, fetchState)
- if rawInitial == nil {
- if !dcl.IsNotFound(err) {
- c.Config.Logger.WarningWithContextf(ctx, "Failed to retrieve whether a LogMetric resource already exists: %s", err)
- return nil, nil, nil, fmt.Errorf("failed to retrieve LogMetric resource: %v", err)
- }
- c.Config.Logger.InfoWithContext(ctx, "Found that LogMetric resource did not exist.")
- // Perform canonicalization to pick up defaults.
- desired, err = canonicalizeLogMetricDesiredState(rawDesired, rawInitial)
- return nil, desired, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Found initial state for LogMetric: %v", rawInitial)
- c.Config.Logger.InfoWithContextf(ctx, "Initial desired state for LogMetric: %v", rawDesired)
-
- // The Get call applies postReadExtract and so the result may contain fields that are not part of API version.
- if err := extractLogMetricFields(rawInitial); err != nil {
- return nil, nil, nil, err
- }
-
- // 1.3: Canonicalize raw initial state into initial state.
- initial, err = canonicalizeLogMetricInitialState(rawInitial, rawDesired)
- if err != nil {
- return nil, nil, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalized initial state for LogMetric: %v", initial)
-
- // 1.4: Canonicalize raw desired state into desired state.
- desired, err = canonicalizeLogMetricDesiredState(rawDesired, rawInitial, opts...)
- if err != nil {
- return nil, nil, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalized desired state for LogMetric: %v", desired)
-
- // 2.1: Comparison of initial and desired state.
- diffs, err = diffLogMetric(c, desired, initial, opts...)
- return initial, desired, diffs, err
-}
-
-func canonicalizeLogMetricInitialState(rawInitial, rawDesired *LogMetric) (*LogMetric, error) {
- // TODO(magic-modules-eng): write canonicalizer once relevant traits are added.
- return rawInitial, nil
-}
-
-/*
-* Canonicalizers
-*
-* These are responsible for converting either a user-specified config or a
-* GCP API response to a standard format that can be used for difference checking.
-* */
-
-func canonicalizeLogMetricDesiredState(rawDesired, rawInitial *LogMetric, opts ...dcl.ApplyOption) (*LogMetric, error) {
-
- if rawInitial == nil {
- // Since the initial state is empty, the desired state is all we have.
- // We canonicalize the remaining nested objects with nil to pick up defaults.
- rawDesired.MetricDescriptor = canonicalizeLogMetricMetricDescriptor(rawDesired.MetricDescriptor, nil, opts...)
- rawDesired.BucketOptions = canonicalizeLogMetricBucketOptions(rawDesired.BucketOptions, nil, opts...)
-
- return rawDesired, nil
- }
- canonicalDesired := &LogMetric{}
- if dcl.StringCanonicalize(rawDesired.Name, rawInitial.Name) {
- canonicalDesired.Name = rawInitial.Name
- } else {
- canonicalDesired.Name = rawDesired.Name
- }
- if dcl.StringCanonicalize(rawDesired.Description, rawInitial.Description) {
- canonicalDesired.Description = rawInitial.Description
- } else {
- canonicalDesired.Description = rawDesired.Description
- }
- if dcl.StringCanonicalize(rawDesired.Filter, rawInitial.Filter) {
- canonicalDesired.Filter = rawInitial.Filter
- } else {
- canonicalDesired.Filter = rawDesired.Filter
- }
- if dcl.BoolCanonicalize(rawDesired.Disabled, rawInitial.Disabled) {
- canonicalDesired.Disabled = rawInitial.Disabled
- } else {
- canonicalDesired.Disabled = rawDesired.Disabled
- }
- canonicalDesired.MetricDescriptor = canonicalizeLogMetricMetricDescriptor(rawDesired.MetricDescriptor, rawInitial.MetricDescriptor, opts...)
- if dcl.StringCanonicalize(rawDesired.ValueExtractor, rawInitial.ValueExtractor) {
- canonicalDesired.ValueExtractor = rawInitial.ValueExtractor
- } else {
- canonicalDesired.ValueExtractor = rawDesired.ValueExtractor
- }
- if dcl.IsZeroValue(rawDesired.LabelExtractors) || (dcl.IsEmptyValueIndirect(rawDesired.LabelExtractors) && dcl.IsEmptyValueIndirect(rawInitial.LabelExtractors)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- canonicalDesired.LabelExtractors = rawInitial.LabelExtractors
- } else {
- canonicalDesired.LabelExtractors = rawDesired.LabelExtractors
- }
- canonicalDesired.BucketOptions = canonicalizeLogMetricBucketOptions(rawDesired.BucketOptions, rawInitial.BucketOptions, opts...)
- if dcl.NameToSelfLink(rawDesired.Project, rawInitial.Project) {
- canonicalDesired.Project = rawInitial.Project
- } else {
- canonicalDesired.Project = rawDesired.Project
- }
- return canonicalDesired, nil
-}
-
-func canonicalizeLogMetricNewState(c *Client, rawNew, rawDesired *LogMetric) (*LogMetric, error) {
-
- if dcl.IsEmptyValueIndirect(rawNew.Name) && dcl.IsEmptyValueIndirect(rawDesired.Name) {
- rawNew.Name = rawDesired.Name
- } else {
- if dcl.StringCanonicalize(rawDesired.Name, rawNew.Name) {
- rawNew.Name = rawDesired.Name
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Description) && dcl.IsEmptyValueIndirect(rawDesired.Description) {
- rawNew.Description = rawDesired.Description
- } else {
- if dcl.StringCanonicalize(rawDesired.Description, rawNew.Description) {
- rawNew.Description = rawDesired.Description
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Filter) && dcl.IsEmptyValueIndirect(rawDesired.Filter) {
- rawNew.Filter = rawDesired.Filter
- } else {
- if dcl.StringCanonicalize(rawDesired.Filter, rawNew.Filter) {
- rawNew.Filter = rawDesired.Filter
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Disabled) && dcl.IsEmptyValueIndirect(rawDesired.Disabled) {
- rawNew.Disabled = rawDesired.Disabled
- } else {
- if dcl.BoolCanonicalize(rawDesired.Disabled, rawNew.Disabled) {
- rawNew.Disabled = rawDesired.Disabled
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.MetricDescriptor) && dcl.IsEmptyValueIndirect(rawDesired.MetricDescriptor) {
- rawNew.MetricDescriptor = rawDesired.MetricDescriptor
- } else {
- rawNew.MetricDescriptor = canonicalizeNewLogMetricMetricDescriptor(c, rawDesired.MetricDescriptor, rawNew.MetricDescriptor)
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.ValueExtractor) && dcl.IsEmptyValueIndirect(rawDesired.ValueExtractor) {
- rawNew.ValueExtractor = rawDesired.ValueExtractor
- } else {
- if dcl.StringCanonicalize(rawDesired.ValueExtractor, rawNew.ValueExtractor) {
- rawNew.ValueExtractor = rawDesired.ValueExtractor
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.LabelExtractors) && dcl.IsEmptyValueIndirect(rawDesired.LabelExtractors) {
- rawNew.LabelExtractors = rawDesired.LabelExtractors
- } else {
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.BucketOptions) && dcl.IsEmptyValueIndirect(rawDesired.BucketOptions) {
- rawNew.BucketOptions = rawDesired.BucketOptions
- } else {
- rawNew.BucketOptions = canonicalizeNewLogMetricBucketOptions(c, rawDesired.BucketOptions, rawNew.BucketOptions)
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.CreateTime) && dcl.IsEmptyValueIndirect(rawDesired.CreateTime) {
- rawNew.CreateTime = rawDesired.CreateTime
- } else {
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.UpdateTime) && dcl.IsEmptyValueIndirect(rawDesired.UpdateTime) {
- rawNew.UpdateTime = rawDesired.UpdateTime
- } else {
- }
-
- rawNew.Project = rawDesired.Project
-
- return rawNew, nil
-}
-
-func canonicalizeLogMetricMetricDescriptor(des, initial *LogMetricMetricDescriptor, opts ...dcl.ApplyOption) *LogMetricMetricDescriptor {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &LogMetricMetricDescriptor{}
-
- cDes.Labels = canonicalizeLogMetricMetricDescriptorLabelsSlice(des.Labels, initial.Labels, opts...)
- if dcl.IsZeroValue(des.MetricKind) || (dcl.IsEmptyValueIndirect(des.MetricKind) && dcl.IsEmptyValueIndirect(initial.MetricKind)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.MetricKind = initial.MetricKind
- } else {
- cDes.MetricKind = des.MetricKind
- }
- if canonicalizeLogMetricMetricDescriptorValueType(des.ValueType, initial.ValueType) || dcl.IsZeroValue(des.ValueType) {
- cDes.ValueType = initial.ValueType
- } else {
- cDes.ValueType = des.ValueType
- }
- if dcl.StringCanonicalize(des.Unit, initial.Unit) || dcl.IsZeroValue(des.Unit) {
- cDes.Unit = initial.Unit
- } else {
- cDes.Unit = des.Unit
- }
- if dcl.StringCanonicalize(des.DisplayName, initial.DisplayName) || dcl.IsZeroValue(des.DisplayName) {
- cDes.DisplayName = initial.DisplayName
- } else {
- cDes.DisplayName = des.DisplayName
- }
- cDes.Metadata = canonicalizeLogMetricMetricDescriptorMetadata(des.Metadata, initial.Metadata, opts...)
- if dcl.IsZeroValue(des.LaunchStage) || (dcl.IsEmptyValueIndirect(des.LaunchStage) && dcl.IsEmptyValueIndirect(initial.LaunchStage)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.LaunchStage = initial.LaunchStage
- } else {
- cDes.LaunchStage = des.LaunchStage
- }
-
- return cDes
-}
-
-func canonicalizeLogMetricMetricDescriptorSlice(des, initial []LogMetricMetricDescriptor, opts ...dcl.ApplyOption) []LogMetricMetricDescriptor {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]LogMetricMetricDescriptor, 0, len(des))
- for _, d := range des {
- cd := canonicalizeLogMetricMetricDescriptor(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]LogMetricMetricDescriptor, 0, len(des))
- for i, d := range des {
- cd := canonicalizeLogMetricMetricDescriptor(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewLogMetricMetricDescriptor(c *Client, des, nw *LogMetricMetricDescriptor) *LogMetricMetricDescriptor {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for LogMetricMetricDescriptor while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Name, nw.Name) {
- nw.Name = des.Name
- }
- if dcl.StringCanonicalize(des.Type, nw.Type) {
- nw.Type = des.Type
- }
- nw.Labels = canonicalizeNewLogMetricMetricDescriptorLabelsSet(c, des.Labels, nw.Labels)
- if canonicalizeLogMetricMetricDescriptorValueType(des.ValueType, nw.ValueType) {
- nw.ValueType = des.ValueType
- }
- if dcl.StringCanonicalize(des.Unit, nw.Unit) {
- nw.Unit = des.Unit
- }
- if dcl.StringCanonicalize(des.Description, nw.Description) {
- nw.Description = des.Description
- }
- if dcl.StringCanonicalize(des.DisplayName, nw.DisplayName) {
- nw.DisplayName = des.DisplayName
- }
- nw.Metadata = des.Metadata
- nw.LaunchStage = des.LaunchStage
- if dcl.StringArrayCanonicalize(des.MonitoredResourceTypes, nw.MonitoredResourceTypes) {
- nw.MonitoredResourceTypes = des.MonitoredResourceTypes
- }
-
- return nw
-}
-
-func canonicalizeNewLogMetricMetricDescriptorSet(c *Client, des, nw []LogMetricMetricDescriptor) []LogMetricMetricDescriptor {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []LogMetricMetricDescriptor
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareLogMetricMetricDescriptorNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewLogMetricMetricDescriptor(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewLogMetricMetricDescriptorSlice(c *Client, des, nw []LogMetricMetricDescriptor) []LogMetricMetricDescriptor {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []LogMetricMetricDescriptor
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewLogMetricMetricDescriptor(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeLogMetricMetricDescriptorLabels(des, initial *LogMetricMetricDescriptorLabels, opts ...dcl.ApplyOption) *LogMetricMetricDescriptorLabels {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &LogMetricMetricDescriptorLabels{}
-
- if dcl.StringCanonicalize(des.Key, initial.Key) || dcl.IsZeroValue(des.Key) {
- cDes.Key = initial.Key
- } else {
- cDes.Key = des.Key
- }
- if canonicalizeLogMetricMetricDescriptorLabelsValueType(des.ValueType, initial.ValueType) || dcl.IsZeroValue(des.ValueType) {
- cDes.ValueType = initial.ValueType
- } else {
- cDes.ValueType = des.ValueType
- }
- if dcl.StringCanonicalize(des.Description, initial.Description) || dcl.IsZeroValue(des.Description) {
- cDes.Description = initial.Description
- } else {
- cDes.Description = des.Description
- }
-
- return cDes
-}
-
-func canonicalizeLogMetricMetricDescriptorLabelsSlice(des, initial []LogMetricMetricDescriptorLabels, opts ...dcl.ApplyOption) []LogMetricMetricDescriptorLabels {
- if des == nil {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]LogMetricMetricDescriptorLabels, 0, len(des))
- for _, d := range des {
- cd := canonicalizeLogMetricMetricDescriptorLabels(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]LogMetricMetricDescriptorLabels, 0, len(des))
- for i, d := range des {
- cd := canonicalizeLogMetricMetricDescriptorLabels(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewLogMetricMetricDescriptorLabels(c *Client, des, nw *LogMetricMetricDescriptorLabels) *LogMetricMetricDescriptorLabels {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for LogMetricMetricDescriptorLabels while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Key, nw.Key) {
- nw.Key = des.Key
- }
- if canonicalizeLogMetricMetricDescriptorLabelsValueType(des.ValueType, nw.ValueType) {
- nw.ValueType = des.ValueType
- }
- if dcl.StringCanonicalize(des.Description, nw.Description) {
- nw.Description = des.Description
- }
-
- return nw
-}
-
-func canonicalizeNewLogMetricMetricDescriptorLabelsSet(c *Client, des, nw []LogMetricMetricDescriptorLabels) []LogMetricMetricDescriptorLabels {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []LogMetricMetricDescriptorLabels
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareLogMetricMetricDescriptorLabelsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewLogMetricMetricDescriptorLabels(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewLogMetricMetricDescriptorLabelsSlice(c *Client, des, nw []LogMetricMetricDescriptorLabels) []LogMetricMetricDescriptorLabels {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []LogMetricMetricDescriptorLabels
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewLogMetricMetricDescriptorLabels(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeLogMetricMetricDescriptorMetadata(des, initial *LogMetricMetricDescriptorMetadata, opts ...dcl.ApplyOption) *LogMetricMetricDescriptorMetadata {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &LogMetricMetricDescriptorMetadata{}
-
- if dcl.StringCanonicalize(des.SamplePeriod, initial.SamplePeriod) || dcl.IsZeroValue(des.SamplePeriod) {
- cDes.SamplePeriod = initial.SamplePeriod
- } else {
- cDes.SamplePeriod = des.SamplePeriod
- }
- if dcl.StringCanonicalize(des.IngestDelay, initial.IngestDelay) || dcl.IsZeroValue(des.IngestDelay) {
- cDes.IngestDelay = initial.IngestDelay
- } else {
- cDes.IngestDelay = des.IngestDelay
- }
-
- return cDes
-}
-
-func canonicalizeLogMetricMetricDescriptorMetadataSlice(des, initial []LogMetricMetricDescriptorMetadata, opts ...dcl.ApplyOption) []LogMetricMetricDescriptorMetadata {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]LogMetricMetricDescriptorMetadata, 0, len(des))
- for _, d := range des {
- cd := canonicalizeLogMetricMetricDescriptorMetadata(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]LogMetricMetricDescriptorMetadata, 0, len(des))
- for i, d := range des {
- cd := canonicalizeLogMetricMetricDescriptorMetadata(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewLogMetricMetricDescriptorMetadata(c *Client, des, nw *LogMetricMetricDescriptorMetadata) *LogMetricMetricDescriptorMetadata {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for LogMetricMetricDescriptorMetadata while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.SamplePeriod, nw.SamplePeriod) {
- nw.SamplePeriod = des.SamplePeriod
- }
- if dcl.StringCanonicalize(des.IngestDelay, nw.IngestDelay) {
- nw.IngestDelay = des.IngestDelay
- }
-
- return nw
-}
-
-func canonicalizeNewLogMetricMetricDescriptorMetadataSet(c *Client, des, nw []LogMetricMetricDescriptorMetadata) []LogMetricMetricDescriptorMetadata {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []LogMetricMetricDescriptorMetadata
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareLogMetricMetricDescriptorMetadataNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewLogMetricMetricDescriptorMetadata(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewLogMetricMetricDescriptorMetadataSlice(c *Client, des, nw []LogMetricMetricDescriptorMetadata) []LogMetricMetricDescriptorMetadata {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []LogMetricMetricDescriptorMetadata
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewLogMetricMetricDescriptorMetadata(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeLogMetricBucketOptions(des, initial *LogMetricBucketOptions, opts ...dcl.ApplyOption) *LogMetricBucketOptions {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if des.LinearBuckets != nil || (initial != nil && initial.LinearBuckets != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.ExponentialBuckets, des.ExplicitBuckets) {
- des.LinearBuckets = nil
- if initial != nil {
- initial.LinearBuckets = nil
- }
- }
- }
-
- if des.ExponentialBuckets != nil || (initial != nil && initial.ExponentialBuckets != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.LinearBuckets, des.ExplicitBuckets) {
- des.ExponentialBuckets = nil
- if initial != nil {
- initial.ExponentialBuckets = nil
- }
- }
- }
-
- if des.ExplicitBuckets != nil || (initial != nil && initial.ExplicitBuckets != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.LinearBuckets, des.ExponentialBuckets) {
- des.ExplicitBuckets = nil
- if initial != nil {
- initial.ExplicitBuckets = nil
- }
- }
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &LogMetricBucketOptions{}
-
- cDes.LinearBuckets = canonicalizeLogMetricBucketOptionsLinearBuckets(des.LinearBuckets, initial.LinearBuckets, opts...)
- cDes.ExponentialBuckets = canonicalizeLogMetricBucketOptionsExponentialBuckets(des.ExponentialBuckets, initial.ExponentialBuckets, opts...)
- cDes.ExplicitBuckets = canonicalizeLogMetricBucketOptionsExplicitBuckets(des.ExplicitBuckets, initial.ExplicitBuckets, opts...)
-
- return cDes
-}
-
-func canonicalizeLogMetricBucketOptionsSlice(des, initial []LogMetricBucketOptions, opts ...dcl.ApplyOption) []LogMetricBucketOptions {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]LogMetricBucketOptions, 0, len(des))
- for _, d := range des {
- cd := canonicalizeLogMetricBucketOptions(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]LogMetricBucketOptions, 0, len(des))
- for i, d := range des {
- cd := canonicalizeLogMetricBucketOptions(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewLogMetricBucketOptions(c *Client, des, nw *LogMetricBucketOptions) *LogMetricBucketOptions {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for LogMetricBucketOptions while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.LinearBuckets = canonicalizeNewLogMetricBucketOptionsLinearBuckets(c, des.LinearBuckets, nw.LinearBuckets)
- nw.ExponentialBuckets = canonicalizeNewLogMetricBucketOptionsExponentialBuckets(c, des.ExponentialBuckets, nw.ExponentialBuckets)
- nw.ExplicitBuckets = canonicalizeNewLogMetricBucketOptionsExplicitBuckets(c, des.ExplicitBuckets, nw.ExplicitBuckets)
-
- return nw
-}
-
-func canonicalizeNewLogMetricBucketOptionsSet(c *Client, des, nw []LogMetricBucketOptions) []LogMetricBucketOptions {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []LogMetricBucketOptions
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareLogMetricBucketOptionsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewLogMetricBucketOptions(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewLogMetricBucketOptionsSlice(c *Client, des, nw []LogMetricBucketOptions) []LogMetricBucketOptions {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []LogMetricBucketOptions
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewLogMetricBucketOptions(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeLogMetricBucketOptionsLinearBuckets(des, initial *LogMetricBucketOptionsLinearBuckets, opts ...dcl.ApplyOption) *LogMetricBucketOptionsLinearBuckets {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &LogMetricBucketOptionsLinearBuckets{}
-
- if dcl.IsZeroValue(des.NumFiniteBuckets) || (dcl.IsEmptyValueIndirect(des.NumFiniteBuckets) && dcl.IsEmptyValueIndirect(initial.NumFiniteBuckets)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.NumFiniteBuckets = initial.NumFiniteBuckets
- } else {
- cDes.NumFiniteBuckets = des.NumFiniteBuckets
- }
- if dcl.IsZeroValue(des.Width) || (dcl.IsEmptyValueIndirect(des.Width) && dcl.IsEmptyValueIndirect(initial.Width)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Width = initial.Width
- } else {
- cDes.Width = des.Width
- }
- if dcl.IsZeroValue(des.Offset) || (dcl.IsEmptyValueIndirect(des.Offset) && dcl.IsEmptyValueIndirect(initial.Offset)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Offset = initial.Offset
- } else {
- cDes.Offset = des.Offset
- }
-
- return cDes
-}
-
-func canonicalizeLogMetricBucketOptionsLinearBucketsSlice(des, initial []LogMetricBucketOptionsLinearBuckets, opts ...dcl.ApplyOption) []LogMetricBucketOptionsLinearBuckets {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]LogMetricBucketOptionsLinearBuckets, 0, len(des))
- for _, d := range des {
- cd := canonicalizeLogMetricBucketOptionsLinearBuckets(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]LogMetricBucketOptionsLinearBuckets, 0, len(des))
- for i, d := range des {
- cd := canonicalizeLogMetricBucketOptionsLinearBuckets(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewLogMetricBucketOptionsLinearBuckets(c *Client, des, nw *LogMetricBucketOptionsLinearBuckets) *LogMetricBucketOptionsLinearBuckets {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for LogMetricBucketOptionsLinearBuckets while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewLogMetricBucketOptionsLinearBucketsSet(c *Client, des, nw []LogMetricBucketOptionsLinearBuckets) []LogMetricBucketOptionsLinearBuckets {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []LogMetricBucketOptionsLinearBuckets
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareLogMetricBucketOptionsLinearBucketsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewLogMetricBucketOptionsLinearBuckets(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewLogMetricBucketOptionsLinearBucketsSlice(c *Client, des, nw []LogMetricBucketOptionsLinearBuckets) []LogMetricBucketOptionsLinearBuckets {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []LogMetricBucketOptionsLinearBuckets
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewLogMetricBucketOptionsLinearBuckets(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeLogMetricBucketOptionsExponentialBuckets(des, initial *LogMetricBucketOptionsExponentialBuckets, opts ...dcl.ApplyOption) *LogMetricBucketOptionsExponentialBuckets {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &LogMetricBucketOptionsExponentialBuckets{}
-
- if dcl.IsZeroValue(des.NumFiniteBuckets) || (dcl.IsEmptyValueIndirect(des.NumFiniteBuckets) && dcl.IsEmptyValueIndirect(initial.NumFiniteBuckets)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.NumFiniteBuckets = initial.NumFiniteBuckets
- } else {
- cDes.NumFiniteBuckets = des.NumFiniteBuckets
- }
- if dcl.IsZeroValue(des.GrowthFactor) || (dcl.IsEmptyValueIndirect(des.GrowthFactor) && dcl.IsEmptyValueIndirect(initial.GrowthFactor)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.GrowthFactor = initial.GrowthFactor
- } else {
- cDes.GrowthFactor = des.GrowthFactor
- }
- if dcl.IsZeroValue(des.Scale) || (dcl.IsEmptyValueIndirect(des.Scale) && dcl.IsEmptyValueIndirect(initial.Scale)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Scale = initial.Scale
- } else {
- cDes.Scale = des.Scale
- }
-
- return cDes
-}
-
-func canonicalizeLogMetricBucketOptionsExponentialBucketsSlice(des, initial []LogMetricBucketOptionsExponentialBuckets, opts ...dcl.ApplyOption) []LogMetricBucketOptionsExponentialBuckets {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]LogMetricBucketOptionsExponentialBuckets, 0, len(des))
- for _, d := range des {
- cd := canonicalizeLogMetricBucketOptionsExponentialBuckets(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]LogMetricBucketOptionsExponentialBuckets, 0, len(des))
- for i, d := range des {
- cd := canonicalizeLogMetricBucketOptionsExponentialBuckets(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewLogMetricBucketOptionsExponentialBuckets(c *Client, des, nw *LogMetricBucketOptionsExponentialBuckets) *LogMetricBucketOptionsExponentialBuckets {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for LogMetricBucketOptionsExponentialBuckets while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewLogMetricBucketOptionsExponentialBucketsSet(c *Client, des, nw []LogMetricBucketOptionsExponentialBuckets) []LogMetricBucketOptionsExponentialBuckets {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []LogMetricBucketOptionsExponentialBuckets
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareLogMetricBucketOptionsExponentialBucketsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewLogMetricBucketOptionsExponentialBuckets(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewLogMetricBucketOptionsExponentialBucketsSlice(c *Client, des, nw []LogMetricBucketOptionsExponentialBuckets) []LogMetricBucketOptionsExponentialBuckets {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []LogMetricBucketOptionsExponentialBuckets
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewLogMetricBucketOptionsExponentialBuckets(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeLogMetricBucketOptionsExplicitBuckets(des, initial *LogMetricBucketOptionsExplicitBuckets, opts ...dcl.ApplyOption) *LogMetricBucketOptionsExplicitBuckets {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &LogMetricBucketOptionsExplicitBuckets{}
-
- if dcl.IsZeroValue(des.Bounds) || (dcl.IsEmptyValueIndirect(des.Bounds) && dcl.IsEmptyValueIndirect(initial.Bounds)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Bounds = initial.Bounds
- } else {
- cDes.Bounds = des.Bounds
- }
-
- return cDes
-}
-
-func canonicalizeLogMetricBucketOptionsExplicitBucketsSlice(des, initial []LogMetricBucketOptionsExplicitBuckets, opts ...dcl.ApplyOption) []LogMetricBucketOptionsExplicitBuckets {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]LogMetricBucketOptionsExplicitBuckets, 0, len(des))
- for _, d := range des {
- cd := canonicalizeLogMetricBucketOptionsExplicitBuckets(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]LogMetricBucketOptionsExplicitBuckets, 0, len(des))
- for i, d := range des {
- cd := canonicalizeLogMetricBucketOptionsExplicitBuckets(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewLogMetricBucketOptionsExplicitBuckets(c *Client, des, nw *LogMetricBucketOptionsExplicitBuckets) *LogMetricBucketOptionsExplicitBuckets {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for LogMetricBucketOptionsExplicitBuckets while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewLogMetricBucketOptionsExplicitBucketsSet(c *Client, des, nw []LogMetricBucketOptionsExplicitBuckets) []LogMetricBucketOptionsExplicitBuckets {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []LogMetricBucketOptionsExplicitBuckets
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareLogMetricBucketOptionsExplicitBucketsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewLogMetricBucketOptionsExplicitBuckets(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewLogMetricBucketOptionsExplicitBucketsSlice(c *Client, des, nw []LogMetricBucketOptionsExplicitBuckets) []LogMetricBucketOptionsExplicitBuckets {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []LogMetricBucketOptionsExplicitBuckets
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewLogMetricBucketOptionsExplicitBuckets(c, &d, &n))
- }
-
- return items
-}
-
-// The differ returns a list of diffs, along with a list of operations that should be taken
-// to remedy them. Right now, it does not attempt to consolidate operations - if several
-// fields can be fixed with a patch update, it will perform the patch several times.
-// Diffs on some fields will be ignored if the `desired` state has an empty (nil)
-// value. This empty value indicates that the user does not care about the state for
-// the field. Empty fields on the actual object will cause diffs.
-// TODO(magic-modules-eng): for efficiency in some resources, add batching.
-func diffLogMetric(c *Client, desired, actual *LogMetric, opts ...dcl.ApplyOption) ([]*dcl.FieldDiff, error) {
- if desired == nil || actual == nil {
- return nil, fmt.Errorf("nil resource passed to diff - always a programming error: %#v, %#v", desired, actual)
- }
-
- c.Config.Logger.Infof("Diff function called with desired state: %v", desired)
- c.Config.Logger.Infof("Diff function called with actual state: %v", actual)
-
- var fn dcl.FieldName
- var newDiffs []*dcl.FieldDiff
- // New style diffs.
- if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Name")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Description, actual.Description, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateLogMetricUpdateOperation")}, fn.AddNest("Description")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateLogMetricUpdateOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Disabled, actual.Disabled, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateLogMetricUpdateOperation")}, fn.AddNest("Disabled")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.MetricDescriptor, actual.MetricDescriptor, dcl.DiffInfo{ObjectFunction: compareLogMetricMetricDescriptorNewStyle, EmptyObject: EmptyLogMetricMetricDescriptor, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MetricDescriptor")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.ValueExtractor, actual.ValueExtractor, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateLogMetricUpdateOperation")}, fn.AddNest("ValueExtractor")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.LabelExtractors, actual.LabelExtractors, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateLogMetricUpdateOperation")}, fn.AddNest("LabelExtractors")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.BucketOptions, actual.BucketOptions, dcl.DiffInfo{ObjectFunction: compareLogMetricBucketOptionsNewStyle, EmptyObject: EmptyLogMetricBucketOptions, OperationSelector: dcl.TriggersOperation("updateLogMetricUpdateOperation")}, fn.AddNest("BucketOptions")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CreateTime, actual.CreateTime, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("CreateTime")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.UpdateTime, actual.UpdateTime, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("UpdateTime")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Project, actual.Project, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Project")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if len(newDiffs) > 0 {
- c.Config.Logger.Infof("Diff function found diffs: %v", newDiffs)
- }
- return newDiffs, nil
-}
-func compareLogMetricMetricDescriptorNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*LogMetricMetricDescriptor)
- if !ok {
- desiredNotPointer, ok := d.(LogMetricMetricDescriptor)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a LogMetricMetricDescriptor or *LogMetricMetricDescriptor", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*LogMetricMetricDescriptor)
- if !ok {
- actualNotPointer, ok := a.(LogMetricMetricDescriptor)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a LogMetricMetricDescriptor", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Name")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Type, actual.Type, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Type")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Labels, actual.Labels, dcl.DiffInfo{Type: "Set", ObjectFunction: compareLogMetricMetricDescriptorLabelsNewStyle, EmptyObject: EmptyLogMetricMetricDescriptorLabels, OperationSelector: dcl.TriggersOperation("updateLogMetricUpdateOperation")}, fn.AddNest("Labels")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.MetricKind, actual.MetricKind, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MetricKind")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.ValueType, actual.ValueType, dcl.DiffInfo{Type: "EnumType", CustomDiff: canonicalizeLogMetricMetricDescriptorValueType, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ValueType")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Unit, actual.Unit, dcl.DiffInfo{ServerDefault: true, OperationSelector: dcl.TriggersOperation("updateLogMetricUpdateOperation")}, fn.AddNest("Unit")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Description, actual.Description, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.TriggersOperation("updateLogMetricUpdateOperation")}, fn.AddNest("Description")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.DisplayName, actual.DisplayName, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateLogMetricUpdateOperation")}, fn.AddNest("DisplayName")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Metadata, actual.Metadata, dcl.DiffInfo{Ignore: true, ObjectFunction: compareLogMetricMetricDescriptorMetadataNewStyle, EmptyObject: EmptyLogMetricMetricDescriptorMetadata, OperationSelector: dcl.TriggersOperation("updateLogMetricUpdateOperation")}, fn.AddNest("Metadata")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.LaunchStage, actual.LaunchStage, dcl.DiffInfo{Ignore: true, Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateLogMetricUpdateOperation")}, fn.AddNest("LaunchStage")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.MonitoredResourceTypes, actual.MonitoredResourceTypes, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MonitoredResourceTypes")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareLogMetricMetricDescriptorLabelsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*LogMetricMetricDescriptorLabels)
- if !ok {
- desiredNotPointer, ok := d.(LogMetricMetricDescriptorLabels)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a LogMetricMetricDescriptorLabels or *LogMetricMetricDescriptorLabels", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*LogMetricMetricDescriptorLabels)
- if !ok {
- actualNotPointer, ok := a.(LogMetricMetricDescriptorLabels)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a LogMetricMetricDescriptorLabels", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Key, actual.Key, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Key")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.ValueType, actual.ValueType, dcl.DiffInfo{Type: "EnumType", CustomDiff: canonicalizeLogMetricMetricDescriptorLabelsValueType, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ValueType")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Description, actual.Description, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Description")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareLogMetricMetricDescriptorMetadataNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*LogMetricMetricDescriptorMetadata)
- if !ok {
- desiredNotPointer, ok := d.(LogMetricMetricDescriptorMetadata)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a LogMetricMetricDescriptorMetadata or *LogMetricMetricDescriptorMetadata", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*LogMetricMetricDescriptorMetadata)
- if !ok {
- actualNotPointer, ok := a.(LogMetricMetricDescriptorMetadata)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a LogMetricMetricDescriptorMetadata", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.SamplePeriod, actual.SamplePeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateLogMetricUpdateOperation")}, fn.AddNest("SamplePeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.IngestDelay, actual.IngestDelay, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateLogMetricUpdateOperation")}, fn.AddNest("IngestDelay")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareLogMetricBucketOptionsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*LogMetricBucketOptions)
- if !ok {
- desiredNotPointer, ok := d.(LogMetricBucketOptions)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a LogMetricBucketOptions or *LogMetricBucketOptions", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*LogMetricBucketOptions)
- if !ok {
- actualNotPointer, ok := a.(LogMetricBucketOptions)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a LogMetricBucketOptions", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.LinearBuckets, actual.LinearBuckets, dcl.DiffInfo{ObjectFunction: compareLogMetricBucketOptionsLinearBucketsNewStyle, EmptyObject: EmptyLogMetricBucketOptionsLinearBuckets, OperationSelector: dcl.TriggersOperation("updateLogMetricUpdateOperation")}, fn.AddNest("LinearBuckets")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.ExponentialBuckets, actual.ExponentialBuckets, dcl.DiffInfo{ObjectFunction: compareLogMetricBucketOptionsExponentialBucketsNewStyle, EmptyObject: EmptyLogMetricBucketOptionsExponentialBuckets, OperationSelector: dcl.TriggersOperation("updateLogMetricUpdateOperation")}, fn.AddNest("ExponentialBuckets")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.ExplicitBuckets, actual.ExplicitBuckets, dcl.DiffInfo{ObjectFunction: compareLogMetricBucketOptionsExplicitBucketsNewStyle, EmptyObject: EmptyLogMetricBucketOptionsExplicitBuckets, OperationSelector: dcl.TriggersOperation("updateLogMetricUpdateOperation")}, fn.AddNest("ExplicitBuckets")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareLogMetricBucketOptionsLinearBucketsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*LogMetricBucketOptionsLinearBuckets)
- if !ok {
- desiredNotPointer, ok := d.(LogMetricBucketOptionsLinearBuckets)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a LogMetricBucketOptionsLinearBuckets or *LogMetricBucketOptionsLinearBuckets", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*LogMetricBucketOptionsLinearBuckets)
- if !ok {
- actualNotPointer, ok := a.(LogMetricBucketOptionsLinearBuckets)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a LogMetricBucketOptionsLinearBuckets", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.NumFiniteBuckets, actual.NumFiniteBuckets, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateLogMetricUpdateOperation")}, fn.AddNest("NumFiniteBuckets")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Width, actual.Width, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateLogMetricUpdateOperation")}, fn.AddNest("Width")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Offset, actual.Offset, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateLogMetricUpdateOperation")}, fn.AddNest("Offset")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareLogMetricBucketOptionsExponentialBucketsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*LogMetricBucketOptionsExponentialBuckets)
- if !ok {
- desiredNotPointer, ok := d.(LogMetricBucketOptionsExponentialBuckets)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a LogMetricBucketOptionsExponentialBuckets or *LogMetricBucketOptionsExponentialBuckets", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*LogMetricBucketOptionsExponentialBuckets)
- if !ok {
- actualNotPointer, ok := a.(LogMetricBucketOptionsExponentialBuckets)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a LogMetricBucketOptionsExponentialBuckets", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.NumFiniteBuckets, actual.NumFiniteBuckets, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateLogMetricUpdateOperation")}, fn.AddNest("NumFiniteBuckets")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GrowthFactor, actual.GrowthFactor, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateLogMetricUpdateOperation")}, fn.AddNest("GrowthFactor")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Scale, actual.Scale, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateLogMetricUpdateOperation")}, fn.AddNest("Scale")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareLogMetricBucketOptionsExplicitBucketsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*LogMetricBucketOptionsExplicitBuckets)
- if !ok {
- desiredNotPointer, ok := d.(LogMetricBucketOptionsExplicitBuckets)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a LogMetricBucketOptionsExplicitBuckets or *LogMetricBucketOptionsExplicitBuckets", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*LogMetricBucketOptionsExplicitBuckets)
- if !ok {
- actualNotPointer, ok := a.(LogMetricBucketOptionsExplicitBuckets)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a LogMetricBucketOptionsExplicitBuckets", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Bounds, actual.Bounds, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateLogMetricUpdateOperation")}, fn.AddNest("Bounds")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-// urlNormalized returns a copy of the resource struct with values normalized
-// for URL substitutions. For instance, it converts long-form self-links to
-// short-form so they can be substituted in.
-func (r *LogMetric) urlNormalized() *LogMetric {
- normalized := dcl.Copy(*r).(LogMetric)
- normalized.Name = dcl.SelfLinkToName(r.Name)
- normalized.Description = dcl.SelfLinkToName(r.Description)
- normalized.Filter = dcl.SelfLinkToName(r.Filter)
- normalized.ValueExtractor = dcl.SelfLinkToName(r.ValueExtractor)
- normalized.Project = dcl.SelfLinkToName(r.Project)
- return &normalized
-}
-
-func (r *LogMetric) updateURL(userBasePath, updateName string) (string, error) {
- nr := r.urlNormalized()
- if updateName == "update" {
- fields := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("projects/{{project}}/metrics/{{name}}", nr.basePath(), userBasePath, fields), nil
-
- }
-
- return "", fmt.Errorf("unknown update name: %s", updateName)
-}
-
-// marshal encodes the LogMetric resource into JSON for a Create request, and
-// performs transformations from the resource schema to the API schema if
-// necessary.
-func (r *LogMetric) marshal(c *Client) ([]byte, error) {
- m, err := expandLogMetric(c, r)
- if err != nil {
- return nil, fmt.Errorf("error marshalling LogMetric: %w", err)
- }
-
- return json.Marshal(m)
-}
-
-// unmarshalLogMetric decodes JSON responses into the LogMetric resource schema.
-func unmarshalLogMetric(b []byte, c *Client, res *LogMetric) (*LogMetric, error) {
- var m map[string]interface{}
- if err := json.Unmarshal(b, &m); err != nil {
- return nil, err
- }
- return unmarshalMapLogMetric(m, c, res)
-}
-
-func unmarshalMapLogMetric(m map[string]interface{}, c *Client, res *LogMetric) (*LogMetric, error) {
-
- flattened := flattenLogMetric(c, m, res)
- if flattened == nil {
- return nil, fmt.Errorf("attempted to flatten empty json object")
- }
- return flattened, nil
-}
-
-// expandLogMetric expands LogMetric into a JSON request object.
-func expandLogMetric(c *Client, f *LogMetric) (map[string]interface{}, error) {
- m := make(map[string]interface{})
- res := f
- _ = res
- if v := f.Name; dcl.ValueShouldBeSent(v) {
- m["name"] = v
- }
- if v := f.Description; dcl.ValueShouldBeSent(v) {
- m["description"] = v
- }
- if v := f.Filter; dcl.ValueShouldBeSent(v) {
- m["filter"] = v
- }
- if v := f.Disabled; dcl.ValueShouldBeSent(v) {
- m["disabled"] = v
- }
- if v, err := expandLogMetricMetricDescriptor(c, f.MetricDescriptor, res); err != nil {
- return nil, fmt.Errorf("error expanding MetricDescriptor into metricDescriptor: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["metricDescriptor"] = v
- }
- if v := f.ValueExtractor; dcl.ValueShouldBeSent(v) {
- m["valueExtractor"] = v
- }
- if v := f.LabelExtractors; dcl.ValueShouldBeSent(v) {
- m["labelExtractors"] = v
- }
- if v, err := expandLogMetricBucketOptions(c, f.BucketOptions, res); err != nil {
- return nil, fmt.Errorf("error expanding BucketOptions into bucketOptions: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["bucketOptions"] = v
- }
- if v, err := dcl.EmptyValue(); err != nil {
- return nil, fmt.Errorf("error expanding Project into project: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["project"] = v
- }
-
- return m, nil
-}
-
-// flattenLogMetric flattens LogMetric from a JSON request object into the
-// LogMetric type.
-func flattenLogMetric(c *Client, i interface{}, res *LogMetric) *LogMetric {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
- if len(m) == 0 {
- return nil
- }
-
- resultRes := &LogMetric{}
- resultRes.Name = dcl.FlattenString(m["name"])
- resultRes.Description = dcl.FlattenString(m["description"])
- resultRes.Filter = dcl.FlattenString(m["filter"])
- resultRes.Disabled = dcl.FlattenBool(m["disabled"])
- resultRes.MetricDescriptor = flattenLogMetricMetricDescriptor(c, m["metricDescriptor"], res)
- resultRes.ValueExtractor = dcl.FlattenString(m["valueExtractor"])
- resultRes.LabelExtractors = dcl.FlattenKeyValuePairs(m["labelExtractors"])
- resultRes.BucketOptions = flattenLogMetricBucketOptions(c, m["bucketOptions"], res)
- resultRes.CreateTime = dcl.FlattenString(m["createTime"])
- resultRes.UpdateTime = dcl.FlattenString(m["updateTime"])
- resultRes.Project = dcl.FlattenString(m["project"])
-
- return resultRes
-}
-
-// expandLogMetricMetricDescriptorMap expands the contents of LogMetricMetricDescriptor into a JSON
-// request object.
-func expandLogMetricMetricDescriptorMap(c *Client, f map[string]LogMetricMetricDescriptor, res *LogMetric) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandLogMetricMetricDescriptor(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandLogMetricMetricDescriptorSlice expands the contents of LogMetricMetricDescriptor into a JSON
-// request object.
-func expandLogMetricMetricDescriptorSlice(c *Client, f []LogMetricMetricDescriptor, res *LogMetric) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandLogMetricMetricDescriptor(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenLogMetricMetricDescriptorMap flattens the contents of LogMetricMetricDescriptor from a JSON
-// response object.
-func flattenLogMetricMetricDescriptorMap(c *Client, i interface{}, res *LogMetric) map[string]LogMetricMetricDescriptor {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]LogMetricMetricDescriptor{}
- }
-
- if len(a) == 0 {
- return map[string]LogMetricMetricDescriptor{}
- }
-
- items := make(map[string]LogMetricMetricDescriptor)
- for k, item := range a {
- items[k] = *flattenLogMetricMetricDescriptor(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenLogMetricMetricDescriptorSlice flattens the contents of LogMetricMetricDescriptor from a JSON
-// response object.
-func flattenLogMetricMetricDescriptorSlice(c *Client, i interface{}, res *LogMetric) []LogMetricMetricDescriptor {
- a, ok := i.([]interface{})
- if !ok {
- return []LogMetricMetricDescriptor{}
- }
-
- if len(a) == 0 {
- return []LogMetricMetricDescriptor{}
- }
-
- items := make([]LogMetricMetricDescriptor, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenLogMetricMetricDescriptor(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandLogMetricMetricDescriptor expands an instance of LogMetricMetricDescriptor into a JSON
-// request object.
-func expandLogMetricMetricDescriptor(c *Client, f *LogMetricMetricDescriptor, res *LogMetric) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandLogMetricMetricDescriptorLabelsSlice(c, f.Labels, res); err != nil {
- return nil, fmt.Errorf("error expanding Labels into labels: %w", err)
- } else if v != nil {
- m["labels"] = v
- }
- if v := f.MetricKind; !dcl.IsEmptyValueIndirect(v) {
- m["metricKind"] = v
- }
- if v := f.ValueType; !dcl.IsEmptyValueIndirect(v) {
- m["valueType"] = v
- }
- if v := f.Unit; !dcl.IsEmptyValueIndirect(v) {
- m["unit"] = v
- }
- if v := f.DisplayName; !dcl.IsEmptyValueIndirect(v) {
- m["displayName"] = v
- }
- if v, err := expandLogMetricMetricDescriptorMetadata(c, f.Metadata, res); err != nil {
- return nil, fmt.Errorf("error expanding Metadata into metadata: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["metadata"] = v
- }
- if v := f.LaunchStage; !dcl.IsEmptyValueIndirect(v) {
- m["launchStage"] = v
- }
-
- return m, nil
-}
-
-// flattenLogMetricMetricDescriptor flattens an instance of LogMetricMetricDescriptor from a JSON
-// response object.
-func flattenLogMetricMetricDescriptor(c *Client, i interface{}, res *LogMetric) *LogMetricMetricDescriptor {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &LogMetricMetricDescriptor{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyLogMetricMetricDescriptor
- }
- r.Name = dcl.FlattenString(m["name"])
- r.Type = dcl.FlattenString(m["type"])
- r.Labels = flattenLogMetricMetricDescriptorLabelsSlice(c, m["labels"], res)
- r.MetricKind = flattenLogMetricMetricDescriptorMetricKindEnum(m["metricKind"])
- r.ValueType = flattenLogMetricMetricDescriptorValueTypeEnum(m["valueType"])
- r.Unit = dcl.FlattenString(m["unit"])
- r.Description = dcl.FlattenString(m["description"])
- r.DisplayName = dcl.FlattenString(m["displayName"])
- r.Metadata = flattenLogMetricMetricDescriptorMetadata(c, m["metadata"], res)
- r.LaunchStage = flattenLogMetricMetricDescriptorLaunchStageEnum(m["launchStage"])
- r.MonitoredResourceTypes = dcl.FlattenStringSlice(m["monitoredResourceTypes"])
-
- return r
-}
-
-// expandLogMetricMetricDescriptorLabelsMap expands the contents of LogMetricMetricDescriptorLabels into a JSON
-// request object.
-func expandLogMetricMetricDescriptorLabelsMap(c *Client, f map[string]LogMetricMetricDescriptorLabels, res *LogMetric) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandLogMetricMetricDescriptorLabels(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandLogMetricMetricDescriptorLabelsSlice expands the contents of LogMetricMetricDescriptorLabels into a JSON
-// request object.
-func expandLogMetricMetricDescriptorLabelsSlice(c *Client, f []LogMetricMetricDescriptorLabels, res *LogMetric) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandLogMetricMetricDescriptorLabels(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenLogMetricMetricDescriptorLabelsMap flattens the contents of LogMetricMetricDescriptorLabels from a JSON
-// response object.
-func flattenLogMetricMetricDescriptorLabelsMap(c *Client, i interface{}, res *LogMetric) map[string]LogMetricMetricDescriptorLabels {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]LogMetricMetricDescriptorLabels{}
- }
-
- if len(a) == 0 {
- return map[string]LogMetricMetricDescriptorLabels{}
- }
-
- items := make(map[string]LogMetricMetricDescriptorLabels)
- for k, item := range a {
- items[k] = *flattenLogMetricMetricDescriptorLabels(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenLogMetricMetricDescriptorLabelsSlice flattens the contents of LogMetricMetricDescriptorLabels from a JSON
-// response object.
-func flattenLogMetricMetricDescriptorLabelsSlice(c *Client, i interface{}, res *LogMetric) []LogMetricMetricDescriptorLabels {
- a, ok := i.([]interface{})
- if !ok {
- return []LogMetricMetricDescriptorLabels{}
- }
-
- if len(a) == 0 {
- return []LogMetricMetricDescriptorLabels{}
- }
-
- items := make([]LogMetricMetricDescriptorLabels, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenLogMetricMetricDescriptorLabels(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandLogMetricMetricDescriptorLabels expands an instance of LogMetricMetricDescriptorLabels into a JSON
-// request object.
-func expandLogMetricMetricDescriptorLabels(c *Client, f *LogMetricMetricDescriptorLabels, res *LogMetric) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Key; !dcl.IsEmptyValueIndirect(v) {
- m["key"] = v
- }
- if v := f.ValueType; !dcl.IsEmptyValueIndirect(v) {
- m["valueType"] = v
- }
- if v := f.Description; !dcl.IsEmptyValueIndirect(v) {
- m["description"] = v
- }
-
- return m, nil
-}
-
-// flattenLogMetricMetricDescriptorLabels flattens an instance of LogMetricMetricDescriptorLabels from a JSON
-// response object.
-func flattenLogMetricMetricDescriptorLabels(c *Client, i interface{}, res *LogMetric) *LogMetricMetricDescriptorLabels {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &LogMetricMetricDescriptorLabels{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyLogMetricMetricDescriptorLabels
- }
- r.Key = dcl.FlattenString(m["key"])
- r.ValueType = flattenLogMetricMetricDescriptorLabelsValueTypeEnum(m["valueType"])
- r.Description = dcl.FlattenString(m["description"])
-
- return r
-}
-
-// expandLogMetricMetricDescriptorMetadataMap expands the contents of LogMetricMetricDescriptorMetadata into a JSON
-// request object.
-func expandLogMetricMetricDescriptorMetadataMap(c *Client, f map[string]LogMetricMetricDescriptorMetadata, res *LogMetric) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandLogMetricMetricDescriptorMetadata(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandLogMetricMetricDescriptorMetadataSlice expands the contents of LogMetricMetricDescriptorMetadata into a JSON
-// request object.
-func expandLogMetricMetricDescriptorMetadataSlice(c *Client, f []LogMetricMetricDescriptorMetadata, res *LogMetric) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandLogMetricMetricDescriptorMetadata(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenLogMetricMetricDescriptorMetadataMap flattens the contents of LogMetricMetricDescriptorMetadata from a JSON
-// response object.
-func flattenLogMetricMetricDescriptorMetadataMap(c *Client, i interface{}, res *LogMetric) map[string]LogMetricMetricDescriptorMetadata {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]LogMetricMetricDescriptorMetadata{}
- }
-
- if len(a) == 0 {
- return map[string]LogMetricMetricDescriptorMetadata{}
- }
-
- items := make(map[string]LogMetricMetricDescriptorMetadata)
- for k, item := range a {
- items[k] = *flattenLogMetricMetricDescriptorMetadata(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenLogMetricMetricDescriptorMetadataSlice flattens the contents of LogMetricMetricDescriptorMetadata from a JSON
-// response object.
-func flattenLogMetricMetricDescriptorMetadataSlice(c *Client, i interface{}, res *LogMetric) []LogMetricMetricDescriptorMetadata {
- a, ok := i.([]interface{})
- if !ok {
- return []LogMetricMetricDescriptorMetadata{}
- }
-
- if len(a) == 0 {
- return []LogMetricMetricDescriptorMetadata{}
- }
-
- items := make([]LogMetricMetricDescriptorMetadata, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenLogMetricMetricDescriptorMetadata(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandLogMetricMetricDescriptorMetadata expands an instance of LogMetricMetricDescriptorMetadata into a JSON
-// request object.
-func expandLogMetricMetricDescriptorMetadata(c *Client, f *LogMetricMetricDescriptorMetadata, res *LogMetric) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.SamplePeriod; !dcl.IsEmptyValueIndirect(v) {
- m["samplePeriod"] = v
- }
- if v := f.IngestDelay; !dcl.IsEmptyValueIndirect(v) {
- m["ingestDelay"] = v
- }
-
- return m, nil
-}
-
-// flattenLogMetricMetricDescriptorMetadata flattens an instance of LogMetricMetricDescriptorMetadata from a JSON
-// response object.
-func flattenLogMetricMetricDescriptorMetadata(c *Client, i interface{}, res *LogMetric) *LogMetricMetricDescriptorMetadata {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &LogMetricMetricDescriptorMetadata{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyLogMetricMetricDescriptorMetadata
- }
- r.SamplePeriod = dcl.FlattenString(m["samplePeriod"])
- r.IngestDelay = dcl.FlattenString(m["ingestDelay"])
-
- return r
-}
-
-// expandLogMetricBucketOptionsMap expands the contents of LogMetricBucketOptions into a JSON
-// request object.
-func expandLogMetricBucketOptionsMap(c *Client, f map[string]LogMetricBucketOptions, res *LogMetric) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandLogMetricBucketOptions(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandLogMetricBucketOptionsSlice expands the contents of LogMetricBucketOptions into a JSON
-// request object.
-func expandLogMetricBucketOptionsSlice(c *Client, f []LogMetricBucketOptions, res *LogMetric) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandLogMetricBucketOptions(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenLogMetricBucketOptionsMap flattens the contents of LogMetricBucketOptions from a JSON
-// response object.
-func flattenLogMetricBucketOptionsMap(c *Client, i interface{}, res *LogMetric) map[string]LogMetricBucketOptions {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]LogMetricBucketOptions{}
- }
-
- if len(a) == 0 {
- return map[string]LogMetricBucketOptions{}
- }
-
- items := make(map[string]LogMetricBucketOptions)
- for k, item := range a {
- items[k] = *flattenLogMetricBucketOptions(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenLogMetricBucketOptionsSlice flattens the contents of LogMetricBucketOptions from a JSON
-// response object.
-func flattenLogMetricBucketOptionsSlice(c *Client, i interface{}, res *LogMetric) []LogMetricBucketOptions {
- a, ok := i.([]interface{})
- if !ok {
- return []LogMetricBucketOptions{}
- }
-
- if len(a) == 0 {
- return []LogMetricBucketOptions{}
- }
-
- items := make([]LogMetricBucketOptions, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenLogMetricBucketOptions(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandLogMetricBucketOptions expands an instance of LogMetricBucketOptions into a JSON
-// request object.
-func expandLogMetricBucketOptions(c *Client, f *LogMetricBucketOptions, res *LogMetric) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandLogMetricBucketOptionsLinearBuckets(c, f.LinearBuckets, res); err != nil {
- return nil, fmt.Errorf("error expanding LinearBuckets into linearBuckets: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["linearBuckets"] = v
- }
- if v, err := expandLogMetricBucketOptionsExponentialBuckets(c, f.ExponentialBuckets, res); err != nil {
- return nil, fmt.Errorf("error expanding ExponentialBuckets into exponentialBuckets: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["exponentialBuckets"] = v
- }
- if v, err := expandLogMetricBucketOptionsExplicitBuckets(c, f.ExplicitBuckets, res); err != nil {
- return nil, fmt.Errorf("error expanding ExplicitBuckets into explicitBuckets: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["explicitBuckets"] = v
- }
-
- return m, nil
-}
-
-// flattenLogMetricBucketOptions flattens an instance of LogMetricBucketOptions from a JSON
-// response object.
-func flattenLogMetricBucketOptions(c *Client, i interface{}, res *LogMetric) *LogMetricBucketOptions {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &LogMetricBucketOptions{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyLogMetricBucketOptions
- }
- r.LinearBuckets = flattenLogMetricBucketOptionsLinearBuckets(c, m["linearBuckets"], res)
- r.ExponentialBuckets = flattenLogMetricBucketOptionsExponentialBuckets(c, m["exponentialBuckets"], res)
- r.ExplicitBuckets = flattenLogMetricBucketOptionsExplicitBuckets(c, m["explicitBuckets"], res)
-
- return r
-}
-
-// expandLogMetricBucketOptionsLinearBucketsMap expands the contents of LogMetricBucketOptionsLinearBuckets into a JSON
-// request object.
-func expandLogMetricBucketOptionsLinearBucketsMap(c *Client, f map[string]LogMetricBucketOptionsLinearBuckets, res *LogMetric) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandLogMetricBucketOptionsLinearBuckets(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandLogMetricBucketOptionsLinearBucketsSlice expands the contents of LogMetricBucketOptionsLinearBuckets into a JSON
-// request object.
-func expandLogMetricBucketOptionsLinearBucketsSlice(c *Client, f []LogMetricBucketOptionsLinearBuckets, res *LogMetric) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandLogMetricBucketOptionsLinearBuckets(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenLogMetricBucketOptionsLinearBucketsMap flattens the contents of LogMetricBucketOptionsLinearBuckets from a JSON
-// response object.
-func flattenLogMetricBucketOptionsLinearBucketsMap(c *Client, i interface{}, res *LogMetric) map[string]LogMetricBucketOptionsLinearBuckets {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]LogMetricBucketOptionsLinearBuckets{}
- }
-
- if len(a) == 0 {
- return map[string]LogMetricBucketOptionsLinearBuckets{}
- }
-
- items := make(map[string]LogMetricBucketOptionsLinearBuckets)
- for k, item := range a {
- items[k] = *flattenLogMetricBucketOptionsLinearBuckets(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenLogMetricBucketOptionsLinearBucketsSlice flattens the contents of LogMetricBucketOptionsLinearBuckets from a JSON
-// response object.
-func flattenLogMetricBucketOptionsLinearBucketsSlice(c *Client, i interface{}, res *LogMetric) []LogMetricBucketOptionsLinearBuckets {
- a, ok := i.([]interface{})
- if !ok {
- return []LogMetricBucketOptionsLinearBuckets{}
- }
-
- if len(a) == 0 {
- return []LogMetricBucketOptionsLinearBuckets{}
- }
-
- items := make([]LogMetricBucketOptionsLinearBuckets, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenLogMetricBucketOptionsLinearBuckets(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandLogMetricBucketOptionsLinearBuckets expands an instance of LogMetricBucketOptionsLinearBuckets into a JSON
-// request object.
-func expandLogMetricBucketOptionsLinearBuckets(c *Client, f *LogMetricBucketOptionsLinearBuckets, res *LogMetric) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.NumFiniteBuckets; !dcl.IsEmptyValueIndirect(v) {
- m["numFiniteBuckets"] = v
- }
- if v := f.Width; !dcl.IsEmptyValueIndirect(v) {
- m["width"] = v
- }
- if v := f.Offset; !dcl.IsEmptyValueIndirect(v) {
- m["offset"] = v
- }
-
- return m, nil
-}
-
-// flattenLogMetricBucketOptionsLinearBuckets flattens an instance of LogMetricBucketOptionsLinearBuckets from a JSON
-// response object.
-func flattenLogMetricBucketOptionsLinearBuckets(c *Client, i interface{}, res *LogMetric) *LogMetricBucketOptionsLinearBuckets {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &LogMetricBucketOptionsLinearBuckets{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyLogMetricBucketOptionsLinearBuckets
- }
- r.NumFiniteBuckets = dcl.FlattenInteger(m["numFiniteBuckets"])
- r.Width = dcl.FlattenDouble(m["width"])
- r.Offset = dcl.FlattenDouble(m["offset"])
-
- return r
-}
-
-// expandLogMetricBucketOptionsExponentialBucketsMap expands the contents of LogMetricBucketOptionsExponentialBuckets into a JSON
-// request object.
-func expandLogMetricBucketOptionsExponentialBucketsMap(c *Client, f map[string]LogMetricBucketOptionsExponentialBuckets, res *LogMetric) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandLogMetricBucketOptionsExponentialBuckets(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandLogMetricBucketOptionsExponentialBucketsSlice expands the contents of LogMetricBucketOptionsExponentialBuckets into a JSON
-// request object.
-func expandLogMetricBucketOptionsExponentialBucketsSlice(c *Client, f []LogMetricBucketOptionsExponentialBuckets, res *LogMetric) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandLogMetricBucketOptionsExponentialBuckets(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenLogMetricBucketOptionsExponentialBucketsMap flattens the contents of LogMetricBucketOptionsExponentialBuckets from a JSON
-// response object.
-func flattenLogMetricBucketOptionsExponentialBucketsMap(c *Client, i interface{}, res *LogMetric) map[string]LogMetricBucketOptionsExponentialBuckets {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]LogMetricBucketOptionsExponentialBuckets{}
- }
-
- if len(a) == 0 {
- return map[string]LogMetricBucketOptionsExponentialBuckets{}
- }
-
- items := make(map[string]LogMetricBucketOptionsExponentialBuckets)
- for k, item := range a {
- items[k] = *flattenLogMetricBucketOptionsExponentialBuckets(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenLogMetricBucketOptionsExponentialBucketsSlice flattens the contents of LogMetricBucketOptionsExponentialBuckets from a JSON
-// response object.
-func flattenLogMetricBucketOptionsExponentialBucketsSlice(c *Client, i interface{}, res *LogMetric) []LogMetricBucketOptionsExponentialBuckets {
- a, ok := i.([]interface{})
- if !ok {
- return []LogMetricBucketOptionsExponentialBuckets{}
- }
-
- if len(a) == 0 {
- return []LogMetricBucketOptionsExponentialBuckets{}
- }
-
- items := make([]LogMetricBucketOptionsExponentialBuckets, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenLogMetricBucketOptionsExponentialBuckets(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandLogMetricBucketOptionsExponentialBuckets expands an instance of LogMetricBucketOptionsExponentialBuckets into a JSON
-// request object.
-func expandLogMetricBucketOptionsExponentialBuckets(c *Client, f *LogMetricBucketOptionsExponentialBuckets, res *LogMetric) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.NumFiniteBuckets; !dcl.IsEmptyValueIndirect(v) {
- m["numFiniteBuckets"] = v
- }
- if v := f.GrowthFactor; !dcl.IsEmptyValueIndirect(v) {
- m["growthFactor"] = v
- }
- if v := f.Scale; !dcl.IsEmptyValueIndirect(v) {
- m["scale"] = v
- }
-
- return m, nil
-}
-
-// flattenLogMetricBucketOptionsExponentialBuckets flattens an instance of LogMetricBucketOptionsExponentialBuckets from a JSON
-// response object.
-func flattenLogMetricBucketOptionsExponentialBuckets(c *Client, i interface{}, res *LogMetric) *LogMetricBucketOptionsExponentialBuckets {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &LogMetricBucketOptionsExponentialBuckets{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyLogMetricBucketOptionsExponentialBuckets
- }
- r.NumFiniteBuckets = dcl.FlattenInteger(m["numFiniteBuckets"])
- r.GrowthFactor = dcl.FlattenDouble(m["growthFactor"])
- r.Scale = dcl.FlattenDouble(m["scale"])
-
- return r
-}
-
-// expandLogMetricBucketOptionsExplicitBucketsMap expands the contents of LogMetricBucketOptionsExplicitBuckets into a JSON
-// request object.
-func expandLogMetricBucketOptionsExplicitBucketsMap(c *Client, f map[string]LogMetricBucketOptionsExplicitBuckets, res *LogMetric) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandLogMetricBucketOptionsExplicitBuckets(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandLogMetricBucketOptionsExplicitBucketsSlice expands the contents of LogMetricBucketOptionsExplicitBuckets into a JSON
-// request object.
-func expandLogMetricBucketOptionsExplicitBucketsSlice(c *Client, f []LogMetricBucketOptionsExplicitBuckets, res *LogMetric) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandLogMetricBucketOptionsExplicitBuckets(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenLogMetricBucketOptionsExplicitBucketsMap flattens the contents of LogMetricBucketOptionsExplicitBuckets from a JSON
-// response object.
-func flattenLogMetricBucketOptionsExplicitBucketsMap(c *Client, i interface{}, res *LogMetric) map[string]LogMetricBucketOptionsExplicitBuckets {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]LogMetricBucketOptionsExplicitBuckets{}
- }
-
- if len(a) == 0 {
- return map[string]LogMetricBucketOptionsExplicitBuckets{}
- }
-
- items := make(map[string]LogMetricBucketOptionsExplicitBuckets)
- for k, item := range a {
- items[k] = *flattenLogMetricBucketOptionsExplicitBuckets(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenLogMetricBucketOptionsExplicitBucketsSlice flattens the contents of LogMetricBucketOptionsExplicitBuckets from a JSON
-// response object.
-func flattenLogMetricBucketOptionsExplicitBucketsSlice(c *Client, i interface{}, res *LogMetric) []LogMetricBucketOptionsExplicitBuckets {
- a, ok := i.([]interface{})
- if !ok {
- return []LogMetricBucketOptionsExplicitBuckets{}
- }
-
- if len(a) == 0 {
- return []LogMetricBucketOptionsExplicitBuckets{}
- }
-
- items := make([]LogMetricBucketOptionsExplicitBuckets, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenLogMetricBucketOptionsExplicitBuckets(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandLogMetricBucketOptionsExplicitBuckets expands an instance of LogMetricBucketOptionsExplicitBuckets into a JSON
-// request object.
-func expandLogMetricBucketOptionsExplicitBuckets(c *Client, f *LogMetricBucketOptionsExplicitBuckets, res *LogMetric) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Bounds; v != nil {
- m["bounds"] = v
- }
-
- return m, nil
-}
-
-// flattenLogMetricBucketOptionsExplicitBuckets flattens an instance of LogMetricBucketOptionsExplicitBuckets from a JSON
-// response object.
-func flattenLogMetricBucketOptionsExplicitBuckets(c *Client, i interface{}, res *LogMetric) *LogMetricBucketOptionsExplicitBuckets {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &LogMetricBucketOptionsExplicitBuckets{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyLogMetricBucketOptionsExplicitBuckets
- }
- r.Bounds = dcl.FlattenFloatSlice(m["bounds"])
-
- return r
-}
-
-// flattenLogMetricMetricDescriptorLabelsValueTypeEnumMap flattens the contents of LogMetricMetricDescriptorLabelsValueTypeEnum from a JSON
-// response object.
-func flattenLogMetricMetricDescriptorLabelsValueTypeEnumMap(c *Client, i interface{}, res *LogMetric) map[string]LogMetricMetricDescriptorLabelsValueTypeEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]LogMetricMetricDescriptorLabelsValueTypeEnum{}
- }
-
- if len(a) == 0 {
- return map[string]LogMetricMetricDescriptorLabelsValueTypeEnum{}
- }
-
- items := make(map[string]LogMetricMetricDescriptorLabelsValueTypeEnum)
- for k, item := range a {
- items[k] = *flattenLogMetricMetricDescriptorLabelsValueTypeEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenLogMetricMetricDescriptorLabelsValueTypeEnumSlice flattens the contents of LogMetricMetricDescriptorLabelsValueTypeEnum from a JSON
-// response object.
-func flattenLogMetricMetricDescriptorLabelsValueTypeEnumSlice(c *Client, i interface{}, res *LogMetric) []LogMetricMetricDescriptorLabelsValueTypeEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []LogMetricMetricDescriptorLabelsValueTypeEnum{}
- }
-
- if len(a) == 0 {
- return []LogMetricMetricDescriptorLabelsValueTypeEnum{}
- }
-
- items := make([]LogMetricMetricDescriptorLabelsValueTypeEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenLogMetricMetricDescriptorLabelsValueTypeEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenLogMetricMetricDescriptorLabelsValueTypeEnum asserts that an interface is a string, and returns a
-// pointer to a *LogMetricMetricDescriptorLabelsValueTypeEnum with the same value as that string.
-func flattenLogMetricMetricDescriptorLabelsValueTypeEnum(i interface{}) *LogMetricMetricDescriptorLabelsValueTypeEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return LogMetricMetricDescriptorLabelsValueTypeEnumRef(s)
-}
-
-// flattenLogMetricMetricDescriptorMetricKindEnumMap flattens the contents of LogMetricMetricDescriptorMetricKindEnum from a JSON
-// response object.
-func flattenLogMetricMetricDescriptorMetricKindEnumMap(c *Client, i interface{}, res *LogMetric) map[string]LogMetricMetricDescriptorMetricKindEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]LogMetricMetricDescriptorMetricKindEnum{}
- }
-
- if len(a) == 0 {
- return map[string]LogMetricMetricDescriptorMetricKindEnum{}
- }
-
- items := make(map[string]LogMetricMetricDescriptorMetricKindEnum)
- for k, item := range a {
- items[k] = *flattenLogMetricMetricDescriptorMetricKindEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenLogMetricMetricDescriptorMetricKindEnumSlice flattens the contents of LogMetricMetricDescriptorMetricKindEnum from a JSON
-// response object.
-func flattenLogMetricMetricDescriptorMetricKindEnumSlice(c *Client, i interface{}, res *LogMetric) []LogMetricMetricDescriptorMetricKindEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []LogMetricMetricDescriptorMetricKindEnum{}
- }
-
- if len(a) == 0 {
- return []LogMetricMetricDescriptorMetricKindEnum{}
- }
-
- items := make([]LogMetricMetricDescriptorMetricKindEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenLogMetricMetricDescriptorMetricKindEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenLogMetricMetricDescriptorMetricKindEnum asserts that an interface is a string, and returns a
-// pointer to a *LogMetricMetricDescriptorMetricKindEnum with the same value as that string.
-func flattenLogMetricMetricDescriptorMetricKindEnum(i interface{}) *LogMetricMetricDescriptorMetricKindEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return LogMetricMetricDescriptorMetricKindEnumRef(s)
-}
-
-// flattenLogMetricMetricDescriptorValueTypeEnumMap flattens the contents of LogMetricMetricDescriptorValueTypeEnum from a JSON
-// response object.
-func flattenLogMetricMetricDescriptorValueTypeEnumMap(c *Client, i interface{}, res *LogMetric) map[string]LogMetricMetricDescriptorValueTypeEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]LogMetricMetricDescriptorValueTypeEnum{}
- }
-
- if len(a) == 0 {
- return map[string]LogMetricMetricDescriptorValueTypeEnum{}
- }
-
- items := make(map[string]LogMetricMetricDescriptorValueTypeEnum)
- for k, item := range a {
- items[k] = *flattenLogMetricMetricDescriptorValueTypeEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenLogMetricMetricDescriptorValueTypeEnumSlice flattens the contents of LogMetricMetricDescriptorValueTypeEnum from a JSON
-// response object.
-func flattenLogMetricMetricDescriptorValueTypeEnumSlice(c *Client, i interface{}, res *LogMetric) []LogMetricMetricDescriptorValueTypeEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []LogMetricMetricDescriptorValueTypeEnum{}
- }
-
- if len(a) == 0 {
- return []LogMetricMetricDescriptorValueTypeEnum{}
- }
-
- items := make([]LogMetricMetricDescriptorValueTypeEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenLogMetricMetricDescriptorValueTypeEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenLogMetricMetricDescriptorValueTypeEnum asserts that an interface is a string, and returns a
-// pointer to a *LogMetricMetricDescriptorValueTypeEnum with the same value as that string.
-func flattenLogMetricMetricDescriptorValueTypeEnum(i interface{}) *LogMetricMetricDescriptorValueTypeEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return LogMetricMetricDescriptorValueTypeEnumRef(s)
-}
-
-// flattenLogMetricMetricDescriptorLaunchStageEnumMap flattens the contents of LogMetricMetricDescriptorLaunchStageEnum from a JSON
-// response object.
-func flattenLogMetricMetricDescriptorLaunchStageEnumMap(c *Client, i interface{}, res *LogMetric) map[string]LogMetricMetricDescriptorLaunchStageEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]LogMetricMetricDescriptorLaunchStageEnum{}
- }
-
- if len(a) == 0 {
- return map[string]LogMetricMetricDescriptorLaunchStageEnum{}
- }
-
- items := make(map[string]LogMetricMetricDescriptorLaunchStageEnum)
- for k, item := range a {
- items[k] = *flattenLogMetricMetricDescriptorLaunchStageEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenLogMetricMetricDescriptorLaunchStageEnumSlice flattens the contents of LogMetricMetricDescriptorLaunchStageEnum from a JSON
-// response object.
-func flattenLogMetricMetricDescriptorLaunchStageEnumSlice(c *Client, i interface{}, res *LogMetric) []LogMetricMetricDescriptorLaunchStageEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []LogMetricMetricDescriptorLaunchStageEnum{}
- }
-
- if len(a) == 0 {
- return []LogMetricMetricDescriptorLaunchStageEnum{}
- }
-
- items := make([]LogMetricMetricDescriptorLaunchStageEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenLogMetricMetricDescriptorLaunchStageEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenLogMetricMetricDescriptorLaunchStageEnum asserts that an interface is a string, and returns a
-// pointer to a *LogMetricMetricDescriptorLaunchStageEnum with the same value as that string.
-func flattenLogMetricMetricDescriptorLaunchStageEnum(i interface{}) *LogMetricMetricDescriptorLaunchStageEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return LogMetricMetricDescriptorLaunchStageEnumRef(s)
-}
-
-// This function returns a matcher that checks whether a serialized resource matches this resource
-// in its parameters (as defined by the fields in a Get, which definitionally define resource
-// identity). This is useful in extracting the element from a List call.
-func (r *LogMetric) matcher(c *Client) func([]byte) bool {
- return func(b []byte) bool {
- cr, err := unmarshalLogMetric(b, c, r)
- if err != nil {
- c.Config.Logger.Warning("failed to unmarshal provided resource in matcher.")
- return false
- }
- nr := r.urlNormalized()
- ncr := cr.urlNormalized()
- c.Config.Logger.Infof("looking for %v\nin %v", nr, ncr)
-
- if nr.Project == nil && ncr.Project == nil {
- c.Config.Logger.Info("Both Project fields null - considering equal.")
- } else if nr.Project == nil || ncr.Project == nil {
- c.Config.Logger.Info("Only one Project field is null - considering unequal.")
- return false
- } else if *nr.Project != *ncr.Project {
- return false
- }
- if nr.Name == nil && ncr.Name == nil {
- c.Config.Logger.Info("Both Name fields null - considering equal.")
- } else if nr.Name == nil || ncr.Name == nil {
- c.Config.Logger.Info("Only one Name field is null - considering unequal.")
- return false
- } else if *nr.Name != *ncr.Name {
- return false
- }
- return true
- }
-}
-
-type logMetricDiff struct {
- // The diff should include one or the other of RequiresRecreate or UpdateOp.
- RequiresRecreate bool
- UpdateOp logMetricApiOperation
- FieldName string // used for error logging
-}
-
-func convertFieldDiffsToLogMetricDiffs(config *dcl.Config, fds []*dcl.FieldDiff, opts []dcl.ApplyOption) ([]logMetricDiff, error) {
- opNamesToFieldDiffs := make(map[string][]*dcl.FieldDiff)
- // Map each operation name to the field diffs associated with it.
- for _, fd := range fds {
- for _, ro := range fd.ResultingOperation {
- if fieldDiffs, ok := opNamesToFieldDiffs[ro]; ok {
- fieldDiffs = append(fieldDiffs, fd)
- opNamesToFieldDiffs[ro] = fieldDiffs
- } else {
- config.Logger.Infof("%s required due to diff: %v", ro, fd)
- opNamesToFieldDiffs[ro] = []*dcl.FieldDiff{fd}
- }
- }
- }
- var diffs []logMetricDiff
- // For each operation name, create a logMetricDiff which contains the operation.
- for opName, fieldDiffs := range opNamesToFieldDiffs {
- // Use the first field diff's field name for logging required recreate error.
- diff := logMetricDiff{FieldName: fieldDiffs[0].FieldName}
- if opName == "Recreate" {
- diff.RequiresRecreate = true
- } else {
- apiOp, err := convertOpNameToLogMetricApiOperation(opName, fieldDiffs, opts...)
- if err != nil {
- return diffs, err
- }
- diff.UpdateOp = apiOp
- }
- diffs = append(diffs, diff)
- }
- return diffs, nil
-}
-
-func convertOpNameToLogMetricApiOperation(opName string, fieldDiffs []*dcl.FieldDiff, opts ...dcl.ApplyOption) (logMetricApiOperation, error) {
- switch opName {
-
- case "updateLogMetricUpdateOperation":
- return &updateLogMetricUpdateOperation{FieldDiffs: fieldDiffs}, nil
-
- default:
- return nil, fmt.Errorf("no such operation with name: %v", opName)
- }
-}
-
-func extractLogMetricFields(r *LogMetric) error {
- vMetricDescriptor := r.MetricDescriptor
- if vMetricDescriptor == nil {
- // note: explicitly not the empty object.
- vMetricDescriptor = &LogMetricMetricDescriptor{}
- }
- if err := extractLogMetricMetricDescriptorFields(r, vMetricDescriptor); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vMetricDescriptor) {
- r.MetricDescriptor = vMetricDescriptor
- }
- vBucketOptions := r.BucketOptions
- if vBucketOptions == nil {
- // note: explicitly not the empty object.
- vBucketOptions = &LogMetricBucketOptions{}
- }
- if err := extractLogMetricBucketOptionsFields(r, vBucketOptions); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vBucketOptions) {
- r.BucketOptions = vBucketOptions
- }
- return nil
-}
-func extractLogMetricMetricDescriptorFields(r *LogMetric, o *LogMetricMetricDescriptor) error {
- vMetadata := o.Metadata
- if vMetadata == nil {
- // note: explicitly not the empty object.
- vMetadata = &LogMetricMetricDescriptorMetadata{}
- }
- if err := extractLogMetricMetricDescriptorMetadataFields(r, vMetadata); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vMetadata) {
- o.Metadata = vMetadata
- }
- return nil
-}
-func extractLogMetricMetricDescriptorLabelsFields(r *LogMetric, o *LogMetricMetricDescriptorLabels) error {
- return nil
-}
-func extractLogMetricMetricDescriptorMetadataFields(r *LogMetric, o *LogMetricMetricDescriptorMetadata) error {
- return nil
-}
-func extractLogMetricBucketOptionsFields(r *LogMetric, o *LogMetricBucketOptions) error {
- vLinearBuckets := o.LinearBuckets
- if vLinearBuckets == nil {
- // note: explicitly not the empty object.
- vLinearBuckets = &LogMetricBucketOptionsLinearBuckets{}
- }
- if err := extractLogMetricBucketOptionsLinearBucketsFields(r, vLinearBuckets); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vLinearBuckets) {
- o.LinearBuckets = vLinearBuckets
- }
- vExponentialBuckets := o.ExponentialBuckets
- if vExponentialBuckets == nil {
- // note: explicitly not the empty object.
- vExponentialBuckets = &LogMetricBucketOptionsExponentialBuckets{}
- }
- if err := extractLogMetricBucketOptionsExponentialBucketsFields(r, vExponentialBuckets); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vExponentialBuckets) {
- o.ExponentialBuckets = vExponentialBuckets
- }
- vExplicitBuckets := o.ExplicitBuckets
- if vExplicitBuckets == nil {
- // note: explicitly not the empty object.
- vExplicitBuckets = &LogMetricBucketOptionsExplicitBuckets{}
- }
- if err := extractLogMetricBucketOptionsExplicitBucketsFields(r, vExplicitBuckets); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vExplicitBuckets) {
- o.ExplicitBuckets = vExplicitBuckets
- }
- return nil
-}
-func extractLogMetricBucketOptionsLinearBucketsFields(r *LogMetric, o *LogMetricBucketOptionsLinearBuckets) error {
- return nil
-}
-func extractLogMetricBucketOptionsExponentialBucketsFields(r *LogMetric, o *LogMetricBucketOptionsExponentialBuckets) error {
- return nil
-}
-func extractLogMetricBucketOptionsExplicitBucketsFields(r *LogMetric, o *LogMetricBucketOptionsExplicitBuckets) error {
- return nil
-}
-
-func postReadExtractLogMetricFields(r *LogMetric) error {
- vMetricDescriptor := r.MetricDescriptor
- if vMetricDescriptor == nil {
- // note: explicitly not the empty object.
- vMetricDescriptor = &LogMetricMetricDescriptor{}
- }
- if err := postReadExtractLogMetricMetricDescriptorFields(r, vMetricDescriptor); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vMetricDescriptor) {
- r.MetricDescriptor = vMetricDescriptor
- }
- vBucketOptions := r.BucketOptions
- if vBucketOptions == nil {
- // note: explicitly not the empty object.
- vBucketOptions = &LogMetricBucketOptions{}
- }
- if err := postReadExtractLogMetricBucketOptionsFields(r, vBucketOptions); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vBucketOptions) {
- r.BucketOptions = vBucketOptions
- }
- return nil
-}
-func postReadExtractLogMetricMetricDescriptorFields(r *LogMetric, o *LogMetricMetricDescriptor) error {
- vMetadata := o.Metadata
- if vMetadata == nil {
- // note: explicitly not the empty object.
- vMetadata = &LogMetricMetricDescriptorMetadata{}
- }
- if err := extractLogMetricMetricDescriptorMetadataFields(r, vMetadata); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vMetadata) {
- o.Metadata = vMetadata
- }
- return nil
-}
-func postReadExtractLogMetricMetricDescriptorLabelsFields(r *LogMetric, o *LogMetricMetricDescriptorLabels) error {
- return nil
-}
-func postReadExtractLogMetricMetricDescriptorMetadataFields(r *LogMetric, o *LogMetricMetricDescriptorMetadata) error {
- return nil
-}
-func postReadExtractLogMetricBucketOptionsFields(r *LogMetric, o *LogMetricBucketOptions) error {
- vLinearBuckets := o.LinearBuckets
- if vLinearBuckets == nil {
- // note: explicitly not the empty object.
- vLinearBuckets = &LogMetricBucketOptionsLinearBuckets{}
- }
- if err := extractLogMetricBucketOptionsLinearBucketsFields(r, vLinearBuckets); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vLinearBuckets) {
- o.LinearBuckets = vLinearBuckets
- }
- vExponentialBuckets := o.ExponentialBuckets
- if vExponentialBuckets == nil {
- // note: explicitly not the empty object.
- vExponentialBuckets = &LogMetricBucketOptionsExponentialBuckets{}
- }
- if err := extractLogMetricBucketOptionsExponentialBucketsFields(r, vExponentialBuckets); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vExponentialBuckets) {
- o.ExponentialBuckets = vExponentialBuckets
- }
- vExplicitBuckets := o.ExplicitBuckets
- if vExplicitBuckets == nil {
- // note: explicitly not the empty object.
- vExplicitBuckets = &LogMetricBucketOptionsExplicitBuckets{}
- }
- if err := extractLogMetricBucketOptionsExplicitBucketsFields(r, vExplicitBuckets); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vExplicitBuckets) {
- o.ExplicitBuckets = vExplicitBuckets
- }
- return nil
-}
-func postReadExtractLogMetricBucketOptionsLinearBucketsFields(r *LogMetric, o *LogMetricBucketOptionsLinearBuckets) error {
- return nil
-}
-func postReadExtractLogMetricBucketOptionsExponentialBucketsFields(r *LogMetric, o *LogMetricBucketOptionsExponentialBuckets) error {
- return nil
-}
-func postReadExtractLogMetricBucketOptionsExplicitBucketsFields(r *LogMetric, o *LogMetricBucketOptionsExplicitBuckets) error {
- return nil
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_metric_schema.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_metric_schema.go
deleted file mode 100644
index 054b040b7c..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_metric_schema.go
+++ /dev/null
@@ -1,413 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 logging
-
-import (
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-func DCLLogMetricSchema() *dcl.Schema {
- return &dcl.Schema{
- Info: &dcl.Info{
- Title: "Logging/LogMetric",
- Description: "The Logging LogMetric resource",
- StructName: "LogMetric",
- },
- Paths: &dcl.Paths{
- Get: &dcl.Path{
- Description: "The function used to get information about a LogMetric",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "logMetric",
- Required: true,
- Description: "A full instance of a LogMetric",
- },
- },
- },
- Apply: &dcl.Path{
- Description: "The function used to apply information about a LogMetric",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "logMetric",
- Required: true,
- Description: "A full instance of a LogMetric",
- },
- },
- },
- Delete: &dcl.Path{
- Description: "The function used to delete a LogMetric",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "logMetric",
- Required: true,
- Description: "A full instance of a LogMetric",
- },
- },
- },
- DeleteAll: &dcl.Path{
- Description: "The function used to delete all LogMetric",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "project",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- },
- },
- List: &dcl.Path{
- Description: "The function used to list information about many LogMetric",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "project",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- },
- },
- },
- Components: &dcl.Components{
- Schemas: map[string]*dcl.Component{
- "LogMetric": &dcl.Component{
- Title: "LogMetric",
- ID: "projects/{{project}}/metrics/{{name}}",
- UsesStateHint: true,
- ParentContainer: "project",
- HasCreate: true,
- SchemaProperty: dcl.Property{
- Type: "object",
- Required: []string{
- "name",
- "filter",
- "project",
- },
- Properties: map[string]*dcl.Property{
- "bucketOptions": &dcl.Property{
- Type: "object",
- GoName: "BucketOptions",
- GoType: "LogMetricBucketOptions",
- Description: "Optional. The `bucket_options` are required when the logs-based metric is using a DISTRIBUTION value type and it describes the bucket boundaries used to create a histogram of the extracted values.",
- Properties: map[string]*dcl.Property{
- "explicitBuckets": &dcl.Property{
- Type: "object",
- GoName: "ExplicitBuckets",
- GoType: "LogMetricBucketOptionsExplicitBuckets",
- Description: "The explicit buckets.",
- Conflicts: []string{
- "linearBuckets",
- "exponentialBuckets",
- },
- Properties: map[string]*dcl.Property{
- "bounds": &dcl.Property{
- Type: "array",
- GoName: "Bounds",
- Description: "The values must be monotonically increasing.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "number",
- Format: "double",
- GoType: "float64",
- },
- },
- },
- },
- "exponentialBuckets": &dcl.Property{
- Type: "object",
- GoName: "ExponentialBuckets",
- GoType: "LogMetricBucketOptionsExponentialBuckets",
- Description: "The exponential buckets.",
- Conflicts: []string{
- "linearBuckets",
- "explicitBuckets",
- },
- Properties: map[string]*dcl.Property{
- "growthFactor": &dcl.Property{
- Type: "number",
- Format: "double",
- GoName: "GrowthFactor",
- Description: "Must be greater than 1.",
- },
- "numFiniteBuckets": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "NumFiniteBuckets",
- Description: "Must be greater than 0.",
- },
- "scale": &dcl.Property{
- Type: "number",
- Format: "double",
- GoName: "Scale",
- Description: "Must be greater than 0.",
- },
- },
- },
- "linearBuckets": &dcl.Property{
- Type: "object",
- GoName: "LinearBuckets",
- GoType: "LogMetricBucketOptionsLinearBuckets",
- Description: "The linear bucket.",
- Conflicts: []string{
- "exponentialBuckets",
- "explicitBuckets",
- },
- Properties: map[string]*dcl.Property{
- "numFiniteBuckets": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "NumFiniteBuckets",
- Description: "Must be greater than 0.",
- },
- "offset": &dcl.Property{
- Type: "number",
- Format: "double",
- GoName: "Offset",
- Description: "Lower bound of the first bucket.",
- },
- "width": &dcl.Property{
- Type: "number",
- Format: "double",
- GoName: "Width",
- Description: "Must be greater than 0.",
- },
- },
- },
- },
- },
- "createTime": &dcl.Property{
- Type: "string",
- Format: "date-time",
- GoName: "CreateTime",
- ReadOnly: true,
- Description: "Output only. The creation timestamp of the metric. This field may not be present for older metrics.",
- Immutable: true,
- },
- "description": &dcl.Property{
- Type: "string",
- GoName: "Description",
- Description: "Optional. A description of this metric, which is used in documentation. The maximum length of the description is 8000 characters.",
- },
- "disabled": &dcl.Property{
- Type: "boolean",
- GoName: "Disabled",
- Description: "Optional. If set to True, then this metric is disabled and it does not generate any points.",
- },
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "Required. An [advanced logs filter](https://cloud.google.com/logging/docs/view/advanced_filters) which is used to match log entries. Example: \"resource.type=gae_app AND severity>=ERROR\" The maximum length of the filter is 20000 characters.",
- },
- "labelExtractors": &dcl.Property{
- Type: "object",
- AdditionalProperties: &dcl.Property{
- Type: "string",
- },
- GoName: "LabelExtractors",
- Description: "Optional. A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. Each label key specified in the LabelDescriptor must have an associated extractor expression in this map. The syntax of the extractor expression is the same as for the `value_extractor` field. The extracted value is converted to the type defined in the label descriptor. If the either the extraction or the type conversion fails, the label will have a default value. The default value for a string label is an empty string, for an integer label its 0, and for a boolean label its `false`. Note that there are upper bounds on the maximum number of labels and the number of active time series that are allowed in a project.",
- },
- "metricDescriptor": &dcl.Property{
- Type: "object",
- GoName: "MetricDescriptor",
- GoType: "LogMetricMetricDescriptor",
- Description: "Optional. The metric descriptor associated with the logs-based metric. If unspecified, it uses a default metric descriptor with a DELTA metric kind, INT64 value type, with no labels and a unit of \"1\". Such a metric counts the number of log entries matching the `filter` expression. The `name`, `type`, and `description` fields in the `metric_descriptor` are output only, and is constructed using the `name` and `description` field in the LogMetric. To create a logs-based metric that records a distribution of log values, a DELTA metric kind with a DISTRIBUTION value type must be used along with a `value_extractor` expression in the LogMetric. Each label in the metric descriptor must have a matching label name as the key and an extractor expression as the value in the `label_extractors` map. The `metric_kind` and `value_type` fields in the `metric_descriptor` cannot be updated once initially configured. New labels can be added in the `metric_descriptor`, but existing labels cannot be modified except for their description.",
- Properties: map[string]*dcl.Property{
- "description": &dcl.Property{
- Type: "string",
- GoName: "Description",
- ReadOnly: true,
- Description: "A detailed description of the metric, which can be used in documentation.",
- },
- "displayName": &dcl.Property{
- Type: "string",
- GoName: "DisplayName",
- Description: "A concise name for the metric, which can be displayed in user interfaces. Use sentence case without an ending period, for example \"Request count\". This field is optional but it is recommended to be set for any metrics associated with user-visible concepts, such as Quota.",
- },
- "labels": &dcl.Property{
- Type: "array",
- GoName: "Labels",
- Description: "The set of labels that can be used to describe a specific instance of this metric type. For example, the `appengine.googleapis.com/http/server/response_latencies` metric type has a label for the HTTP response code, `response_code`, so you can look at latencies for successful responses or just for responses that failed.",
- SendEmpty: true,
- ListType: "set",
- Items: &dcl.Property{
- Type: "object",
- GoType: "LogMetricMetricDescriptorLabels",
- Properties: map[string]*dcl.Property{
- "description": &dcl.Property{
- Type: "string",
- GoName: "Description",
- Description: "A human-readable description for the label.",
- Immutable: true,
- },
- "key": &dcl.Property{
- Type: "string",
- GoName: "Key",
- Description: "The label key.",
- Immutable: true,
- },
- "valueType": &dcl.Property{
- Type: "string",
- GoName: "ValueType",
- GoType: "LogMetricMetricDescriptorLabelsValueTypeEnum",
- Description: "The type of data that can be assigned to the label. Possible values: STRING, BOOL, INT64, DOUBLE, DISTRIBUTION, MONEY",
- Immutable: true,
- Enum: []string{
- "STRING",
- "BOOL",
- "INT64",
- "DOUBLE",
- "DISTRIBUTION",
- "MONEY",
- },
- },
- },
- },
- },
- "launchStage": &dcl.Property{
- Type: "string",
- GoName: "LaunchStage",
- GoType: "LogMetricMetricDescriptorLaunchStageEnum",
- Description: "Optional. The launch stage of the metric definition. Possible values: UNIMPLEMENTED, PRELAUNCH, EARLY_ACCESS, ALPHA, BETA, GA, DEPRECATED",
- Enum: []string{
- "UNIMPLEMENTED",
- "PRELAUNCH",
- "EARLY_ACCESS",
- "ALPHA",
- "BETA",
- "GA",
- "DEPRECATED",
- },
- Unreadable: true,
- },
- "metadata": &dcl.Property{
- Type: "object",
- GoName: "Metadata",
- GoType: "LogMetricMetricDescriptorMetadata",
- Description: "Optional. Metadata which can be used to guide usage of the metric.",
- Unreadable: true,
- Properties: map[string]*dcl.Property{
- "ingestDelay": &dcl.Property{
- Type: "string",
- GoName: "IngestDelay",
- Description: "The delay of data points caused by ingestion. Data points older than this age are guaranteed to be ingested and available to be read, excluding data loss due to errors.",
- },
- "samplePeriod": &dcl.Property{
- Type: "string",
- GoName: "SamplePeriod",
- Description: "The sampling period of metric data points. For metrics which are written periodically, consecutive data points are stored at this time interval, excluding data loss due to errors. Metrics with a higher granularity have a smaller sampling period.",
- },
- },
- },
- "metricKind": &dcl.Property{
- Type: "string",
- GoName: "MetricKind",
- GoType: "LogMetricMetricDescriptorMetricKindEnum",
- Description: "Whether the metric records instantaneous values, changes to a value, etc. Some combinations of `metric_kind` and `value_type` might not be supported. Possible values: GAUGE, DELTA, CUMULATIVE",
- Immutable: true,
- Enum: []string{
- "GAUGE",
- "DELTA",
- "CUMULATIVE",
- },
- },
- "monitoredResourceTypes": &dcl.Property{
- Type: "array",
- GoName: "MonitoredResourceTypes",
- ReadOnly: true,
- Description: "Read-only. If present, then a time series, which is identified partially by a metric type and a MonitoredResourceDescriptor, that is associated with this metric type can only be associated with one of the monitored resource types listed here.",
- Immutable: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "name": &dcl.Property{
- Type: "string",
- GoName: "Name",
- ReadOnly: true,
- Description: "The resource name of the metric descriptor.",
- Immutable: true,
- },
- "type": &dcl.Property{
- Type: "string",
- GoName: "Type",
- ReadOnly: true,
- Description: "The metric type, including its DNS name prefix. The type is not URL-encoded. All user-defined metric types have the DNS name `custom.googleapis.com` or `external.googleapis.com`. Metric types should use a natural hierarchical grouping. For example: \"custom.googleapis.com/invoice/paid/amount\" \"external.googleapis.com/prometheus/up\" \"appengine.googleapis.com/http/server/response_latencies\"",
- Immutable: true,
- },
- "unit": &dcl.Property{
- Type: "string",
- GoName: "Unit",
- Description: "The units in which the metric value is reported. It is only applicable if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit` defines the representation of the stored metric values. Different systems might scale the values to be more easily displayed (so a value of `0.02kBy` _might_ be displayed as `20By`, and a value of `3523kBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is `kBy`, then the value of the metric is always in thousands of bytes, no matter how it might be displayed. If you want a custom metric to record the exact number of CPU-seconds used by a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is `s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005 CPU-seconds, then the value is written as `12005`. Alternatively, if you want a custom metric to record data in a more granular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is `ks{CPU}`, and then write the value `12.005` (which is `12005/1000`), or use `Kis{CPU}` and write `11.723` (which is `12005/1024`). The supported units are a subset of [The Unified Code for Units of Measure](https://unitsofmeasure.org/ucum.html) standard: **Basic units (UNIT)** * `bit` bit * `By` byte * `s` second * `min` minute * `h` hour * `d` day * `1` dimensionless **Prefixes (PREFIX)** * `k` kilo (10^3) * `M` mega (10^6) * `G` giga (10^9) * `T` tera (10^12) * `P` peta (10^15) * `E` exa (10^18) * `Z` zetta (10^21) * `Y` yotta (10^24) * `m` milli (10^-3) * `u` micro (10^-6) * `n` nano (10^-9) * `p` pico (10^-12) * `f` femto (10^-15) * `a` atto (10^-18) * `z` zepto (10^-21) * `y` yocto (10^-24) * `Ki` kibi (2^10) * `Mi` mebi (2^20) * `Gi` gibi (2^30) * `Ti` tebi (2^40) * `Pi` pebi (2^50) **Grammar** The grammar also includes these connectors: * `/` division or ratio (as an infix operator). For examples, `kBy/{email}` or `MiBy/10ms` (although you should almost never have `/s` in a metric `unit`; rates should always be computed at query time from the underlying cumulative or delta value). * `.` multiplication or composition (as an infix operator). For examples, `GBy.d` or `k{watt}.h`. The grammar for a unit is as follows: Expression = Component: { \".\" Component } { \"/\" Component } ; Component = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation ] | Annotation | \"1\" ; Annotation = \"{\" NAME \"}\" ; Notes: * `Annotation` is just a comment if it follows a `UNIT`. If the annotation is used alone, then the unit is equivalent to `1`. For examples, `{request}/s == 1/s`, `By{transmitted}/s == By/s`. * `NAME` is a sequence of non-blank printable ASCII characters not containing `{` or `}`. * `1` represents a unitary [dimensionless unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such as in `1/s`. It is typically used when none of the basic units are appropriate. For example, \"new users per day\" can be represented as `1/d` or `{new-users}/d` (and a metric value `5` would mean \"5 new users). Alternatively, \"thousands of page views per day\" would be represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric value of `5.3` would mean \"5300 page views per day\"). * `%` represents dimensionless value of 1/100, and annotates values giving a percentage (so the metric values are typically in the range of 0..100, and a metric value `3` means \"3 percent\"). * `10^2.%` indicates a metric contains a ratio, typically in the range 0..1, that will be multiplied by 100 and displayed as a percentage (so a metric value `0.03` means \"3 percent\").",
- ServerDefault: true,
- },
- "valueType": &dcl.Property{
- Type: "string",
- GoName: "ValueType",
- GoType: "LogMetricMetricDescriptorValueTypeEnum",
- Description: "Whether the measurement is an integer, a floating-point number, etc. Some combinations of `metric_kind` and `value_type` might not be supported. Possible values: STRING, BOOL, INT64, DOUBLE, DISTRIBUTION, MONEY",
- Immutable: true,
- Enum: []string{
- "STRING",
- "BOOL",
- "INT64",
- "DOUBLE",
- "DISTRIBUTION",
- "MONEY",
- },
- },
- },
- },
- "name": &dcl.Property{
- Type: "string",
- GoName: "Name",
- Description: "Required. The client-assigned metric identifier. Examples: `\"error_count\"`, `\"nginx/requests\"`. Metric identifiers are limited to 100 characters and can include only the following characters: `A-Z`, `a-z`, `0-9`, and the special characters `_-.,+!*',()%/`. The forward-slash character (`/`) denotes a hierarchy of name pieces, and it cannot be the first character of the name. The metric identifier in this field must not be [URL-encoded](https://en.wikipedia.org/wiki/Percent-encoding). However, when the metric identifier appears as the `[METRIC_ID]` part of a `metric_name` API parameter, then the metric identifier must be URL-encoded. Example: `\"projects/my-project/metrics/nginx%2Frequests\"`.",
- Immutable: true,
- },
- "project": &dcl.Property{
- Type: "string",
- GoName: "Project",
- Description: "The resource name of the project in which to create the metric.",
- Immutable: true,
- ResourceReferences: []*dcl.PropertyResourceReference{
- &dcl.PropertyResourceReference{
- Resource: "Cloudresourcemanager/Project",
- Field: "name",
- Parent: true,
- },
- },
- },
- "updateTime": &dcl.Property{
- Type: "string",
- Format: "date-time",
- GoName: "UpdateTime",
- ReadOnly: true,
- Description: "Output only. The last update timestamp of the metric. This field may not be present for older metrics.",
- Immutable: true,
- },
- "valueExtractor": &dcl.Property{
- Type: "string",
- GoName: "ValueExtractor",
- Description: "Optional. A `value_extractor` is required when using a distribution logs-based metric to extract the values to record from a log entry. Two functions are supported for value extraction: `EXTRACT(field)` or `REGEXP_EXTRACT(field, regex)`. The argument are: 1. field: The name of the log entry field from which the value is to be extracted. 2. regex: A regular expression using the Google RE2 syntax (https://github.com/google/re2/wiki/Syntax) with a single capture group to extract data from the specified log entry field. The value of the field is converted to a string before applying the regex. It is an error to specify a regex that does not include exactly one capture group. The result of the extraction must be convertible to a double type, as the distribution always records double values. If either the extraction or the conversion to double fails, then those values are not recorded in the distribution. Example: `REGEXP_EXTRACT(jsonPayload.request, \".*quantity=(d+).*\")`",
- },
- },
- },
- },
- },
- },
- }
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_metric_yaml_embed.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_metric_yaml_embed.go
deleted file mode 100644
index 669a0e7588..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_metric_yaml_embed.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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.
-// GENERATED BY gen_go_data.go
-// gen_go_data -package logging -var YAML_log_metric blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/logging/log_metric.yaml
-
-package logging
-
-// blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/logging/log_metric.yaml
-var YAML_log_metric = []byte("info:\n title: Logging/LogMetric\n description: The Logging LogMetric resource\n x-dcl-struct-name: LogMetric\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a LogMetric\n parameters:\n - name: logMetric\n required: true\n description: A full instance of a LogMetric\n apply:\n description: The function used to apply information about a LogMetric\n parameters:\n - name: logMetric\n required: true\n description: A full instance of a LogMetric\n delete:\n description: The function used to delete a LogMetric\n parameters:\n - name: logMetric\n required: true\n description: A full instance of a LogMetric\n deleteAll:\n description: The function used to delete all LogMetric\n parameters:\n - name: project\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many LogMetric\n parameters:\n - name: project\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n LogMetric:\n title: LogMetric\n x-dcl-id: projects/{{project}}/metrics/{{name}}\n x-dcl-uses-state-hint: true\n x-dcl-parent-container: project\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - filter\n - project\n properties:\n bucketOptions:\n type: object\n x-dcl-go-name: BucketOptions\n x-dcl-go-type: LogMetricBucketOptions\n description: Optional. The `bucket_options` are required when the logs-based\n metric is using a DISTRIBUTION value type and it describes the bucket\n boundaries used to create a histogram of the extracted values.\n properties:\n explicitBuckets:\n type: object\n x-dcl-go-name: ExplicitBuckets\n x-dcl-go-type: LogMetricBucketOptionsExplicitBuckets\n description: The explicit buckets.\n x-dcl-conflicts:\n - linearBuckets\n - exponentialBuckets\n properties:\n bounds:\n type: array\n x-dcl-go-name: Bounds\n description: The values must be monotonically increasing.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: number\n format: double\n x-dcl-go-type: float64\n exponentialBuckets:\n type: object\n x-dcl-go-name: ExponentialBuckets\n x-dcl-go-type: LogMetricBucketOptionsExponentialBuckets\n description: The exponential buckets.\n x-dcl-conflicts:\n - linearBuckets\n - explicitBuckets\n properties:\n growthFactor:\n type: number\n format: double\n x-dcl-go-name: GrowthFactor\n description: Must be greater than 1.\n numFiniteBuckets:\n type: integer\n format: int64\n x-dcl-go-name: NumFiniteBuckets\n description: Must be greater than 0.\n scale:\n type: number\n format: double\n x-dcl-go-name: Scale\n description: Must be greater than 0.\n linearBuckets:\n type: object\n x-dcl-go-name: LinearBuckets\n x-dcl-go-type: LogMetricBucketOptionsLinearBuckets\n description: The linear bucket.\n x-dcl-conflicts:\n - exponentialBuckets\n - explicitBuckets\n properties:\n numFiniteBuckets:\n type: integer\n format: int64\n x-dcl-go-name: NumFiniteBuckets\n description: Must be greater than 0.\n offset:\n type: number\n format: double\n x-dcl-go-name: Offset\n description: Lower bound of the first bucket.\n width:\n type: number\n format: double\n x-dcl-go-name: Width\n description: Must be greater than 0.\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Output only. The creation timestamp of the metric. This field\n may not be present for older metrics.\n x-kubernetes-immutable: true\n description:\n type: string\n x-dcl-go-name: Description\n description: Optional. A description of this metric, which is used in documentation.\n The maximum length of the description is 8000 characters.\n disabled:\n type: boolean\n x-dcl-go-name: Disabled\n description: Optional. If set to True, then this metric is disabled and\n it does not generate any points.\n filter:\n type: string\n x-dcl-go-name: Filter\n description: 'Required. An [advanced logs filter](https://cloud.google.com/logging/docs/view/advanced_filters)\n which is used to match log entries. Example: \"resource.type=gae_app AND\n severity>=ERROR\" The maximum length of the filter is 20000 characters.'\n labelExtractors:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: LabelExtractors\n description: Optional. A map from a label key string to an extractor expression\n which is used to extract data from a log entry field and assign as the\n label value. Each label key specified in the LabelDescriptor must have\n an associated extractor expression in this map. The syntax of the extractor\n expression is the same as for the `value_extractor` field. The extracted\n value is converted to the type defined in the label descriptor. If the\n either the extraction or the type conversion fails, the label will have\n a default value. The default value for a string label is an empty string,\n for an integer label its 0, and for a boolean label its `false`. Note\n that there are upper bounds on the maximum number of labels and the number\n of active time series that are allowed in a project.\n metricDescriptor:\n type: object\n x-dcl-go-name: MetricDescriptor\n x-dcl-go-type: LogMetricMetricDescriptor\n description: Optional. The metric descriptor associated with the logs-based\n metric. If unspecified, it uses a default metric descriptor with a DELTA\n metric kind, INT64 value type, with no labels and a unit of \"1\". Such\n a metric counts the number of log entries matching the `filter` expression.\n The `name`, `type`, and `description` fields in the `metric_descriptor`\n are output only, and is constructed using the `name` and `description`\n field in the LogMetric. To create a logs-based metric that records a distribution\n of log values, a DELTA metric kind with a DISTRIBUTION value type must\n be used along with a `value_extractor` expression in the LogMetric. Each\n label in the metric descriptor must have a matching label name as the\n key and an extractor expression as the value in the `label_extractors`\n map. The `metric_kind` and `value_type` fields in the `metric_descriptor`\n cannot be updated once initially configured. New labels can be added in\n the `metric_descriptor`, but existing labels cannot be modified except\n for their description.\n properties:\n description:\n type: string\n x-dcl-go-name: Description\n readOnly: true\n description: A detailed description of the metric, which can be used\n in documentation.\n displayName:\n type: string\n x-dcl-go-name: DisplayName\n description: A concise name for the metric, which can be displayed in\n user interfaces. Use sentence case without an ending period, for example\n \"Request count\". This field is optional but it is recommended to be\n set for any metrics associated with user-visible concepts, such as\n Quota.\n labels:\n type: array\n x-dcl-go-name: Labels\n description: The set of labels that can be used to describe a specific\n instance of this metric type. For example, the `appengine.googleapis.com/http/server/response_latencies`\n metric type has a label for the HTTP response code, `response_code`,\n so you can look at latencies for successful responses or just for\n responses that failed.\n x-dcl-send-empty: true\n x-dcl-list-type: set\n items:\n type: object\n x-dcl-go-type: LogMetricMetricDescriptorLabels\n properties:\n description:\n type: string\n x-dcl-go-name: Description\n description: A human-readable description for the label.\n x-kubernetes-immutable: true\n key:\n type: string\n x-dcl-go-name: Key\n description: The label key.\n x-kubernetes-immutable: true\n valueType:\n type: string\n x-dcl-go-name: ValueType\n x-dcl-go-type: LogMetricMetricDescriptorLabelsValueTypeEnum\n description: 'The type of data that can be assigned to the label.\n Possible values: STRING, BOOL, INT64, DOUBLE, DISTRIBUTION,\n MONEY'\n x-kubernetes-immutable: true\n enum:\n - STRING\n - BOOL\n - INT64\n - DOUBLE\n - DISTRIBUTION\n - MONEY\n launchStage:\n type: string\n x-dcl-go-name: LaunchStage\n x-dcl-go-type: LogMetricMetricDescriptorLaunchStageEnum\n description: 'Optional. The launch stage of the metric definition. Possible\n values: UNIMPLEMENTED, PRELAUNCH, EARLY_ACCESS, ALPHA, BETA, GA, DEPRECATED'\n enum:\n - UNIMPLEMENTED\n - PRELAUNCH\n - EARLY_ACCESS\n - ALPHA\n - BETA\n - GA\n - DEPRECATED\n x-dcl-mutable-unreadable: true\n metadata:\n type: object\n x-dcl-go-name: Metadata\n x-dcl-go-type: LogMetricMetricDescriptorMetadata\n description: Optional. Metadata which can be used to guide usage of\n the metric.\n x-dcl-mutable-unreadable: true\n properties:\n ingestDelay:\n type: string\n x-dcl-go-name: IngestDelay\n description: The delay of data points caused by ingestion. Data\n points older than this age are guaranteed to be ingested and available\n to be read, excluding data loss due to errors.\n samplePeriod:\n type: string\n x-dcl-go-name: SamplePeriod\n description: The sampling period of metric data points. For metrics\n which are written periodically, consecutive data points are stored\n at this time interval, excluding data loss due to errors. Metrics\n with a higher granularity have a smaller sampling period.\n metricKind:\n type: string\n x-dcl-go-name: MetricKind\n x-dcl-go-type: LogMetricMetricDescriptorMetricKindEnum\n description: 'Whether the metric records instantaneous values, changes\n to a value, etc. Some combinations of `metric_kind` and `value_type`\n might not be supported. Possible values: GAUGE, DELTA, CUMULATIVE'\n x-kubernetes-immutable: true\n enum:\n - GAUGE\n - DELTA\n - CUMULATIVE\n monitoredResourceTypes:\n type: array\n x-dcl-go-name: MonitoredResourceTypes\n readOnly: true\n description: Read-only. If present, then a time series, which is identified\n partially by a metric type and a MonitoredResourceDescriptor, that\n is associated with this metric type can only be associated with one\n of the monitored resource types listed here.\n x-kubernetes-immutable: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n name:\n type: string\n x-dcl-go-name: Name\n readOnly: true\n description: The resource name of the metric descriptor.\n x-kubernetes-immutable: true\n type:\n type: string\n x-dcl-go-name: Type\n readOnly: true\n description: 'The metric type, including its DNS name prefix. The type\n is not URL-encoded. All user-defined metric types have the DNS name\n `custom.googleapis.com` or `external.googleapis.com`. Metric types\n should use a natural hierarchical grouping. For example: \"custom.googleapis.com/invoice/paid/amount\"\n \"external.googleapis.com/prometheus/up\" \"appengine.googleapis.com/http/server/response_latencies\"'\n x-kubernetes-immutable: true\n unit:\n type: string\n x-dcl-go-name: Unit\n description: 'The units in which the metric value is reported. It is\n only applicable if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`.\n The `unit` defines the representation of the stored metric values.\n Different systems might scale the values to be more easily displayed\n (so a value of `0.02kBy` _might_ be displayed as `20By`, and a value\n of `3523kBy` _might_ be displayed as `3.5MBy`). However, if the `unit`\n is `kBy`, then the value of the metric is always in thousands of bytes,\n no matter how it might be displayed. If you want a custom metric to\n record the exact number of CPU-seconds used by a job, you can create\n an `INT64 CUMULATIVE` metric whose `unit` is `s{CPU}` (or equivalently\n `1s{CPU}` or just `s`). If the job uses 12,005 CPU-seconds, then the\n value is written as `12005`. Alternatively, if you want a custom metric\n to record data in a more granular way, you can create a `DOUBLE CUMULATIVE`\n metric whose `unit` is `ks{CPU}`, and then write the value `12.005`\n (which is `12005/1000`), or use `Kis{CPU}` and write `11.723` (which\n is `12005/1024`). The supported units are a subset of [The Unified\n Code for Units of Measure](https://unitsofmeasure.org/ucum.html) standard:\n **Basic units (UNIT)** * `bit` bit * `By` byte * `s` second * `min`\n minute * `h` hour * `d` day * `1` dimensionless **Prefixes (PREFIX)**\n * `k` kilo (10^3) * `M` mega (10^6) * `G` giga (10^9) * `T` tera (10^12)\n * `P` peta (10^15) * `E` exa (10^18) * `Z` zetta (10^21) * `Y` yotta\n (10^24) * `m` milli (10^-3) * `u` micro (10^-6) * `n` nano (10^-9)\n * `p` pico (10^-12) * `f` femto (10^-15) * `a` atto (10^-18) * `z`\n zepto (10^-21) * `y` yocto (10^-24) * `Ki` kibi (2^10) * `Mi` mebi\n (2^20) * `Gi` gibi (2^30) * `Ti` tebi (2^40) * `Pi` pebi (2^50) **Grammar**\n The grammar also includes these connectors: * `/` division or ratio\n (as an infix operator). For examples, `kBy/{email}` or `MiBy/10ms`\n (although you should almost never have `/s` in a metric `unit`; rates\n should always be computed at query time from the underlying cumulative\n or delta value). * `.` multiplication or composition (as an infix\n operator). For examples, `GBy.d` or `k{watt}.h`. The grammar for a\n unit is as follows: Expression = Component: { \".\" Component } { \"/\"\n Component } ; Component = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation ]\n | Annotation | \"1\" ; Annotation = \"{\" NAME \"}\" ; Notes: * `Annotation`\n is just a comment if it follows a `UNIT`. If the annotation is used\n alone, then the unit is equivalent to `1`. For examples, `{request}/s\n == 1/s`, `By{transmitted}/s == By/s`. * `NAME` is a sequence of non-blank\n printable ASCII characters not containing `{` or `}`. * `1` represents\n a unitary [dimensionless unit](https://en.wikipedia.org/wiki/Dimensionless_quantity)\n of 1, such as in `1/s`. It is typically used when none of the basic\n units are appropriate. For example, \"new users per day\" can be represented\n as `1/d` or `{new-users}/d` (and a metric value `5` would mean \"5\n new users). Alternatively, \"thousands of page views per day\" would\n be represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric\n value of `5.3` would mean \"5300 page views per day\"). * `%` represents\n dimensionless value of 1/100, and annotates values giving a percentage\n (so the metric values are typically in the range of 0..100, and a\n metric value `3` means \"3 percent\"). * `10^2.%` indicates a metric\n contains a ratio, typically in the range 0..1, that will be multiplied\n by 100 and displayed as a percentage (so a metric value `0.03` means\n \"3 percent\").'\n x-dcl-server-default: true\n valueType:\n type: string\n x-dcl-go-name: ValueType\n x-dcl-go-type: LogMetricMetricDescriptorValueTypeEnum\n description: 'Whether the measurement is an integer, a floating-point\n number, etc. Some combinations of `metric_kind` and `value_type` might\n not be supported. Possible values: STRING, BOOL, INT64, DOUBLE, DISTRIBUTION,\n MONEY'\n x-kubernetes-immutable: true\n enum:\n - STRING\n - BOOL\n - INT64\n - DOUBLE\n - DISTRIBUTION\n - MONEY\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. The client-assigned metric identifier. Examples:\n `\"error_count\"`, `\"nginx/requests\"`. Metric identifiers are limited to\n 100 characters and can include only the following characters: `A-Z`, `a-z`,\n `0-9`, and the special characters `_-.,+!*'',()%/`. The forward-slash\n character (`/`) denotes a hierarchy of name pieces, and it cannot be the\n first character of the name. The metric identifier in this field must\n not be [URL-encoded](https://en.wikipedia.org/wiki/Percent-encoding).\n However, when the metric identifier appears as the `[METRIC_ID]` part\n of a `metric_name` API parameter, then the metric identifier must be URL-encoded.\n Example: `\"projects/my-project/metrics/nginx%2Frequests\"`.'\n x-kubernetes-immutable: true\n project:\n type: string\n x-dcl-go-name: Project\n description: The resource name of the project in which to create the metric.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n updateTime:\n type: string\n format: date-time\n x-dcl-go-name: UpdateTime\n readOnly: true\n description: Output only. The last update timestamp of the metric. This\n field may not be present for older metrics.\n x-kubernetes-immutable: true\n valueExtractor:\n type: string\n x-dcl-go-name: ValueExtractor\n description: 'Optional. A `value_extractor` is required when using a distribution\n logs-based metric to extract the values to record from a log entry. Two\n functions are supported for value extraction: `EXTRACT(field)` or `REGEXP_EXTRACT(field,\n regex)`. The argument are: 1. field: The name of the log entry field from\n which the value is to be extracted. 2. regex: A regular expression using\n the Google RE2 syntax (https://github.com/google/re2/wiki/Syntax) with\n a single capture group to extract data from the specified log entry field.\n The value of the field is converted to a string before applying the regex.\n It is an error to specify a regex that does not include exactly one capture\n group. The result of the extraction must be convertible to a double type,\n as the distribution always records double values. If either the extraction\n or the conversion to double fails, then those values are not recorded\n in the distribution. Example: `REGEXP_EXTRACT(jsonPayload.request, \".*quantity=(d+).*\")`'\n")
-
-// 22100 bytes
-// MD5: b55014c3141d88528a1a93f25cd97b16
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_view.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_view.go
deleted file mode 100644
index 36594a17cd..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_view.go
+++ /dev/null
@@ -1,377 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 logging
-
-import (
- "context"
- "fmt"
- "time"
-
- "google.golang.org/api/googleapi"
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-type LogView struct {
- Name *string `json:"name"`
- Description *string `json:"description"`
- CreateTime *string `json:"createTime"`
- UpdateTime *string `json:"updateTime"`
- Filter *string `json:"filter"`
- Parent *string `json:"parent"`
- Location *string `json:"location"`
- Bucket *string `json:"bucket"`
-}
-
-func (r *LogView) String() string {
- return dcl.SprintResource(r)
-}
-
-// Describe returns a simple description of this resource to ensure that automated tools
-// can identify it.
-func (r *LogView) Describe() dcl.ServiceTypeVersion {
- return dcl.ServiceTypeVersion{
- Service: "logging",
- Type: "LogView",
- Version: "logging",
- }
-}
-
-func (r *LogView) ID() (string, error) {
- if err := extractLogViewFields(r); err != nil {
- return "", err
- }
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "name": dcl.ValueOrEmptyString(nr.Name),
- "description": dcl.ValueOrEmptyString(nr.Description),
- "create_time": dcl.ValueOrEmptyString(nr.CreateTime),
- "update_time": dcl.ValueOrEmptyString(nr.UpdateTime),
- "filter": dcl.ValueOrEmptyString(nr.Filter),
- "parent": dcl.ValueOrEmptyString(nr.Parent),
- "location": dcl.ValueOrEmptyString(nr.Location),
- "bucket": dcl.ValueOrEmptyString(nr.Bucket),
- }
- return dcl.Nprintf("{{parent}}/locations/{{location}}/buckets/{{bucket}}/views/{{name}}", params), nil
-}
-
-const LogViewMaxPage = -1
-
-type LogViewList struct {
- Items []*LogView
-
- nextToken string
-
- pageSize int32
-
- resource *LogView
-}
-
-func (l *LogViewList) HasNext() bool {
- return l.nextToken != ""
-}
-
-func (l *LogViewList) Next(ctx context.Context, c *Client) error {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- if !l.HasNext() {
- return fmt.Errorf("no next page")
- }
- items, token, err := c.listLogView(ctx, l.resource, l.nextToken, l.pageSize)
- if err != nil {
- return err
- }
- l.Items = items
- l.nextToken = token
- return err
-}
-
-func (c *Client) ListLogView(ctx context.Context, location, bucket, parent string) (*LogViewList, error) {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- return c.ListLogViewWithMaxResults(ctx, location, bucket, parent, LogViewMaxPage)
-
-}
-
-func (c *Client) ListLogViewWithMaxResults(ctx context.Context, location, bucket, parent string, pageSize int32) (*LogViewList, error) {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- // Create a resource object so that we can use proper url normalization methods.
- r := &LogView{
- Location: &location,
- Bucket: &bucket,
- Parent: &parent,
- }
- items, token, err := c.listLogView(ctx, r, "", pageSize)
- if err != nil {
- return nil, err
- }
- return &LogViewList{
- Items: items,
- nextToken: token,
- pageSize: pageSize,
- resource: r,
- }, nil
-}
-
-func (c *Client) GetLogView(ctx context.Context, r *LogView) (*LogView, error) {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- // This is *purposefully* supressing errors.
- // This function is used with url-normalized values + not URL normalized values.
- // URL Normalized values will throw unintentional errors, since those values are not of the proper parent form.
- extractLogViewFields(r)
-
- b, err := c.getLogViewRaw(ctx, r)
- if err != nil {
- if dcl.IsNotFound(err) {
- return nil, &googleapi.Error{
- Code: 404,
- Message: err.Error(),
- }
- }
- return nil, err
- }
- result, err := unmarshalLogView(b, c, r)
- if err != nil {
- return nil, err
- }
- result.Location = r.Location
- result.Bucket = r.Bucket
- result.Parent = r.Parent
- result.Name = r.Name
-
- c.Config.Logger.InfoWithContextf(ctx, "Retrieved raw result state: %v", result)
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalizing with specified state: %v", r)
- result, err = canonicalizeLogViewNewState(c, result, r)
- if err != nil {
- return nil, err
- }
- if err := postReadExtractLogViewFields(result); err != nil {
- return result, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Created result state: %v", result)
-
- return result, nil
-}
-
-func (c *Client) DeleteLogView(ctx context.Context, r *LogView) error {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- if r == nil {
- return fmt.Errorf("LogView resource is nil")
- }
- c.Config.Logger.InfoWithContext(ctx, "Deleting LogView...")
- deleteOp := deleteLogViewOperation{}
- return deleteOp.do(ctx, r, c)
-}
-
-// DeleteAllLogView deletes all resources that the filter functions returns true on.
-func (c *Client) DeleteAllLogView(ctx context.Context, location, bucket, parent string, filter func(*LogView) bool) error {
- listObj, err := c.ListLogView(ctx, location, bucket, parent)
- if err != nil {
- return err
- }
-
- err = c.deleteAllLogView(ctx, filter, listObj.Items)
- if err != nil {
- return err
- }
- for listObj.HasNext() {
- err = listObj.Next(ctx, c)
- if err != nil {
- return nil
- }
- err = c.deleteAllLogView(ctx, filter, listObj.Items)
- if err != nil {
- return err
- }
- }
- return nil
-}
-
-func (c *Client) ApplyLogView(ctx context.Context, rawDesired *LogView, opts ...dcl.ApplyOption) (*LogView, error) {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- ctx = dcl.ContextWithRequestID(ctx)
- var resultNewState *LogView
- err := dcl.Do(ctx, func(ctx context.Context) (*dcl.RetryDetails, error) {
- newState, err := applyLogViewHelper(c, ctx, rawDesired, opts...)
- resultNewState = newState
- if err != nil {
- // If the error is 409, there is conflict in resource update.
- // Here we want to apply changes based on latest state.
- if dcl.IsConflictError(err) {
- return &dcl.RetryDetails{}, dcl.OperationNotDone{Err: err}
- }
- return nil, err
- }
- return nil, nil
- }, c.Config.RetryProvider)
- return resultNewState, err
-}
-
-func applyLogViewHelper(c *Client, ctx context.Context, rawDesired *LogView, opts ...dcl.ApplyOption) (*LogView, error) {
- c.Config.Logger.InfoWithContext(ctx, "Beginning ApplyLogView...")
- c.Config.Logger.InfoWithContextf(ctx, "User specified desired state: %v", rawDesired)
-
- // 1.1: Validation of user-specified fields in desired state.
- if err := rawDesired.validate(); err != nil {
- return nil, err
- }
-
- if err := extractLogViewFields(rawDesired); err != nil {
- return nil, err
- }
-
- initial, desired, fieldDiffs, err := c.logViewDiffsForRawDesired(ctx, rawDesired, opts...)
- if err != nil {
- return nil, fmt.Errorf("failed to create a diff: %w", err)
- }
-
- diffs, err := convertFieldDiffsToLogViewDiffs(c.Config, fieldDiffs, opts)
- if err != nil {
- return nil, err
- }
-
- // TODO(magic-modules-eng): 2.2 Feasibility check (all updates are feasible so far).
-
- // 2.3: Lifecycle Directive Check
- var create bool
- lp := dcl.FetchLifecycleParams(opts)
- if initial == nil {
- if dcl.HasLifecycleParam(lp, dcl.BlockCreation) {
- return nil, dcl.ApplyInfeasibleError{Message: fmt.Sprintf("Creation blocked by lifecycle params: %#v.", desired)}
- }
- create = true
- } else if dcl.HasLifecycleParam(lp, dcl.BlockAcquire) {
- return nil, dcl.ApplyInfeasibleError{
- Message: fmt.Sprintf("Resource already exists - apply blocked by lifecycle params: %#v.", initial),
- }
- } else {
- for _, d := range diffs {
- if d.RequiresRecreate {
- return nil, dcl.ApplyInfeasibleError{
- Message: fmt.Sprintf("infeasible update: (%v) would require recreation", d),
- }
- }
- if dcl.HasLifecycleParam(lp, dcl.BlockModification) {
- return nil, dcl.ApplyInfeasibleError{Message: fmt.Sprintf("Modification blocked, diff (%v) unresolvable.", d)}
- }
- }
- }
-
- // 2.4 Imperative Request Planning
- var ops []logViewApiOperation
- if create {
- ops = append(ops, &createLogViewOperation{})
- } else {
- for _, d := range diffs {
- ops = append(ops, d.UpdateOp)
- }
- }
- c.Config.Logger.InfoWithContextf(ctx, "Created plan: %#v", ops)
-
- // 2.5 Request Actuation
- for _, op := range ops {
- c.Config.Logger.InfoWithContextf(ctx, "Performing operation %T %+v", op, op)
- if err := op.do(ctx, desired, c); err != nil {
- c.Config.Logger.InfoWithContextf(ctx, "Failed operation %T %+v: %v", op, op, err)
- return nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Finished operation %T %+v", op, op)
- }
- return applyLogViewDiff(c, ctx, desired, rawDesired, ops, opts...)
-}
-
-func applyLogViewDiff(c *Client, ctx context.Context, desired *LogView, rawDesired *LogView, ops []logViewApiOperation, opts ...dcl.ApplyOption) (*LogView, error) {
- // 3.1, 3.2a Retrieval of raw new state & canonicalization with desired state
- c.Config.Logger.InfoWithContext(ctx, "Retrieving raw new state...")
- rawNew, err := c.GetLogView(ctx, desired)
- if err != nil {
- return nil, err
- }
- // Get additional values from the first response.
- // These values should be merged into the newState above.
- if len(ops) > 0 {
- lastOp := ops[len(ops)-1]
- if o, ok := lastOp.(*createLogViewOperation); ok {
- if r, hasR := o.FirstResponse(); hasR {
-
- c.Config.Logger.InfoWithContext(ctx, "Retrieving raw new state from operation...")
-
- fullResp, err := unmarshalMapLogView(r, c, rawDesired)
- if err != nil {
- return nil, err
- }
-
- rawNew, err = canonicalizeLogViewNewState(c, rawNew, fullResp)
- if err != nil {
- return nil, err
- }
- }
- }
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalizing with raw desired state: %v", rawDesired)
- // 3.2b Canonicalization of raw new state using raw desired state
- newState, err := canonicalizeLogViewNewState(c, rawNew, rawDesired)
- if err != nil {
- return rawNew, err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Created canonical new state: %v", newState)
- // 3.3 Comparison of the new state and raw desired state.
- // TODO(magic-modules-eng): EVENTUALLY_CONSISTENT_UPDATE
- newDesired, err := canonicalizeLogViewDesiredState(rawDesired, newState)
- if err != nil {
- return newState, err
- }
-
- if err := postReadExtractLogViewFields(newState); err != nil {
- return newState, err
- }
-
- // Need to ensure any transformations made here match acceptably in differ.
- if err := postReadExtractLogViewFields(newDesired); err != nil {
- return newState, err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Diffing using canonicalized desired state: %v", newDesired)
- newDiffs, err := diffLogView(c, newDesired, newState)
- if err != nil {
- return newState, err
- }
-
- if len(newDiffs) == 0 {
- c.Config.Logger.InfoWithContext(ctx, "No diffs found. Apply was successful.")
- } else {
- c.Config.Logger.InfoWithContextf(ctx, "Found diffs: %v", newDiffs)
- diffMessages := make([]string, len(newDiffs))
- for i, d := range newDiffs {
- diffMessages[i] = fmt.Sprintf("%v", d)
- }
- return newState, dcl.DiffAfterApplyError{Diffs: diffMessages}
- }
- c.Config.Logger.InfoWithContext(ctx, "Done Apply.")
- return newState, nil
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_view.yaml b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_view.yaml
deleted file mode 100644
index 036dc6796d..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_view.yaml
+++ /dev/null
@@ -1,149 +0,0 @@
-# Copyright 2023 Google LLC. All Rights Reserved.
-#
-# 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.
-info:
- title: Logging/LogView
- description: The Logging LogView resource
- x-dcl-struct-name: LogView
- x-dcl-has-iam: false
-paths:
- get:
- description: The function used to get information about a LogView
- parameters:
- - name: logView
- required: true
- description: A full instance of a LogView
- apply:
- description: The function used to apply information about a LogView
- parameters:
- - name: logView
- required: true
- description: A full instance of a LogView
- delete:
- description: The function used to delete a LogView
- parameters:
- - name: logView
- required: true
- description: A full instance of a LogView
- deleteAll:
- description: The function used to delete all LogView
- parameters:
- - name: location
- required: true
- schema:
- type: string
- - name: bucket
- required: true
- schema:
- type: string
- - name: parent
- required: true
- schema:
- type: string
- list:
- description: The function used to list information about many LogView
- parameters:
- - name: location
- required: true
- schema:
- type: string
- - name: bucket
- required: true
- schema:
- type: string
- - name: parent
- required: true
- schema:
- type: string
-components:
- schemas:
- LogView:
- title: LogView
- x-dcl-id: '{{parent}}/locations/{{location}}/buckets/{{bucket}}/views/{{name}}'
- x-dcl-has-create: true
- x-dcl-has-iam: false
- x-dcl-read-timeout: 0
- x-dcl-apply-timeout: 0
- x-dcl-delete-timeout: 0
- type: object
- required:
- - name
- - bucket
- properties:
- bucket:
- type: string
- x-dcl-go-name: Bucket
- description: The bucket of the resource
- x-kubernetes-immutable: true
- x-dcl-references:
- - resource: Logging/LogBucket
- field: name
- parent: true
- createTime:
- type: string
- format: date-time
- x-dcl-go-name: CreateTime
- readOnly: true
- description: Output only. The creation timestamp of the view.
- x-kubernetes-immutable: true
- description:
- type: string
- x-dcl-go-name: Description
- description: Describes this view.
- filter:
- type: string
- x-dcl-go-name: Filter
- description: 'Filter that restricts which log entries in a bucket are visible
- in this view. Filters are restricted to be a logical AND of ==/!= of any
- of the following: - originating project/folder/organization/billing account.
- - resource type - log id For example: SOURCE("projects/myproject") AND
- resource.type = "gce_instance" AND LOG_ID("stdout")'
- location:
- type: string
- x-dcl-go-name: Location
- description: 'The location of the resource. The supported locations are:
- global, us-central1, us-east1, us-west1, asia-east1, europe-west1.'
- x-kubernetes-immutable: true
- x-dcl-extract-if-empty: true
- name:
- type: string
- x-dcl-go-name: Name
- description: 'The resource name of the view. For example: `projects/my-project/locations/global/buckets/my-bucket/views/my-view`'
- x-kubernetes-immutable: true
- parent:
- type: string
- x-dcl-go-name: Parent
- description: The parent of the resource.
- x-kubernetes-immutable: true
- x-dcl-forward-slash-allowed: true
- x-dcl-references:
- - resource: Cloudresourcemanager/BillingAccount
- field: name
- parent: true
- - resource: Cloudresourcemanager/Folder
- field: name
- parent: true
- - resource: Cloudresourcemanager/Organization
- field: name
- parent: true
- - resource: Cloudresourcemanager/Project
- field: name
- parent: true
- x-dcl-extract-if-empty: true
- updateTime:
- type: string
- format: date-time
- x-dcl-go-name: UpdateTime
- readOnly: true
- description: Output only. The last update timestamp of the view.
- x-kubernetes-immutable: true
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_view_internal.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_view_internal.go
deleted file mode 100644
index 942e74c295..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_view_internal.go
+++ /dev/null
@@ -1,810 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 logging
-
-import (
- "bytes"
- "context"
- "encoding/json"
- "fmt"
- "io/ioutil"
- "strings"
-
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-func (r *LogView) validate() error {
-
- if err := dcl.Required(r, "name"); err != nil {
- return err
- }
- if err := dcl.RequiredParameter(r.Bucket, "Bucket"); err != nil {
- return err
- }
- return nil
-}
-func (r *LogView) basePath() string {
- params := map[string]interface{}{}
- return dcl.Nprintf("https://logging.googleapis.com/v2/", params)
-}
-
-func (r *LogView) getURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "location": dcl.ValueOrEmptyString(nr.Location),
- "bucket": dcl.ValueOrEmptyString(nr.Bucket),
- "parent": dcl.ValueOrEmptyString(nr.Parent),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("{{parent}}/locations/{{location}}/buckets/{{bucket}}/views/{{name}}", nr.basePath(), userBasePath, params), nil
-}
-
-func (r *LogView) listURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "location": dcl.ValueOrEmptyString(nr.Location),
- "bucket": dcl.ValueOrEmptyString(nr.Bucket),
- "parent": dcl.ValueOrEmptyString(nr.Parent),
- }
- return dcl.URL("{{parent}}/locations/{{location}}/buckets/{{bucket}}/views", nr.basePath(), userBasePath, params), nil
-
-}
-
-func (r *LogView) createURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "location": dcl.ValueOrEmptyString(nr.Location),
- "bucket": dcl.ValueOrEmptyString(nr.Bucket),
- "parent": dcl.ValueOrEmptyString(nr.Parent),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("{{parent}}/locations/{{location}}/buckets/{{bucket}}/views?viewId={{name}}", nr.basePath(), userBasePath, params), nil
-
-}
-
-func (r *LogView) deleteURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "location": dcl.ValueOrEmptyString(nr.Location),
- "bucket": dcl.ValueOrEmptyString(nr.Bucket),
- "parent": dcl.ValueOrEmptyString(nr.Parent),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("{{parent}}/locations/{{location}}/buckets/{{bucket}}/views/{{name}}", nr.basePath(), userBasePath, params), nil
-}
-
-// logViewApiOperation represents a mutable operation in the underlying REST
-// API such as Create, Update, or Delete.
-type logViewApiOperation interface {
- do(context.Context, *LogView, *Client) error
-}
-
-// newUpdateLogViewUpdateLogViewRequest creates a request for an
-// LogView resource's UpdateLogView update type by filling in the update
-// fields based on the intended state of the resource.
-func newUpdateLogViewUpdateLogViewRequest(ctx context.Context, f *LogView, c *Client) (map[string]interface{}, error) {
- req := map[string]interface{}{}
- res := f
- _ = res
-
- if v := f.Description; !dcl.IsEmptyValueIndirect(v) {
- req["description"] = v
- }
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- req["filter"] = v
- }
- return req, nil
-}
-
-// marshalUpdateLogViewUpdateLogViewRequest converts the update into
-// the final JSON request body.
-func marshalUpdateLogViewUpdateLogViewRequest(c *Client, m map[string]interface{}) ([]byte, error) {
-
- return json.Marshal(m)
-}
-
-type updateLogViewUpdateLogViewOperation struct {
- // If the update operation has the REQUIRES_APPLY_OPTIONS trait, this will be populated.
- // Usually it will be nil - this is to prevent us from accidentally depending on apply
- // options, which should usually be unnecessary.
- ApplyOptions []dcl.ApplyOption
- FieldDiffs []*dcl.FieldDiff
-}
-
-// do creates a request and sends it to the appropriate URL. In most operations,
-// do will transcribe a subset of the resource into a request object and send a
-// PUT request to a single URL.
-
-func (op *updateLogViewUpdateLogViewOperation) do(ctx context.Context, r *LogView, c *Client) error {
- _, err := c.GetLogView(ctx, r)
- if err != nil {
- return err
- }
-
- u, err := r.updateURL(c.Config.BasePath, "UpdateLogView")
- if err != nil {
- return err
- }
- mask := dcl.UpdateMask(op.FieldDiffs)
- u, err = dcl.AddQueryParams(u, map[string]string{"updateMask": mask})
- if err != nil {
- return err
- }
-
- req, err := newUpdateLogViewUpdateLogViewRequest(ctx, r, c)
- if err != nil {
- return err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Created update: %#v", req)
- body, err := marshalUpdateLogViewUpdateLogViewRequest(c, req)
- if err != nil {
- return err
- }
- _, err = dcl.SendRequest(ctx, c.Config, "PATCH", u, bytes.NewBuffer(body), c.Config.RetryProvider)
- if err != nil {
- return err
- }
-
- return nil
-}
-
-func (c *Client) listLogViewRaw(ctx context.Context, r *LogView, pageToken string, pageSize int32) ([]byte, error) {
- u, err := r.urlNormalized().listURL(c.Config.BasePath)
- if err != nil {
- return nil, err
- }
-
- m := make(map[string]string)
- if pageToken != "" {
- m["pageToken"] = pageToken
- }
-
- if pageSize != LogViewMaxPage {
- m["pageSize"] = fmt.Sprintf("%v", pageSize)
- }
-
- u, err = dcl.AddQueryParams(u, m)
- if err != nil {
- return nil, err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
- if err != nil {
- return nil, err
- }
- defer resp.Response.Body.Close()
- return ioutil.ReadAll(resp.Response.Body)
-}
-
-type listLogViewOperation struct {
- Views []map[string]interface{} `json:"views"`
- Token string `json:"nextPageToken"`
-}
-
-func (c *Client) listLogView(ctx context.Context, r *LogView, pageToken string, pageSize int32) ([]*LogView, string, error) {
- b, err := c.listLogViewRaw(ctx, r, pageToken, pageSize)
- if err != nil {
- return nil, "", err
- }
-
- var m listLogViewOperation
- if err := json.Unmarshal(b, &m); err != nil {
- return nil, "", err
- }
-
- var l []*LogView
- for _, v := range m.Views {
- res, err := unmarshalMapLogView(v, c, r)
- if err != nil {
- return nil, m.Token, err
- }
- res.Location = r.Location
- res.Bucket = r.Bucket
- res.Parent = r.Parent
- l = append(l, res)
- }
-
- return l, m.Token, nil
-}
-
-func (c *Client) deleteAllLogView(ctx context.Context, f func(*LogView) bool, resources []*LogView) error {
- var errors []string
- for _, res := range resources {
- if f(res) {
- // We do not want deleteAll to fail on a deletion or else it will stop deleting other resources.
- err := c.DeleteLogView(ctx, res)
- if err != nil {
- errors = append(errors, err.Error())
- }
- }
- }
- if len(errors) > 0 {
- return fmt.Errorf("%v", strings.Join(errors, "\n"))
- } else {
- return nil
- }
-}
-
-type deleteLogViewOperation struct{}
-
-func (op *deleteLogViewOperation) do(ctx context.Context, r *LogView, c *Client) error {
- r, err := c.GetLogView(ctx, r)
- if err != nil {
- if dcl.IsNotFound(err) {
- c.Config.Logger.InfoWithContextf(ctx, "LogView not found, returning. Original error: %v", err)
- return nil
- }
- c.Config.Logger.WarningWithContextf(ctx, "GetLogView checking for existence. error: %v", err)
- return err
- }
-
- u, err := r.deleteURL(c.Config.BasePath)
- if err != nil {
- return err
- }
-
- // Delete should never have a body
- body := &bytes.Buffer{}
- _, err = dcl.SendRequest(ctx, c.Config, "DELETE", u, body, c.Config.RetryProvider)
- if err != nil {
- return fmt.Errorf("failed to delete LogView: %w", err)
- }
-
- // We saw a race condition where for some successful delete operation, the Get calls returned resources for a short duration.
- // This is the reason we are adding retry to handle that case.
- retriesRemaining := 10
- dcl.Do(ctx, func(ctx context.Context) (*dcl.RetryDetails, error) {
- _, err := c.GetLogView(ctx, r)
- if dcl.IsNotFound(err) {
- return nil, nil
- }
- if retriesRemaining > 0 {
- retriesRemaining--
- return &dcl.RetryDetails{}, dcl.OperationNotDone{}
- }
- return nil, dcl.NotDeletedError{ExistingResource: r}
- }, c.Config.RetryProvider)
- return nil
-}
-
-// Create operations are similar to Update operations, although they do not have
-// specific request objects. The Create request object is the json encoding of
-// the resource, which is modified by res.marshal to form the base request body.
-type createLogViewOperation struct {
- response map[string]interface{}
-}
-
-func (op *createLogViewOperation) FirstResponse() (map[string]interface{}, bool) {
- return op.response, len(op.response) > 0
-}
-
-func (op *createLogViewOperation) do(ctx context.Context, r *LogView, c *Client) error {
- c.Config.Logger.InfoWithContextf(ctx, "Attempting to create %v", r)
- u, err := r.createURL(c.Config.BasePath)
- if err != nil {
- return err
- }
-
- req, err := r.marshal(c)
- if err != nil {
- return err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "POST", u, bytes.NewBuffer(req), c.Config.RetryProvider)
- if err != nil {
- return err
- }
-
- o, err := dcl.ResponseBodyAsJSON(resp)
- if err != nil {
- return fmt.Errorf("error decoding response body into JSON: %w", err)
- }
- op.response = o
-
- if _, err := c.GetLogView(ctx, r); err != nil {
- c.Config.Logger.WarningWithContextf(ctx, "get returned error: %v", err)
- return err
- }
-
- return nil
-}
-
-func (c *Client) getLogViewRaw(ctx context.Context, r *LogView) ([]byte, error) {
-
- u, err := r.getURL(c.Config.BasePath)
- if err != nil {
- return nil, err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
- if err != nil {
- return nil, err
- }
- defer resp.Response.Body.Close()
- b, err := ioutil.ReadAll(resp.Response.Body)
- if err != nil {
- return nil, err
- }
-
- return b, nil
-}
-
-func (c *Client) logViewDiffsForRawDesired(ctx context.Context, rawDesired *LogView, opts ...dcl.ApplyOption) (initial, desired *LogView, diffs []*dcl.FieldDiff, err error) {
- c.Config.Logger.InfoWithContext(ctx, "Fetching initial state...")
- // First, let us see if the user provided a state hint. If they did, we will start fetching based on that.
- var fetchState *LogView
- if sh := dcl.FetchStateHint(opts); sh != nil {
- if r, ok := sh.(*LogView); !ok {
- c.Config.Logger.WarningWithContextf(ctx, "Initial state hint was of the wrong type; expected LogView, got %T", sh)
- } else {
- fetchState = r
- }
- }
- if fetchState == nil {
- fetchState = rawDesired
- }
-
- // 1.2: Retrieval of raw initial state from API
- rawInitial, err := c.GetLogView(ctx, fetchState)
- if rawInitial == nil {
- if !dcl.IsNotFound(err) {
- c.Config.Logger.WarningWithContextf(ctx, "Failed to retrieve whether a LogView resource already exists: %s", err)
- return nil, nil, nil, fmt.Errorf("failed to retrieve LogView resource: %v", err)
- }
- c.Config.Logger.InfoWithContext(ctx, "Found that LogView resource did not exist.")
- // Perform canonicalization to pick up defaults.
- desired, err = canonicalizeLogViewDesiredState(rawDesired, rawInitial)
- return nil, desired, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Found initial state for LogView: %v", rawInitial)
- c.Config.Logger.InfoWithContextf(ctx, "Initial desired state for LogView: %v", rawDesired)
-
- // The Get call applies postReadExtract and so the result may contain fields that are not part of API version.
- if err := extractLogViewFields(rawInitial); err != nil {
- return nil, nil, nil, err
- }
-
- // 1.3: Canonicalize raw initial state into initial state.
- initial, err = canonicalizeLogViewInitialState(rawInitial, rawDesired)
- if err != nil {
- return nil, nil, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalized initial state for LogView: %v", initial)
-
- // 1.4: Canonicalize raw desired state into desired state.
- desired, err = canonicalizeLogViewDesiredState(rawDesired, rawInitial, opts...)
- if err != nil {
- return nil, nil, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalized desired state for LogView: %v", desired)
-
- // 2.1: Comparison of initial and desired state.
- diffs, err = diffLogView(c, desired, initial, opts...)
- return initial, desired, diffs, err
-}
-
-func canonicalizeLogViewInitialState(rawInitial, rawDesired *LogView) (*LogView, error) {
- // TODO(magic-modules-eng): write canonicalizer once relevant traits are added.
- return rawInitial, nil
-}
-
-/*
-* Canonicalizers
-*
-* These are responsible for converting either a user-specified config or a
-* GCP API response to a standard format that can be used for difference checking.
-* */
-
-func canonicalizeLogViewDesiredState(rawDesired, rawInitial *LogView, opts ...dcl.ApplyOption) (*LogView, error) {
-
- if rawInitial == nil {
- // Since the initial state is empty, the desired state is all we have.
- // We canonicalize the remaining nested objects with nil to pick up defaults.
-
- return rawDesired, nil
- }
- canonicalDesired := &LogView{}
- if dcl.PartialSelfLinkToSelfLink(rawDesired.Name, rawInitial.Name) {
- canonicalDesired.Name = rawInitial.Name
- } else {
- canonicalDesired.Name = rawDesired.Name
- }
- if dcl.StringCanonicalize(rawDesired.Description, rawInitial.Description) {
- canonicalDesired.Description = rawInitial.Description
- } else {
- canonicalDesired.Description = rawDesired.Description
- }
- if dcl.StringCanonicalize(rawDesired.Filter, rawInitial.Filter) {
- canonicalDesired.Filter = rawInitial.Filter
- } else {
- canonicalDesired.Filter = rawDesired.Filter
- }
- if dcl.NameToSelfLink(rawDesired.Parent, rawInitial.Parent) {
- canonicalDesired.Parent = rawInitial.Parent
- } else {
- canonicalDesired.Parent = rawDesired.Parent
- }
- if dcl.NameToSelfLink(rawDesired.Location, rawInitial.Location) {
- canonicalDesired.Location = rawInitial.Location
- } else {
- canonicalDesired.Location = rawDesired.Location
- }
- if dcl.NameToSelfLink(rawDesired.Bucket, rawInitial.Bucket) {
- canonicalDesired.Bucket = rawInitial.Bucket
- } else {
- canonicalDesired.Bucket = rawDesired.Bucket
- }
- return canonicalDesired, nil
-}
-
-func canonicalizeLogViewNewState(c *Client, rawNew, rawDesired *LogView) (*LogView, error) {
-
- if dcl.IsEmptyValueIndirect(rawNew.Name) && dcl.IsEmptyValueIndirect(rawDesired.Name) {
- rawNew.Name = rawDesired.Name
- } else {
- if dcl.PartialSelfLinkToSelfLink(rawDesired.Name, rawNew.Name) {
- rawNew.Name = rawDesired.Name
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Description) && dcl.IsEmptyValueIndirect(rawDesired.Description) {
- rawNew.Description = rawDesired.Description
- } else {
- if dcl.StringCanonicalize(rawDesired.Description, rawNew.Description) {
- rawNew.Description = rawDesired.Description
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.CreateTime) && dcl.IsEmptyValueIndirect(rawDesired.CreateTime) {
- rawNew.CreateTime = rawDesired.CreateTime
- } else {
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.UpdateTime) && dcl.IsEmptyValueIndirect(rawDesired.UpdateTime) {
- rawNew.UpdateTime = rawDesired.UpdateTime
- } else {
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Filter) && dcl.IsEmptyValueIndirect(rawDesired.Filter) {
- rawNew.Filter = rawDesired.Filter
- } else {
- if dcl.StringCanonicalize(rawDesired.Filter, rawNew.Filter) {
- rawNew.Filter = rawDesired.Filter
- }
- }
-
- rawNew.Parent = rawDesired.Parent
-
- rawNew.Location = rawDesired.Location
-
- rawNew.Bucket = rawDesired.Bucket
-
- return rawNew, nil
-}
-
-// The differ returns a list of diffs, along with a list of operations that should be taken
-// to remedy them. Right now, it does not attempt to consolidate operations - if several
-// fields can be fixed with a patch update, it will perform the patch several times.
-// Diffs on some fields will be ignored if the `desired` state has an empty (nil)
-// value. This empty value indicates that the user does not care about the state for
-// the field. Empty fields on the actual object will cause diffs.
-// TODO(magic-modules-eng): for efficiency in some resources, add batching.
-func diffLogView(c *Client, desired, actual *LogView, opts ...dcl.ApplyOption) ([]*dcl.FieldDiff, error) {
- if desired == nil || actual == nil {
- return nil, fmt.Errorf("nil resource passed to diff - always a programming error: %#v, %#v", desired, actual)
- }
-
- c.Config.Logger.Infof("Diff function called with desired state: %v", desired)
- c.Config.Logger.Infof("Diff function called with actual state: %v", actual)
-
- var fn dcl.FieldName
- var newDiffs []*dcl.FieldDiff
- // New style diffs.
- if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Name")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Description, actual.Description, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateLogViewUpdateLogViewOperation")}, fn.AddNest("Description")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CreateTime, actual.CreateTime, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("CreateTime")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.UpdateTime, actual.UpdateTime, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("UpdateTime")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateLogViewUpdateLogViewOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Parent, actual.Parent, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Parent")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Location, actual.Location, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Location")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Bucket, actual.Bucket, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Bucket")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if len(newDiffs) > 0 {
- c.Config.Logger.Infof("Diff function found diffs: %v", newDiffs)
- }
- return newDiffs, nil
-}
-
-// urlNormalized returns a copy of the resource struct with values normalized
-// for URL substitutions. For instance, it converts long-form self-links to
-// short-form so they can be substituted in.
-func (r *LogView) urlNormalized() *LogView {
- normalized := dcl.Copy(*r).(LogView)
- normalized.Name = dcl.SelfLinkToName(r.Name)
- normalized.Description = dcl.SelfLinkToName(r.Description)
- normalized.Filter = dcl.SelfLinkToName(r.Filter)
- normalized.Parent = r.Parent
- normalized.Location = dcl.SelfLinkToName(r.Location)
- normalized.Bucket = dcl.SelfLinkToName(r.Bucket)
- return &normalized
-}
-
-func (r *LogView) updateURL(userBasePath, updateName string) (string, error) {
- nr := r.urlNormalized()
- if updateName == "UpdateLogView" {
- fields := map[string]interface{}{
- "location": dcl.ValueOrEmptyString(nr.Location),
- "bucket": dcl.ValueOrEmptyString(nr.Bucket),
- "parent": dcl.ValueOrEmptyString(nr.Parent),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("{{parent}}/locations/{{location}}/buckets/{{bucket}}/views/{{name}}", nr.basePath(), userBasePath, fields), nil
-
- }
-
- return "", fmt.Errorf("unknown update name: %s", updateName)
-}
-
-// marshal encodes the LogView resource into JSON for a Create request, and
-// performs transformations from the resource schema to the API schema if
-// necessary.
-func (r *LogView) marshal(c *Client) ([]byte, error) {
- m, err := expandLogView(c, r)
- if err != nil {
- return nil, fmt.Errorf("error marshalling LogView: %w", err)
- }
-
- return json.Marshal(m)
-}
-
-// unmarshalLogView decodes JSON responses into the LogView resource schema.
-func unmarshalLogView(b []byte, c *Client, res *LogView) (*LogView, error) {
- var m map[string]interface{}
- if err := json.Unmarshal(b, &m); err != nil {
- return nil, err
- }
- return unmarshalMapLogView(m, c, res)
-}
-
-func unmarshalMapLogView(m map[string]interface{}, c *Client, res *LogView) (*LogView, error) {
-
- flattened := flattenLogView(c, m, res)
- if flattened == nil {
- return nil, fmt.Errorf("attempted to flatten empty json object")
- }
- return flattened, nil
-}
-
-// expandLogView expands LogView into a JSON request object.
-func expandLogView(c *Client, f *LogView) (map[string]interface{}, error) {
- m := make(map[string]interface{})
- res := f
- _ = res
- if v, err := dcl.DeriveField("%s/locations/%s/buckets/%s/views/%s", f.Name, f.Parent, dcl.SelfLinkToName(f.Location), dcl.SelfLinkToName(f.Bucket), dcl.SelfLinkToName(f.Name)); err != nil {
- return nil, fmt.Errorf("error expanding Name into name: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["name"] = v
- }
- if v := f.Description; dcl.ValueShouldBeSent(v) {
- m["description"] = v
- }
- if v := f.Filter; dcl.ValueShouldBeSent(v) {
- m["filter"] = v
- }
- if v, err := dcl.EmptyValue(); err != nil {
- return nil, fmt.Errorf("error expanding Parent into parent: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["parent"] = v
- }
- if v, err := dcl.EmptyValue(); err != nil {
- return nil, fmt.Errorf("error expanding Location into location: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["location"] = v
- }
- if v, err := dcl.EmptyValue(); err != nil {
- return nil, fmt.Errorf("error expanding Bucket into bucket: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["bucket"] = v
- }
-
- return m, nil
-}
-
-// flattenLogView flattens LogView from a JSON request object into the
-// LogView type.
-func flattenLogView(c *Client, i interface{}, res *LogView) *LogView {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
- if len(m) == 0 {
- return nil
- }
-
- resultRes := &LogView{}
- resultRes.Name = dcl.FlattenString(m["name"])
- resultRes.Description = dcl.FlattenString(m["description"])
- resultRes.CreateTime = dcl.FlattenString(m["createTime"])
- resultRes.UpdateTime = dcl.FlattenString(m["updateTime"])
- resultRes.Filter = dcl.FlattenString(m["filter"])
- resultRes.Parent = dcl.FlattenString(m["parent"])
- resultRes.Location = dcl.FlattenString(m["location"])
- resultRes.Bucket = dcl.FlattenString(m["bucket"])
-
- return resultRes
-}
-
-// This function returns a matcher that checks whether a serialized resource matches this resource
-// in its parameters (as defined by the fields in a Get, which definitionally define resource
-// identity). This is useful in extracting the element from a List call.
-func (r *LogView) matcher(c *Client) func([]byte) bool {
- return func(b []byte) bool {
- cr, err := unmarshalLogView(b, c, r)
- if err != nil {
- c.Config.Logger.Warning("failed to unmarshal provided resource in matcher.")
- return false
- }
- nr := r.urlNormalized()
- ncr := cr.urlNormalized()
- c.Config.Logger.Infof("looking for %v\nin %v", nr, ncr)
-
- if nr.Location == nil && ncr.Location == nil {
- c.Config.Logger.Info("Both Location fields null - considering equal.")
- } else if nr.Location == nil || ncr.Location == nil {
- c.Config.Logger.Info("Only one Location field is null - considering unequal.")
- return false
- } else if *nr.Location != *ncr.Location {
- return false
- }
- if nr.Bucket == nil && ncr.Bucket == nil {
- c.Config.Logger.Info("Both Bucket fields null - considering equal.")
- } else if nr.Bucket == nil || ncr.Bucket == nil {
- c.Config.Logger.Info("Only one Bucket field is null - considering unequal.")
- return false
- } else if *nr.Bucket != *ncr.Bucket {
- return false
- }
- if nr.Parent == nil && ncr.Parent == nil {
- c.Config.Logger.Info("Both Parent fields null - considering equal.")
- } else if nr.Parent == nil || ncr.Parent == nil {
- c.Config.Logger.Info("Only one Parent field is null - considering unequal.")
- return false
- } else if *nr.Parent != *ncr.Parent {
- return false
- }
- if nr.Name == nil && ncr.Name == nil {
- c.Config.Logger.Info("Both Name fields null - considering equal.")
- } else if nr.Name == nil || ncr.Name == nil {
- c.Config.Logger.Info("Only one Name field is null - considering unequal.")
- return false
- } else if *nr.Name != *ncr.Name {
- return false
- }
- return true
- }
-}
-
-type logViewDiff struct {
- // The diff should include one or the other of RequiresRecreate or UpdateOp.
- RequiresRecreate bool
- UpdateOp logViewApiOperation
- FieldName string // used for error logging
-}
-
-func convertFieldDiffsToLogViewDiffs(config *dcl.Config, fds []*dcl.FieldDiff, opts []dcl.ApplyOption) ([]logViewDiff, error) {
- opNamesToFieldDiffs := make(map[string][]*dcl.FieldDiff)
- // Map each operation name to the field diffs associated with it.
- for _, fd := range fds {
- for _, ro := range fd.ResultingOperation {
- if fieldDiffs, ok := opNamesToFieldDiffs[ro]; ok {
- fieldDiffs = append(fieldDiffs, fd)
- opNamesToFieldDiffs[ro] = fieldDiffs
- } else {
- config.Logger.Infof("%s required due to diff: %v", ro, fd)
- opNamesToFieldDiffs[ro] = []*dcl.FieldDiff{fd}
- }
- }
- }
- var diffs []logViewDiff
- // For each operation name, create a logViewDiff which contains the operation.
- for opName, fieldDiffs := range opNamesToFieldDiffs {
- // Use the first field diff's field name for logging required recreate error.
- diff := logViewDiff{FieldName: fieldDiffs[0].FieldName}
- if opName == "Recreate" {
- diff.RequiresRecreate = true
- } else {
- apiOp, err := convertOpNameToLogViewApiOperation(opName, fieldDiffs, opts...)
- if err != nil {
- return diffs, err
- }
- diff.UpdateOp = apiOp
- }
- diffs = append(diffs, diff)
- }
- return diffs, nil
-}
-
-func convertOpNameToLogViewApiOperation(opName string, fieldDiffs []*dcl.FieldDiff, opts ...dcl.ApplyOption) (logViewApiOperation, error) {
- switch opName {
-
- case "updateLogViewUpdateLogViewOperation":
- return &updateLogViewUpdateLogViewOperation{FieldDiffs: fieldDiffs}, nil
-
- default:
- return nil, fmt.Errorf("no such operation with name: %v", opName)
- }
-}
-
-func extractLogViewFields(r *LogView) error {
- vParent, err := dcl.ValueFromRegexOnField("Parent", r.Parent, r.Bucket, "((projects|folders|organizations|billingAccounts)/[a-z0-9A-Z-]*)/locations/.*")
- if err != nil {
- return err
- }
- r.Parent = vParent
- vLocation, err := dcl.ValueFromRegexOnField("Location", r.Location, r.Bucket, "[a-zA-Z]*/[a-z0-9A-Z-]*/locations/([a-z0-9-]*)/buckets/.*")
- if err != nil {
- return err
- }
- r.Location = vLocation
- return nil
-}
-
-func postReadExtractLogViewFields(r *LogView) error {
- return nil
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_view_schema.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_view_schema.go
deleted file mode 100644
index 214d5127e5..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_view_schema.go
+++ /dev/null
@@ -1,212 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 logging
-
-import (
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-func DCLLogViewSchema() *dcl.Schema {
- return &dcl.Schema{
- Info: &dcl.Info{
- Title: "Logging/LogView",
- Description: "The Logging LogView resource",
- StructName: "LogView",
- },
- Paths: &dcl.Paths{
- Get: &dcl.Path{
- Description: "The function used to get information about a LogView",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "logView",
- Required: true,
- Description: "A full instance of a LogView",
- },
- },
- },
- Apply: &dcl.Path{
- Description: "The function used to apply information about a LogView",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "logView",
- Required: true,
- Description: "A full instance of a LogView",
- },
- },
- },
- Delete: &dcl.Path{
- Description: "The function used to delete a LogView",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "logView",
- Required: true,
- Description: "A full instance of a LogView",
- },
- },
- },
- DeleteAll: &dcl.Path{
- Description: "The function used to delete all LogView",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "location",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- dcl.PathParameters{
- Name: "bucket",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- dcl.PathParameters{
- Name: "parent",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- },
- },
- List: &dcl.Path{
- Description: "The function used to list information about many LogView",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "location",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- dcl.PathParameters{
- Name: "bucket",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- dcl.PathParameters{
- Name: "parent",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- },
- },
- },
- Components: &dcl.Components{
- Schemas: map[string]*dcl.Component{
- "LogView": &dcl.Component{
- Title: "LogView",
- ID: "{{parent}}/locations/{{location}}/buckets/{{bucket}}/views/{{name}}",
- HasCreate: true,
- SchemaProperty: dcl.Property{
- Type: "object",
- Required: []string{
- "name",
- "bucket",
- },
- Properties: map[string]*dcl.Property{
- "bucket": &dcl.Property{
- Type: "string",
- GoName: "Bucket",
- Description: "The bucket of the resource",
- Immutable: true,
- ResourceReferences: []*dcl.PropertyResourceReference{
- &dcl.PropertyResourceReference{
- Resource: "Logging/LogBucket",
- Field: "name",
- Parent: true,
- },
- },
- },
- "createTime": &dcl.Property{
- Type: "string",
- Format: "date-time",
- GoName: "CreateTime",
- ReadOnly: true,
- Description: "Output only. The creation timestamp of the view.",
- Immutable: true,
- },
- "description": &dcl.Property{
- Type: "string",
- GoName: "Description",
- Description: "Describes this view.",
- },
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "Filter that restricts which log entries in a bucket are visible in this view. Filters are restricted to be a logical AND of ==/!= of any of the following: - originating project/folder/organization/billing account. - resource type - log id For example: SOURCE(\"projects/myproject\") AND resource.type = \"gce_instance\" AND LOG_ID(\"stdout\")",
- },
- "location": &dcl.Property{
- Type: "string",
- GoName: "Location",
- Description: "The location of the resource. The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.",
- Immutable: true,
- ExtractIfEmpty: true,
- },
- "name": &dcl.Property{
- Type: "string",
- GoName: "Name",
- Description: "The resource name of the view. For example: `projects/my-project/locations/global/buckets/my-bucket/views/my-view`",
- Immutable: true,
- },
- "parent": &dcl.Property{
- Type: "string",
- GoName: "Parent",
- Description: "The parent of the resource.",
- Immutable: true,
- ForwardSlashAllowed: true,
- ResourceReferences: []*dcl.PropertyResourceReference{
- &dcl.PropertyResourceReference{
- Resource: "Cloudresourcemanager/BillingAccount",
- Field: "name",
- Parent: true,
- },
- &dcl.PropertyResourceReference{
- Resource: "Cloudresourcemanager/Folder",
- Field: "name",
- Parent: true,
- },
- &dcl.PropertyResourceReference{
- Resource: "Cloudresourcemanager/Organization",
- Field: "name",
- Parent: true,
- },
- &dcl.PropertyResourceReference{
- Resource: "Cloudresourcemanager/Project",
- Field: "name",
- Parent: true,
- },
- },
- ExtractIfEmpty: true,
- },
- "updateTime": &dcl.Property{
- Type: "string",
- Format: "date-time",
- GoName: "UpdateTime",
- ReadOnly: true,
- Description: "Output only. The last update timestamp of the view.",
- Immutable: true,
- },
- },
- },
- },
- },
- },
- }
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_view_yaml_embed.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_view_yaml_embed.go
deleted file mode 100644
index 2fd56ad912..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/log_view_yaml_embed.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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.
-// GENERATED BY gen_go_data.go
-// gen_go_data -package logging -var YAML_log_view blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/logging/log_view.yaml
-
-package logging
-
-// blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/logging/log_view.yaml
-var YAML_log_view = []byte("info:\n title: Logging/LogView\n description: The Logging LogView resource\n x-dcl-struct-name: LogView\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a LogView\n parameters:\n - name: logView\n required: true\n description: A full instance of a LogView\n apply:\n description: The function used to apply information about a LogView\n parameters:\n - name: logView\n required: true\n description: A full instance of a LogView\n delete:\n description: The function used to delete a LogView\n parameters:\n - name: logView\n required: true\n description: A full instance of a LogView\n deleteAll:\n description: The function used to delete all LogView\n parameters:\n - name: location\n required: true\n schema:\n type: string\n - name: bucket\n required: true\n schema:\n type: string\n - name: parent\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many LogView\n parameters:\n - name: location\n required: true\n schema:\n type: string\n - name: bucket\n required: true\n schema:\n type: string\n - name: parent\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n LogView:\n title: LogView\n x-dcl-id: '{{parent}}/locations/{{location}}/buckets/{{bucket}}/views/{{name}}'\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - bucket\n properties:\n bucket:\n type: string\n x-dcl-go-name: Bucket\n description: The bucket of the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Logging/LogBucket\n field: name\n parent: true\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Output only. The creation timestamp of the view.\n x-kubernetes-immutable: true\n description:\n type: string\n x-dcl-go-name: Description\n description: Describes this view.\n filter:\n type: string\n x-dcl-go-name: Filter\n description: 'Filter that restricts which log entries in a bucket are visible\n in this view. Filters are restricted to be a logical AND of ==/!= of any\n of the following: - originating project/folder/organization/billing account.\n - resource type - log id For example: SOURCE(\"projects/myproject\") AND\n resource.type = \"gce_instance\" AND LOG_ID(\"stdout\")'\n location:\n type: string\n x-dcl-go-name: Location\n description: 'The location of the resource. The supported locations are:\n global, us-central1, us-east1, us-west1, asia-east1, europe-west1.'\n x-kubernetes-immutable: true\n x-dcl-extract-if-empty: true\n name:\n type: string\n x-dcl-go-name: Name\n description: 'The resource name of the view. For example: `projects/my-project/locations/global/buckets/my-bucket/views/my-view`'\n x-kubernetes-immutable: true\n parent:\n type: string\n x-dcl-go-name: Parent\n description: The parent of the resource.\n x-kubernetes-immutable: true\n x-dcl-forward-slash-allowed: true\n x-dcl-references:\n - resource: Cloudresourcemanager/BillingAccount\n field: name\n parent: true\n - resource: Cloudresourcemanager/Folder\n field: name\n parent: true\n - resource: Cloudresourcemanager/Organization\n field: name\n parent: true\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n x-dcl-extract-if-empty: true\n updateTime:\n type: string\n format: date-time\n x-dcl-go-name: UpdateTime\n readOnly: true\n description: Output only. The last update timestamp of the view.\n x-kubernetes-immutable: true\n")
-
-// 4294 bytes
-// MD5: edba246c77cc6d3cc93aa607c27a6d7c
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/logging_utils.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/logging_utils.go
deleted file mode 100644
index 4e8af2dbad..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/logging/logging_utils.go
+++ /dev/null
@@ -1,108 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 logging provides types and functiosn for handling logging GCP resources.
-package logging
-
-import (
- "bytes"
- "context"
- "fmt"
-
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-// do makes a request to delete a log bucket if the name of the bucket is not
-// "_Default" or "_Required"
-func (op *deleteLogBucketOperation) do(ctx context.Context, r *LogBucket, c *Client) error {
-
- _, err := c.GetLogBucket(ctx, r)
-
- if err != nil {
- if dcl.IsNotFound(err) {
- c.Config.Logger.Infof("LogBucket not found, returning. Original error: %v", err)
- return nil
- }
- c.Config.Logger.Warningf("GetLogBucket checking for existence. error: %v", err)
- return err
- }
-
- if r.Name != nil && (*r.Name == "_Default" || *r.Name == "_Required") {
- return nil
- }
-
- u, err := r.deleteURL(c.Config.BasePath)
- if err != nil {
- return err
- }
-
- // Delete should never have a body
- body := &bytes.Buffer{}
- _, err = dcl.SendRequest(ctx, c.Config, "DELETE", u, body, c.Config.RetryProvider)
- if err != nil {
- return fmt.Errorf("failed to delete LogBucket: %w", err)
- }
- return nil
-}
-
-func equalsLogMetricMetricDescriptorLabelsValueType(m, n *LogMetricMetricDescriptorLabelsValueTypeEnum) bool {
- if m == nil && n == nil {
- return true
- }
- v := *LogMetricMetricDescriptorLabelsValueTypeEnumRef("STRING")
- w := *LogMetricMetricDescriptorLabelsValueTypeEnumRef("")
- if m == nil || *m == w {
- // m is nil or blank, should compare equal to blank or "STRING"
- return n == nil || *n == v || *n == w
- }
- if n == nil || *n == w {
- // n is nil or blank, should compare equal to blank or "STRING"
- return *m == v || *m == w
- }
- return *m == *n
-}
-
-func canonicalizeLogMetricMetricDescriptorLabelsValueType(m, n interface{}) bool {
- if m == nil && n == nil {
- return true
- }
- mVal, _ := m.(*LogMetricMetricDescriptorLabelsValueTypeEnum)
- nVal, _ := n.(*LogMetricMetricDescriptorLabelsValueTypeEnum)
- return equalsLogMetricMetricDescriptorLabelsValueType(mVal, nVal)
-}
-
-func equalsLogMetricMetricDescriptorValueType(m, n *LogMetricMetricDescriptorValueTypeEnum) bool {
- if m == nil && n == nil {
- return true
- }
- v := *LogMetricMetricDescriptorValueTypeEnumRef("STRING")
- w := *LogMetricMetricDescriptorValueTypeEnumRef("")
- if m == nil || *m == w {
- // m is nil or blank, should compare equal to blank or "STRING"
- return n == nil || *n == v || *n == w
- }
- if n == nil || *n == w {
- // n is nil or blank, should compare equal to blank or "STRING"
- return *m == v || *m == w
- }
- return *m == *n
-}
-
-func canonicalizeLogMetricMetricDescriptorValueType(m, n interface{}) bool {
- if m == nil && n == nil {
- return true
- }
- mVal, _ := m.(*LogMetricMetricDescriptorValueTypeEnum)
- nVal, _ := n.(*LogMetricMetricDescriptorValueTypeEnum)
- return equalsLogMetricMetricDescriptorValueType(mVal, nVal)
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/client.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/client.go
deleted file mode 100644
index 8dd920f921..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/client.go
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 monitoring defines operations in the declarative SDK.
-package monitoring
-
-import (
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-// The Client is the base struct of all operations. This will receive the
-// Get, Delete, List, and Apply operations on all resources.
-type Client struct {
- Config *dcl.Config
-}
-
-// NewClient creates a client that retries all operations a few times each.
-func NewClient(c *dcl.Config) *Client {
- return &Client{
- Config: c,
- }
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/dashboard.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/dashboard.go
deleted file mode 100644
index 2a1b9710b9..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/dashboard.go
+++ /dev/null
@@ -1,12861 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 monitoring
-
-import (
- "context"
- "crypto/sha256"
- "encoding/json"
- "fmt"
- "time"
-
- "google.golang.org/api/googleapi"
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-type Dashboard struct {
- Name *string `json:"name"`
- DisplayName *string `json:"displayName"`
- GridLayout *DashboardGridLayout `json:"gridLayout"`
- MosaicLayout *DashboardMosaicLayout `json:"mosaicLayout"`
- RowLayout *DashboardRowLayout `json:"rowLayout"`
- ColumnLayout *DashboardColumnLayout `json:"columnLayout"`
- Project *string `json:"project"`
- Etag *string `json:"etag"`
-}
-
-func (r *Dashboard) String() string {
- return dcl.SprintResource(r)
-}
-
-// The enum DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum.
-type DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum string
-
-// DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumRef returns a *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumRef(s string) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- v := DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum.
-type DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum string
-
-// DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumRef returns a *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumRef(s string) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- v := DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum.
-type DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum string
-
-// DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumRef returns a *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumRef(s string) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- v := DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum.
-type DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum string
-
-// DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumRef returns a *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumRef(s string) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- v := DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum.
-type DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum string
-
-// DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumRef returns a *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumRef(s string) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- v := DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"METHOD_UNSPECIFIED", "METHOD_MEAN", "METHOD_MAX", "METHOD_MIN", "METHOD_SUM", "METHOD_LATEST"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum.
-type DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum string
-
-// DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumRef returns a *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumRef(s string) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- v := DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"DIRECTION_UNSPECIFIED", "TOP", "BOTTOM"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum.
-type DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum string
-
-// DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumRef returns a *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumRef(s string) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- v := DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum.
-type DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum string
-
-// DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumRef returns a *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumRef(s string) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- v := DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum.
-type DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum string
-
-// DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumRef returns a *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumRef(s string) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- v := DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum.
-type DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum string
-
-// DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumRef returns a *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumRef(s string) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- v := DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum.
-type DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum string
-
-// DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumRef returns a *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumRef(s string) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- v := DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum.
-type DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum string
-
-// DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumRef returns a *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumRef(s string) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- v := DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum.
-type DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum string
-
-// DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumRef returns a *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumRef(s string) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- v := DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"METHOD_UNSPECIFIED", "METHOD_MEAN", "METHOD_MAX", "METHOD_MIN", "METHOD_SUM", "METHOD_LATEST"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum.
-type DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum string
-
-// DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumRef returns a *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumRef(s string) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- v := DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"DIRECTION_UNSPECIFIED", "TOP", "BOTTOM"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnum.
-type DashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnum string
-
-// DashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnumRef returns a *DashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnumRef(s string) *DashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnum {
- v := DashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"PLOT_TYPE_UNSPECIFIED", "LINE", "STACKED_AREA", "STACKED_BAR", "HEATMAP"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsXyChartThresholdsColorEnum.
-type DashboardGridLayoutWidgetsXyChartThresholdsColorEnum string
-
-// DashboardGridLayoutWidgetsXyChartThresholdsColorEnumRef returns a *DashboardGridLayoutWidgetsXyChartThresholdsColorEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsXyChartThresholdsColorEnumRef(s string) *DashboardGridLayoutWidgetsXyChartThresholdsColorEnum {
- v := DashboardGridLayoutWidgetsXyChartThresholdsColorEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsXyChartThresholdsColorEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"COLOR_UNSPECIFIED", "GREY", "BLUE", "GREEN", "YELLOW", "ORANGE", "RED"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsXyChartThresholdsColorEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsXyChartThresholdsDirectionEnum.
-type DashboardGridLayoutWidgetsXyChartThresholdsDirectionEnum string
-
-// DashboardGridLayoutWidgetsXyChartThresholdsDirectionEnumRef returns a *DashboardGridLayoutWidgetsXyChartThresholdsDirectionEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsXyChartThresholdsDirectionEnumRef(s string) *DashboardGridLayoutWidgetsXyChartThresholdsDirectionEnum {
- v := DashboardGridLayoutWidgetsXyChartThresholdsDirectionEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsXyChartThresholdsDirectionEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"DIRECTION_UNSPECIFIED", "ABOVE", "BELOW"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsXyChartThresholdsDirectionEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsXyChartXAxisScaleEnum.
-type DashboardGridLayoutWidgetsXyChartXAxisScaleEnum string
-
-// DashboardGridLayoutWidgetsXyChartXAxisScaleEnumRef returns a *DashboardGridLayoutWidgetsXyChartXAxisScaleEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsXyChartXAxisScaleEnumRef(s string) *DashboardGridLayoutWidgetsXyChartXAxisScaleEnum {
- v := DashboardGridLayoutWidgetsXyChartXAxisScaleEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsXyChartXAxisScaleEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"SCALE_UNSPECIFIED", "LINEAR", "LOG10"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsXyChartXAxisScaleEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsXyChartYAxisScaleEnum.
-type DashboardGridLayoutWidgetsXyChartYAxisScaleEnum string
-
-// DashboardGridLayoutWidgetsXyChartYAxisScaleEnumRef returns a *DashboardGridLayoutWidgetsXyChartYAxisScaleEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsXyChartYAxisScaleEnumRef(s string) *DashboardGridLayoutWidgetsXyChartYAxisScaleEnum {
- v := DashboardGridLayoutWidgetsXyChartYAxisScaleEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsXyChartYAxisScaleEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"SCALE_UNSPECIFIED", "LINEAR", "LOG10"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsXyChartYAxisScaleEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsXyChartChartOptionsModeEnum.
-type DashboardGridLayoutWidgetsXyChartChartOptionsModeEnum string
-
-// DashboardGridLayoutWidgetsXyChartChartOptionsModeEnumRef returns a *DashboardGridLayoutWidgetsXyChartChartOptionsModeEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsXyChartChartOptionsModeEnumRef(s string) *DashboardGridLayoutWidgetsXyChartChartOptionsModeEnum {
- v := DashboardGridLayoutWidgetsXyChartChartOptionsModeEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsXyChartChartOptionsModeEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"MODE_UNSPECIFIED", "COLOR", "X_RAY", "STATS"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsXyChartChartOptionsModeEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum.
-type DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum string
-
-// DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumRef returns a *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumRef(s string) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- v := DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum.
-type DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum string
-
-// DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumRef returns a *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumRef(s string) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- v := DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum.
-type DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum string
-
-// DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumRef returns a *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumRef(s string) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- v := DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum.
-type DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum string
-
-// DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumRef returns a *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumRef(s string) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- v := DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum.
-type DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum string
-
-// DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumRef returns a *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumRef(s string) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- v := DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"METHOD_UNSPECIFIED", "METHOD_MEAN", "METHOD_MAX", "METHOD_MIN", "METHOD_SUM", "METHOD_LATEST"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum.
-type DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum string
-
-// DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumRef returns a *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumRef(s string) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- v := DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"DIRECTION_UNSPECIFIED", "TOP", "BOTTOM"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum.
-type DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum string
-
-// DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumRef returns a *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumRef(s string) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- v := DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum.
-type DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum string
-
-// DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumRef returns a *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumRef(s string) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- v := DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum.
-type DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum string
-
-// DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumRef returns a *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumRef(s string) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- v := DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum.
-type DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum string
-
-// DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumRef returns a *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumRef(s string) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- v := DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum.
-type DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum string
-
-// DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumRef returns a *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumRef(s string) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- v := DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum.
-type DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum string
-
-// DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumRef returns a *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumRef(s string) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- v := DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum.
-type DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum string
-
-// DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumRef returns a *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumRef(s string) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- v := DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"METHOD_UNSPECIFIED", "METHOD_MEAN", "METHOD_MAX", "METHOD_MIN", "METHOD_SUM", "METHOD_LATEST"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum.
-type DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum string
-
-// DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumRef returns a *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumRef(s string) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- v := DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"DIRECTION_UNSPECIFIED", "TOP", "BOTTOM"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnum.
-type DashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnum string
-
-// DashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnumRef returns a *DashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnumRef(s string) *DashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnum {
- v := DashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"SPARK_CHART_TYPE_UNSPECIFIED", "SPARK_LINE", "SPARK_BAR"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsScorecardThresholdsColorEnum.
-type DashboardGridLayoutWidgetsScorecardThresholdsColorEnum string
-
-// DashboardGridLayoutWidgetsScorecardThresholdsColorEnumRef returns a *DashboardGridLayoutWidgetsScorecardThresholdsColorEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsScorecardThresholdsColorEnumRef(s string) *DashboardGridLayoutWidgetsScorecardThresholdsColorEnum {
- v := DashboardGridLayoutWidgetsScorecardThresholdsColorEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsScorecardThresholdsColorEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"COLOR_UNSPECIFIED", "GREY", "BLUE", "GREEN", "YELLOW", "ORANGE", "RED"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsScorecardThresholdsColorEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsScorecardThresholdsDirectionEnum.
-type DashboardGridLayoutWidgetsScorecardThresholdsDirectionEnum string
-
-// DashboardGridLayoutWidgetsScorecardThresholdsDirectionEnumRef returns a *DashboardGridLayoutWidgetsScorecardThresholdsDirectionEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsScorecardThresholdsDirectionEnumRef(s string) *DashboardGridLayoutWidgetsScorecardThresholdsDirectionEnum {
- v := DashboardGridLayoutWidgetsScorecardThresholdsDirectionEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsScorecardThresholdsDirectionEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"DIRECTION_UNSPECIFIED", "ABOVE", "BELOW"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsScorecardThresholdsDirectionEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardGridLayoutWidgetsTextFormatEnum.
-type DashboardGridLayoutWidgetsTextFormatEnum string
-
-// DashboardGridLayoutWidgetsTextFormatEnumRef returns a *DashboardGridLayoutWidgetsTextFormatEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardGridLayoutWidgetsTextFormatEnumRef(s string) *DashboardGridLayoutWidgetsTextFormatEnum {
- v := DashboardGridLayoutWidgetsTextFormatEnum(s)
- return &v
-}
-
-func (v DashboardGridLayoutWidgetsTextFormatEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"FORMAT_UNSPECIFIED", "MARKDOWN", "RAW"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardGridLayoutWidgetsTextFormatEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum.
-type DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum string
-
-// DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumRef returns a *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumRef(s string) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- v := DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum.
-type DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum string
-
-// DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumRef returns a *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumRef(s string) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- v := DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum.
-type DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum string
-
-// DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumRef returns a *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumRef(s string) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- v := DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum.
-type DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum string
-
-// DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumRef returns a *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumRef(s string) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- v := DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum.
-type DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum string
-
-// DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumRef returns a *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumRef(s string) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- v := DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"METHOD_UNSPECIFIED", "METHOD_MEAN", "METHOD_MAX", "METHOD_MIN", "METHOD_SUM", "METHOD_LATEST"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum.
-type DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum string
-
-// DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumRef returns a *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumRef(s string) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- v := DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"DIRECTION_UNSPECIFIED", "TOP", "BOTTOM"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum.
-type DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum string
-
-// DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumRef returns a *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumRef(s string) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- v := DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum.
-type DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum string
-
-// DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumRef returns a *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumRef(s string) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- v := DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum.
-type DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum string
-
-// DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumRef returns a *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumRef(s string) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- v := DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum.
-type DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum string
-
-// DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumRef returns a *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumRef(s string) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- v := DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum.
-type DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum string
-
-// DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumRef returns a *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumRef(s string) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- v := DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum.
-type DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum string
-
-// DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumRef returns a *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumRef(s string) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- v := DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum.
-type DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum string
-
-// DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumRef returns a *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumRef(s string) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- v := DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"METHOD_UNSPECIFIED", "METHOD_MEAN", "METHOD_MAX", "METHOD_MIN", "METHOD_SUM", "METHOD_LATEST"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum.
-type DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum string
-
-// DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumRef returns a *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumRef(s string) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- v := DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"DIRECTION_UNSPECIFIED", "TOP", "BOTTOM"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnum.
-type DashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnum string
-
-// DashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnumRef returns a *DashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnumRef(s string) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnum {
- v := DashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"PLOT_TYPE_UNSPECIFIED", "LINE", "STACKED_AREA", "STACKED_BAR", "HEATMAP"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnum.
-type DashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnum string
-
-// DashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnumRef returns a *DashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnumRef(s string) *DashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnum {
- v := DashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"COLOR_UNSPECIFIED", "GREY", "BLUE", "GREEN", "YELLOW", "ORANGE", "RED"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnum.
-type DashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnum string
-
-// DashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnumRef returns a *DashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnumRef(s string) *DashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnum {
- v := DashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"DIRECTION_UNSPECIFIED", "ABOVE", "BELOW"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnum.
-type DashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnum string
-
-// DashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnumRef returns a *DashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnumRef(s string) *DashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnum {
- v := DashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"SCALE_UNSPECIFIED", "LINEAR", "LOG10"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnum.
-type DashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnum string
-
-// DashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnumRef returns a *DashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnumRef(s string) *DashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnum {
- v := DashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"SCALE_UNSPECIFIED", "LINEAR", "LOG10"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnum.
-type DashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnum string
-
-// DashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnumRef returns a *DashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnumRef(s string) *DashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnum {
- v := DashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"MODE_UNSPECIFIED", "COLOR", "X_RAY", "STATS"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum.
-type DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum string
-
-// DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumRef returns a *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumRef(s string) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- v := DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum.
-type DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum string
-
-// DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumRef returns a *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumRef(s string) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- v := DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum.
-type DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum string
-
-// DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumRef returns a *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumRef(s string) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- v := DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum.
-type DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum string
-
-// DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumRef returns a *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumRef(s string) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- v := DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum.
-type DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum string
-
-// DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumRef returns a *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumRef(s string) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- v := DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"METHOD_UNSPECIFIED", "METHOD_MEAN", "METHOD_MAX", "METHOD_MIN", "METHOD_SUM", "METHOD_LATEST"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum.
-type DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum string
-
-// DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumRef returns a *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumRef(s string) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- v := DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"DIRECTION_UNSPECIFIED", "TOP", "BOTTOM"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum.
-type DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum string
-
-// DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumRef returns a *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumRef(s string) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- v := DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum.
-type DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum string
-
-// DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumRef returns a *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumRef(s string) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- v := DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum.
-type DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum string
-
-// DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumRef returns a *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumRef(s string) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- v := DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum.
-type DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum string
-
-// DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumRef returns a *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumRef(s string) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- v := DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum.
-type DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum string
-
-// DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumRef returns a *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumRef(s string) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- v := DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum.
-type DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum string
-
-// DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumRef returns a *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumRef(s string) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- v := DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum.
-type DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum string
-
-// DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumRef returns a *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumRef(s string) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- v := DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"METHOD_UNSPECIFIED", "METHOD_MEAN", "METHOD_MAX", "METHOD_MIN", "METHOD_SUM", "METHOD_LATEST"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum.
-type DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum string
-
-// DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumRef returns a *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumRef(s string) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- v := DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"DIRECTION_UNSPECIFIED", "TOP", "BOTTOM"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnum.
-type DashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnum string
-
-// DashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnumRef returns a *DashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnumRef(s string) *DashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnum {
- v := DashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"SPARK_CHART_TYPE_UNSPECIFIED", "SPARK_LINE", "SPARK_BAR"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnum.
-type DashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnum string
-
-// DashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnumRef returns a *DashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnumRef(s string) *DashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnum {
- v := DashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"COLOR_UNSPECIFIED", "GREY", "BLUE", "GREEN", "YELLOW", "ORANGE", "RED"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnum.
-type DashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnum string
-
-// DashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnumRef returns a *DashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnumRef(s string) *DashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnum {
- v := DashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"DIRECTION_UNSPECIFIED", "ABOVE", "BELOW"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardMosaicLayoutTilesWidgetTextFormatEnum.
-type DashboardMosaicLayoutTilesWidgetTextFormatEnum string
-
-// DashboardMosaicLayoutTilesWidgetTextFormatEnumRef returns a *DashboardMosaicLayoutTilesWidgetTextFormatEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardMosaicLayoutTilesWidgetTextFormatEnumRef(s string) *DashboardMosaicLayoutTilesWidgetTextFormatEnum {
- v := DashboardMosaicLayoutTilesWidgetTextFormatEnum(s)
- return &v
-}
-
-func (v DashboardMosaicLayoutTilesWidgetTextFormatEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"FORMAT_UNSPECIFIED", "MARKDOWN", "RAW"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardMosaicLayoutTilesWidgetTextFormatEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum.
-type DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum string
-
-// DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumRef returns a *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumRef(s string) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- v := DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum.
-type DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum string
-
-// DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumRef returns a *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumRef(s string) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- v := DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum.
-type DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum string
-
-// DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumRef returns a *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumRef(s string) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- v := DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum.
-type DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum string
-
-// DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumRef returns a *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumRef(s string) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- v := DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum.
-type DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum string
-
-// DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumRef returns a *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumRef(s string) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- v := DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"METHOD_UNSPECIFIED", "METHOD_MEAN", "METHOD_MAX", "METHOD_MIN", "METHOD_SUM", "METHOD_LATEST"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum.
-type DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum string
-
-// DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumRef returns a *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumRef(s string) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- v := DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"DIRECTION_UNSPECIFIED", "TOP", "BOTTOM"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum.
-type DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum string
-
-// DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumRef returns a *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumRef(s string) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- v := DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum.
-type DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum string
-
-// DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumRef returns a *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumRef(s string) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- v := DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum.
-type DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum string
-
-// DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumRef returns a *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumRef(s string) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- v := DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum.
-type DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum string
-
-// DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumRef returns a *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumRef(s string) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- v := DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum.
-type DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum string
-
-// DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumRef returns a *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumRef(s string) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- v := DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum.
-type DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum string
-
-// DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumRef returns a *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumRef(s string) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- v := DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum.
-type DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum string
-
-// DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumRef returns a *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumRef(s string) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- v := DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"METHOD_UNSPECIFIED", "METHOD_MEAN", "METHOD_MAX", "METHOD_MIN", "METHOD_SUM", "METHOD_LATEST"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum.
-type DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum string
-
-// DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumRef returns a *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumRef(s string) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- v := DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"DIRECTION_UNSPECIFIED", "TOP", "BOTTOM"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnum.
-type DashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnum string
-
-// DashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnumRef returns a *DashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnumRef(s string) *DashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnum {
- v := DashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"PLOT_TYPE_UNSPECIFIED", "LINE", "STACKED_AREA", "STACKED_BAR", "HEATMAP"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnum.
-type DashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnum string
-
-// DashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnumRef returns a *DashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnumRef(s string) *DashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnum {
- v := DashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"COLOR_UNSPECIFIED", "GREY", "BLUE", "GREEN", "YELLOW", "ORANGE", "RED"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnum.
-type DashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnum string
-
-// DashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnumRef returns a *DashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnumRef(s string) *DashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnum {
- v := DashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"DIRECTION_UNSPECIFIED", "ABOVE", "BELOW"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnum.
-type DashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnum string
-
-// DashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnumRef returns a *DashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnumRef(s string) *DashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnum {
- v := DashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"SCALE_UNSPECIFIED", "LINEAR", "LOG10"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnum.
-type DashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnum string
-
-// DashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnumRef returns a *DashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnumRef(s string) *DashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnum {
- v := DashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"SCALE_UNSPECIFIED", "LINEAR", "LOG10"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnum.
-type DashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnum string
-
-// DashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnumRef returns a *DashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnumRef(s string) *DashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnum {
- v := DashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"MODE_UNSPECIFIED", "COLOR", "X_RAY", "STATS"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum.
-type DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum string
-
-// DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumRef returns a *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumRef(s string) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- v := DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum.
-type DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum string
-
-// DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumRef returns a *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumRef(s string) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- v := DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum.
-type DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum string
-
-// DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumRef returns a *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumRef(s string) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- v := DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum.
-type DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum string
-
-// DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumRef returns a *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumRef(s string) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- v := DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum.
-type DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum string
-
-// DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumRef returns a *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumRef(s string) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- v := DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"METHOD_UNSPECIFIED", "METHOD_MEAN", "METHOD_MAX", "METHOD_MIN", "METHOD_SUM", "METHOD_LATEST"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum.
-type DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum string
-
-// DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumRef returns a *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumRef(s string) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- v := DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"DIRECTION_UNSPECIFIED", "TOP", "BOTTOM"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum.
-type DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum string
-
-// DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumRef returns a *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumRef(s string) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- v := DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum.
-type DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum string
-
-// DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumRef returns a *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumRef(s string) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- v := DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum.
-type DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum string
-
-// DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumRef returns a *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumRef(s string) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- v := DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum.
-type DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum string
-
-// DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumRef returns a *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumRef(s string) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- v := DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum.
-type DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum string
-
-// DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumRef returns a *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumRef(s string) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- v := DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum.
-type DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum string
-
-// DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumRef returns a *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumRef(s string) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- v := DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum.
-type DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum string
-
-// DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumRef returns a *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumRef(s string) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- v := DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"METHOD_UNSPECIFIED", "METHOD_MEAN", "METHOD_MAX", "METHOD_MIN", "METHOD_SUM", "METHOD_LATEST"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum.
-type DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum string
-
-// DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumRef returns a *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumRef(s string) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- v := DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"DIRECTION_UNSPECIFIED", "TOP", "BOTTOM"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnum.
-type DashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnum string
-
-// DashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnumRef returns a *DashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnumRef(s string) *DashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnum {
- v := DashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"SPARK_CHART_TYPE_UNSPECIFIED", "SPARK_LINE", "SPARK_BAR"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnum.
-type DashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnum string
-
-// DashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnumRef returns a *DashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnumRef(s string) *DashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnum {
- v := DashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"COLOR_UNSPECIFIED", "GREY", "BLUE", "GREEN", "YELLOW", "ORANGE", "RED"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnum.
-type DashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnum string
-
-// DashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnumRef returns a *DashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnumRef(s string) *DashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnum {
- v := DashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"DIRECTION_UNSPECIFIED", "ABOVE", "BELOW"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardRowLayoutRowsWidgetsTextFormatEnum.
-type DashboardRowLayoutRowsWidgetsTextFormatEnum string
-
-// DashboardRowLayoutRowsWidgetsTextFormatEnumRef returns a *DashboardRowLayoutRowsWidgetsTextFormatEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardRowLayoutRowsWidgetsTextFormatEnumRef(s string) *DashboardRowLayoutRowsWidgetsTextFormatEnum {
- v := DashboardRowLayoutRowsWidgetsTextFormatEnum(s)
- return &v
-}
-
-func (v DashboardRowLayoutRowsWidgetsTextFormatEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"FORMAT_UNSPECIFIED", "MARKDOWN", "RAW"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardRowLayoutRowsWidgetsTextFormatEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum.
-type DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum string
-
-// DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumRef returns a *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- v := DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum.
-type DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum string
-
-// DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumRef returns a *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- v := DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum.
-type DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum string
-
-// DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumRef returns a *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- v := DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum.
-type DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum string
-
-// DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumRef returns a *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- v := DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum.
-type DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum string
-
-// DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumRef returns a *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- v := DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"METHOD_UNSPECIFIED", "METHOD_MEAN", "METHOD_MAX", "METHOD_MIN", "METHOD_SUM", "METHOD_LATEST"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum.
-type DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum string
-
-// DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumRef returns a *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- v := DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"DIRECTION_UNSPECIFIED", "TOP", "BOTTOM"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum.
-type DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum string
-
-// DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumRef returns a *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- v := DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum.
-type DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum string
-
-// DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumRef returns a *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- v := DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum.
-type DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum string
-
-// DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumRef returns a *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- v := DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum.
-type DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum string
-
-// DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumRef returns a *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- v := DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum.
-type DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum string
-
-// DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumRef returns a *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- v := DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum.
-type DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum string
-
-// DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumRef returns a *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- v := DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum.
-type DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum string
-
-// DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumRef returns a *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- v := DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"METHOD_UNSPECIFIED", "METHOD_MEAN", "METHOD_MAX", "METHOD_MIN", "METHOD_SUM", "METHOD_LATEST"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum.
-type DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum string
-
-// DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumRef returns a *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- v := DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"DIRECTION_UNSPECIFIED", "TOP", "BOTTOM"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnum.
-type DashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnum string
-
-// DashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnumRef returns a *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnum {
- v := DashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"PLOT_TYPE_UNSPECIFIED", "LINE", "STACKED_AREA", "STACKED_BAR", "HEATMAP"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnum.
-type DashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnum string
-
-// DashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnumRef returns a *DashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnum {
- v := DashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"COLOR_UNSPECIFIED", "GREY", "BLUE", "GREEN", "YELLOW", "ORANGE", "RED"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnum.
-type DashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnum string
-
-// DashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnumRef returns a *DashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnum {
- v := DashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"DIRECTION_UNSPECIFIED", "ABOVE", "BELOW"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnum.
-type DashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnum string
-
-// DashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnumRef returns a *DashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnum {
- v := DashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"SCALE_UNSPECIFIED", "LINEAR", "LOG10"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnum.
-type DashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnum string
-
-// DashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnumRef returns a *DashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnum {
- v := DashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"SCALE_UNSPECIFIED", "LINEAR", "LOG10"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnum.
-type DashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnum string
-
-// DashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnumRef returns a *DashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnum {
- v := DashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"MODE_UNSPECIFIED", "COLOR", "X_RAY", "STATS"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum.
-type DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum string
-
-// DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumRef returns a *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- v := DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum.
-type DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum string
-
-// DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumRef returns a *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- v := DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum.
-type DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum string
-
-// DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumRef returns a *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- v := DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum.
-type DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum string
-
-// DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumRef returns a *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- v := DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum.
-type DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum string
-
-// DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumRef returns a *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- v := DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"METHOD_UNSPECIFIED", "METHOD_MEAN", "METHOD_MAX", "METHOD_MIN", "METHOD_SUM", "METHOD_LATEST"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum.
-type DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum string
-
-// DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumRef returns a *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- v := DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"DIRECTION_UNSPECIFIED", "TOP", "BOTTOM"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum.
-type DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum string
-
-// DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumRef returns a *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- v := DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum.
-type DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum string
-
-// DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumRef returns a *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- v := DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum.
-type DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum string
-
-// DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumRef returns a *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- v := DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum.
-type DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum string
-
-// DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumRef returns a *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- v := DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum.
-type DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum string
-
-// DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumRef returns a *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- v := DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_MAKE_DISTRIBUTION", "ALIGN_PERCENT_CHANGE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum.
-type DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum string
-
-// DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumRef returns a *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- v := DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05", "REDUCE_FRACTION_LESS_THAN", "REDUCE_MAKE_DISTRIBUTION"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum.
-type DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum string
-
-// DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumRef returns a *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- v := DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"METHOD_UNSPECIFIED", "METHOD_MEAN", "METHOD_MAX", "METHOD_MIN", "METHOD_SUM", "METHOD_LATEST"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum.
-type DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum string
-
-// DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumRef returns a *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- v := DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"DIRECTION_UNSPECIFIED", "TOP", "BOTTOM"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnum.
-type DashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnum string
-
-// DashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnumRef returns a *DashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnum {
- v := DashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"SPARK_CHART_TYPE_UNSPECIFIED", "SPARK_LINE", "SPARK_BAR"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnum.
-type DashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnum string
-
-// DashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnumRef returns a *DashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnum {
- v := DashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"COLOR_UNSPECIFIED", "GREY", "BLUE", "GREEN", "YELLOW", "ORANGE", "RED"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnum.
-type DashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnum string
-
-// DashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnumRef returns a *DashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnum {
- v := DashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"DIRECTION_UNSPECIFIED", "ABOVE", "BELOW"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum DashboardColumnLayoutColumnsWidgetsTextFormatEnum.
-type DashboardColumnLayoutColumnsWidgetsTextFormatEnum string
-
-// DashboardColumnLayoutColumnsWidgetsTextFormatEnumRef returns a *DashboardColumnLayoutColumnsWidgetsTextFormatEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func DashboardColumnLayoutColumnsWidgetsTextFormatEnumRef(s string) *DashboardColumnLayoutColumnsWidgetsTextFormatEnum {
- v := DashboardColumnLayoutColumnsWidgetsTextFormatEnum(s)
- return &v
-}
-
-func (v DashboardColumnLayoutColumnsWidgetsTextFormatEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"FORMAT_UNSPECIFIED", "MARKDOWN", "RAW"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "DashboardColumnLayoutColumnsWidgetsTextFormatEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-type DashboardGridLayout struct {
- empty bool `json:"-"`
- Columns *int64 `json:"columns"`
- Widgets []DashboardGridLayoutWidgets `json:"widgets"`
-}
-
-type jsonDashboardGridLayout DashboardGridLayout
-
-func (r *DashboardGridLayout) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayout
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayout
- } else {
-
- r.Columns = res.Columns
-
- r.Widgets = res.Widgets
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayout is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayout *DashboardGridLayout = &DashboardGridLayout{empty: true}
-
-func (r *DashboardGridLayout) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayout) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayout) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgets struct {
- empty bool `json:"-"`
- Title *string `json:"title"`
- XyChart *DashboardGridLayoutWidgetsXyChart `json:"xyChart"`
- Scorecard *DashboardGridLayoutWidgetsScorecard `json:"scorecard"`
- Text *DashboardGridLayoutWidgetsText `json:"text"`
- Blank *DashboardGridLayoutWidgetsBlank `json:"blank"`
- LogsPanel *DashboardGridLayoutWidgetsLogsPanel `json:"logsPanel"`
-}
-
-type jsonDashboardGridLayoutWidgets DashboardGridLayoutWidgets
-
-func (r *DashboardGridLayoutWidgets) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgets
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgets
- } else {
-
- r.Title = res.Title
-
- r.XyChart = res.XyChart
-
- r.Scorecard = res.Scorecard
-
- r.Text = res.Text
-
- r.Blank = res.Blank
-
- r.LogsPanel = res.LogsPanel
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgets is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgets *DashboardGridLayoutWidgets = &DashboardGridLayoutWidgets{empty: true}
-
-func (r *DashboardGridLayoutWidgets) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgets) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgets) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsXyChart struct {
- empty bool `json:"-"`
- DataSets []DashboardGridLayoutWidgetsXyChartDataSets `json:"dataSets"`
- TimeshiftDuration *string `json:"timeshiftDuration"`
- Thresholds []DashboardGridLayoutWidgetsXyChartThresholds `json:"thresholds"`
- XAxis *DashboardGridLayoutWidgetsXyChartXAxis `json:"xAxis"`
- YAxis *DashboardGridLayoutWidgetsXyChartYAxis `json:"yAxis"`
- ChartOptions *DashboardGridLayoutWidgetsXyChartChartOptions `json:"chartOptions"`
-}
-
-type jsonDashboardGridLayoutWidgetsXyChart DashboardGridLayoutWidgetsXyChart
-
-func (r *DashboardGridLayoutWidgetsXyChart) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsXyChart
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsXyChart
- } else {
-
- r.DataSets = res.DataSets
-
- r.TimeshiftDuration = res.TimeshiftDuration
-
- r.Thresholds = res.Thresholds
-
- r.XAxis = res.XAxis
-
- r.YAxis = res.YAxis
-
- r.ChartOptions = res.ChartOptions
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsXyChart is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsXyChart *DashboardGridLayoutWidgetsXyChart = &DashboardGridLayoutWidgetsXyChart{empty: true}
-
-func (r *DashboardGridLayoutWidgetsXyChart) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsXyChart) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsXyChart) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsXyChartDataSets struct {
- empty bool `json:"-"`
- TimeSeriesQuery *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery `json:"timeSeriesQuery"`
- PlotType *DashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnum `json:"plotType"`
- LegendTemplate *string `json:"legendTemplate"`
- MinAlignmentPeriod *string `json:"minAlignmentPeriod"`
-}
-
-type jsonDashboardGridLayoutWidgetsXyChartDataSets DashboardGridLayoutWidgetsXyChartDataSets
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSets) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsXyChartDataSets
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsXyChartDataSets
- } else {
-
- r.TimeSeriesQuery = res.TimeSeriesQuery
-
- r.PlotType = res.PlotType
-
- r.LegendTemplate = res.LegendTemplate
-
- r.MinAlignmentPeriod = res.MinAlignmentPeriod
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsXyChartDataSets is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsXyChartDataSets *DashboardGridLayoutWidgetsXyChartDataSets = &DashboardGridLayoutWidgetsXyChartDataSets{empty: true}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSets) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSets) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSets) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery struct {
- empty bool `json:"-"`
- TimeSeriesFilter *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter `json:"timeSeriesFilter"`
- TimeSeriesFilterRatio *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio `json:"timeSeriesFilterRatio"`
- TimeSeriesQueryLanguage *string `json:"timeSeriesQueryLanguage"`
- UnitOverride *string `json:"unitOverride"`
-}
-
-type jsonDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery
- } else {
-
- r.TimeSeriesFilter = res.TimeSeriesFilter
-
- r.TimeSeriesFilterRatio = res.TimeSeriesFilterRatio
-
- r.TimeSeriesQueryLanguage = res.TimeSeriesQueryLanguage
-
- r.UnitOverride = res.UnitOverride
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery{empty: true}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter struct {
- empty bool `json:"-"`
- Filter *string `json:"filter"`
- Aggregation *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation `json:"aggregation"`
- SecondaryAggregation *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation `json:"secondaryAggregation"`
- PickTimeSeriesFilter *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter `json:"pickTimeSeriesFilter"`
-}
-
-type jsonDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
- } else {
-
- r.Filter = res.Filter
-
- r.Aggregation = res.Aggregation
-
- r.SecondaryAggregation = res.SecondaryAggregation
-
- r.PickTimeSeriesFilter = res.PickTimeSeriesFilter
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{empty: true}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{empty: true}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{empty: true}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter struct {
- empty bool `json:"-"`
- RankingMethod *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum `json:"rankingMethod"`
- NumTimeSeries *int64 `json:"numTimeSeries"`
- Direction *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum `json:"direction"`
-}
-
-type jsonDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- } else {
-
- r.RankingMethod = res.RankingMethod
-
- r.NumTimeSeries = res.NumTimeSeries
-
- r.Direction = res.Direction
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{empty: true}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio struct {
- empty bool `json:"-"`
- Numerator *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator `json:"numerator"`
- Denominator *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator `json:"denominator"`
- SecondaryAggregation *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation `json:"secondaryAggregation"`
- PickTimeSeriesFilter *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter `json:"pickTimeSeriesFilter"`
-}
-
-type jsonDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
- } else {
-
- r.Numerator = res.Numerator
-
- r.Denominator = res.Denominator
-
- r.SecondaryAggregation = res.SecondaryAggregation
-
- r.PickTimeSeriesFilter = res.PickTimeSeriesFilter
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{empty: true}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator struct {
- empty bool `json:"-"`
- Filter *string `json:"filter"`
- Aggregation *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation `json:"aggregation"`
-}
-
-type jsonDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
- } else {
-
- r.Filter = res.Filter
-
- r.Aggregation = res.Aggregation
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{empty: true}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{empty: true}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator struct {
- empty bool `json:"-"`
- Filter *string `json:"filter"`
- Aggregation *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation `json:"aggregation"`
-}
-
-type jsonDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
- } else {
-
- r.Filter = res.Filter
-
- r.Aggregation = res.Aggregation
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{empty: true}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{empty: true}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{empty: true}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter struct {
- empty bool `json:"-"`
- RankingMethod *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum `json:"rankingMethod"`
- NumTimeSeries *int64 `json:"numTimeSeries"`
- Direction *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum `json:"direction"`
-}
-
-type jsonDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- } else {
-
- r.RankingMethod = res.RankingMethod
-
- r.NumTimeSeries = res.NumTimeSeries
-
- r.Direction = res.Direction
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{empty: true}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsXyChartThresholds struct {
- empty bool `json:"-"`
- Label *string `json:"label"`
- Value *float64 `json:"value"`
- Color *DashboardGridLayoutWidgetsXyChartThresholdsColorEnum `json:"color"`
- Direction *DashboardGridLayoutWidgetsXyChartThresholdsDirectionEnum `json:"direction"`
-}
-
-type jsonDashboardGridLayoutWidgetsXyChartThresholds DashboardGridLayoutWidgetsXyChartThresholds
-
-func (r *DashboardGridLayoutWidgetsXyChartThresholds) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsXyChartThresholds
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsXyChartThresholds
- } else {
-
- r.Label = res.Label
-
- r.Value = res.Value
-
- r.Color = res.Color
-
- r.Direction = res.Direction
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsXyChartThresholds is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsXyChartThresholds *DashboardGridLayoutWidgetsXyChartThresholds = &DashboardGridLayoutWidgetsXyChartThresholds{empty: true}
-
-func (r *DashboardGridLayoutWidgetsXyChartThresholds) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartThresholds) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartThresholds) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsXyChartXAxis struct {
- empty bool `json:"-"`
- Label *string `json:"label"`
- Scale *DashboardGridLayoutWidgetsXyChartXAxisScaleEnum `json:"scale"`
-}
-
-type jsonDashboardGridLayoutWidgetsXyChartXAxis DashboardGridLayoutWidgetsXyChartXAxis
-
-func (r *DashboardGridLayoutWidgetsXyChartXAxis) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsXyChartXAxis
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsXyChartXAxis
- } else {
-
- r.Label = res.Label
-
- r.Scale = res.Scale
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsXyChartXAxis is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsXyChartXAxis *DashboardGridLayoutWidgetsXyChartXAxis = &DashboardGridLayoutWidgetsXyChartXAxis{empty: true}
-
-func (r *DashboardGridLayoutWidgetsXyChartXAxis) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartXAxis) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartXAxis) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsXyChartYAxis struct {
- empty bool `json:"-"`
- Label *string `json:"label"`
- Scale *DashboardGridLayoutWidgetsXyChartYAxisScaleEnum `json:"scale"`
-}
-
-type jsonDashboardGridLayoutWidgetsXyChartYAxis DashboardGridLayoutWidgetsXyChartYAxis
-
-func (r *DashboardGridLayoutWidgetsXyChartYAxis) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsXyChartYAxis
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsXyChartYAxis
- } else {
-
- r.Label = res.Label
-
- r.Scale = res.Scale
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsXyChartYAxis is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsXyChartYAxis *DashboardGridLayoutWidgetsXyChartYAxis = &DashboardGridLayoutWidgetsXyChartYAxis{empty: true}
-
-func (r *DashboardGridLayoutWidgetsXyChartYAxis) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartYAxis) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartYAxis) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsXyChartChartOptions struct {
- empty bool `json:"-"`
- Mode *DashboardGridLayoutWidgetsXyChartChartOptionsModeEnum `json:"mode"`
-}
-
-type jsonDashboardGridLayoutWidgetsXyChartChartOptions DashboardGridLayoutWidgetsXyChartChartOptions
-
-func (r *DashboardGridLayoutWidgetsXyChartChartOptions) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsXyChartChartOptions
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsXyChartChartOptions
- } else {
-
- r.Mode = res.Mode
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsXyChartChartOptions is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsXyChartChartOptions *DashboardGridLayoutWidgetsXyChartChartOptions = &DashboardGridLayoutWidgetsXyChartChartOptions{empty: true}
-
-func (r *DashboardGridLayoutWidgetsXyChartChartOptions) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartChartOptions) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsXyChartChartOptions) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsScorecard struct {
- empty bool `json:"-"`
- TimeSeriesQuery *DashboardGridLayoutWidgetsScorecardTimeSeriesQuery `json:"timeSeriesQuery"`
- GaugeView *DashboardGridLayoutWidgetsScorecardGaugeView `json:"gaugeView"`
- SparkChartView *DashboardGridLayoutWidgetsScorecardSparkChartView `json:"sparkChartView"`
- Thresholds []DashboardGridLayoutWidgetsScorecardThresholds `json:"thresholds"`
-}
-
-type jsonDashboardGridLayoutWidgetsScorecard DashboardGridLayoutWidgetsScorecard
-
-func (r *DashboardGridLayoutWidgetsScorecard) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsScorecard
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsScorecard
- } else {
-
- r.TimeSeriesQuery = res.TimeSeriesQuery
-
- r.GaugeView = res.GaugeView
-
- r.SparkChartView = res.SparkChartView
-
- r.Thresholds = res.Thresholds
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsScorecard is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsScorecard *DashboardGridLayoutWidgetsScorecard = &DashboardGridLayoutWidgetsScorecard{empty: true}
-
-func (r *DashboardGridLayoutWidgetsScorecard) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsScorecard) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsScorecard) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsScorecardTimeSeriesQuery struct {
- empty bool `json:"-"`
- TimeSeriesFilter *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter `json:"timeSeriesFilter"`
- TimeSeriesFilterRatio *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio `json:"timeSeriesFilterRatio"`
- TimeSeriesQueryLanguage *string `json:"timeSeriesQueryLanguage"`
- UnitOverride *string `json:"unitOverride"`
-}
-
-type jsonDashboardGridLayoutWidgetsScorecardTimeSeriesQuery DashboardGridLayoutWidgetsScorecardTimeSeriesQuery
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQuery) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsScorecardTimeSeriesQuery
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQuery
- } else {
-
- r.TimeSeriesFilter = res.TimeSeriesFilter
-
- r.TimeSeriesFilterRatio = res.TimeSeriesFilterRatio
-
- r.TimeSeriesQueryLanguage = res.TimeSeriesQueryLanguage
-
- r.UnitOverride = res.UnitOverride
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsScorecardTimeSeriesQuery is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQuery *DashboardGridLayoutWidgetsScorecardTimeSeriesQuery = &DashboardGridLayoutWidgetsScorecardTimeSeriesQuery{empty: true}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQuery) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQuery) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQuery) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter struct {
- empty bool `json:"-"`
- Filter *string `json:"filter"`
- Aggregation *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation `json:"aggregation"`
- SecondaryAggregation *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation `json:"secondaryAggregation"`
- PickTimeSeriesFilter *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter `json:"pickTimeSeriesFilter"`
-}
-
-type jsonDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter
- } else {
-
- r.Filter = res.Filter
-
- r.Aggregation = res.Aggregation
-
- r.SecondaryAggregation = res.SecondaryAggregation
-
- r.PickTimeSeriesFilter = res.PickTimeSeriesFilter
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter{empty: true}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation{empty: true}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{empty: true}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter struct {
- empty bool `json:"-"`
- RankingMethod *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum `json:"rankingMethod"`
- NumTimeSeries *int64 `json:"numTimeSeries"`
- Direction *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum `json:"direction"`
-}
-
-type jsonDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- } else {
-
- r.RankingMethod = res.RankingMethod
-
- r.NumTimeSeries = res.NumTimeSeries
-
- r.Direction = res.Direction
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{empty: true}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio struct {
- empty bool `json:"-"`
- Numerator *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator `json:"numerator"`
- Denominator *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator `json:"denominator"`
- SecondaryAggregation *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation `json:"secondaryAggregation"`
- PickTimeSeriesFilter *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter `json:"pickTimeSeriesFilter"`
-}
-
-type jsonDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio
- } else {
-
- r.Numerator = res.Numerator
-
- r.Denominator = res.Denominator
-
- r.SecondaryAggregation = res.SecondaryAggregation
-
- r.PickTimeSeriesFilter = res.PickTimeSeriesFilter
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio{empty: true}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator struct {
- empty bool `json:"-"`
- Filter *string `json:"filter"`
- Aggregation *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation `json:"aggregation"`
-}
-
-type jsonDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
- } else {
-
- r.Filter = res.Filter
-
- r.Aggregation = res.Aggregation
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{empty: true}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{empty: true}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator struct {
- empty bool `json:"-"`
- Filter *string `json:"filter"`
- Aggregation *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation `json:"aggregation"`
-}
-
-type jsonDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
- } else {
-
- r.Filter = res.Filter
-
- r.Aggregation = res.Aggregation
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{empty: true}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{empty: true}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{empty: true}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter struct {
- empty bool `json:"-"`
- RankingMethod *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum `json:"rankingMethod"`
- NumTimeSeries *int64 `json:"numTimeSeries"`
- Direction *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum `json:"direction"`
-}
-
-type jsonDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- } else {
-
- r.RankingMethod = res.RankingMethod
-
- r.NumTimeSeries = res.NumTimeSeries
-
- r.Direction = res.Direction
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{empty: true}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsScorecardGaugeView struct {
- empty bool `json:"-"`
- LowerBound *float64 `json:"lowerBound"`
- UpperBound *float64 `json:"upperBound"`
-}
-
-type jsonDashboardGridLayoutWidgetsScorecardGaugeView DashboardGridLayoutWidgetsScorecardGaugeView
-
-func (r *DashboardGridLayoutWidgetsScorecardGaugeView) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsScorecardGaugeView
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsScorecardGaugeView
- } else {
-
- r.LowerBound = res.LowerBound
-
- r.UpperBound = res.UpperBound
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsScorecardGaugeView is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsScorecardGaugeView *DashboardGridLayoutWidgetsScorecardGaugeView = &DashboardGridLayoutWidgetsScorecardGaugeView{empty: true}
-
-func (r *DashboardGridLayoutWidgetsScorecardGaugeView) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsScorecardGaugeView) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsScorecardGaugeView) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsScorecardSparkChartView struct {
- empty bool `json:"-"`
- SparkChartType *DashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnum `json:"sparkChartType"`
- MinAlignmentPeriod *string `json:"minAlignmentPeriod"`
-}
-
-type jsonDashboardGridLayoutWidgetsScorecardSparkChartView DashboardGridLayoutWidgetsScorecardSparkChartView
-
-func (r *DashboardGridLayoutWidgetsScorecardSparkChartView) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsScorecardSparkChartView
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsScorecardSparkChartView
- } else {
-
- r.SparkChartType = res.SparkChartType
-
- r.MinAlignmentPeriod = res.MinAlignmentPeriod
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsScorecardSparkChartView is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsScorecardSparkChartView *DashboardGridLayoutWidgetsScorecardSparkChartView = &DashboardGridLayoutWidgetsScorecardSparkChartView{empty: true}
-
-func (r *DashboardGridLayoutWidgetsScorecardSparkChartView) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsScorecardSparkChartView) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsScorecardSparkChartView) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsScorecardThresholds struct {
- empty bool `json:"-"`
- Label *string `json:"label"`
- Value *float64 `json:"value"`
- Color *DashboardGridLayoutWidgetsScorecardThresholdsColorEnum `json:"color"`
- Direction *DashboardGridLayoutWidgetsScorecardThresholdsDirectionEnum `json:"direction"`
-}
-
-type jsonDashboardGridLayoutWidgetsScorecardThresholds DashboardGridLayoutWidgetsScorecardThresholds
-
-func (r *DashboardGridLayoutWidgetsScorecardThresholds) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsScorecardThresholds
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsScorecardThresholds
- } else {
-
- r.Label = res.Label
-
- r.Value = res.Value
-
- r.Color = res.Color
-
- r.Direction = res.Direction
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsScorecardThresholds is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsScorecardThresholds *DashboardGridLayoutWidgetsScorecardThresholds = &DashboardGridLayoutWidgetsScorecardThresholds{empty: true}
-
-func (r *DashboardGridLayoutWidgetsScorecardThresholds) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsScorecardThresholds) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsScorecardThresholds) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsText struct {
- empty bool `json:"-"`
- Content *string `json:"content"`
- Format *DashboardGridLayoutWidgetsTextFormatEnum `json:"format"`
-}
-
-type jsonDashboardGridLayoutWidgetsText DashboardGridLayoutWidgetsText
-
-func (r *DashboardGridLayoutWidgetsText) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsText
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsText
- } else {
-
- r.Content = res.Content
-
- r.Format = res.Format
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsText is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsText *DashboardGridLayoutWidgetsText = &DashboardGridLayoutWidgetsText{empty: true}
-
-func (r *DashboardGridLayoutWidgetsText) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsText) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsText) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsBlank struct {
- empty bool `json:"-"`
-}
-
-type jsonDashboardGridLayoutWidgetsBlank DashboardGridLayoutWidgetsBlank
-
-func (r *DashboardGridLayoutWidgetsBlank) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsBlank
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsBlank
- } else {
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsBlank is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsBlank *DashboardGridLayoutWidgetsBlank = &DashboardGridLayoutWidgetsBlank{empty: true}
-
-func (r *DashboardGridLayoutWidgetsBlank) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsBlank) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsBlank) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardGridLayoutWidgetsLogsPanel struct {
- empty bool `json:"-"`
- Filter *string `json:"filter"`
- ResourceNames []string `json:"resourceNames"`
-}
-
-type jsonDashboardGridLayoutWidgetsLogsPanel DashboardGridLayoutWidgetsLogsPanel
-
-func (r *DashboardGridLayoutWidgetsLogsPanel) UnmarshalJSON(data []byte) error {
- var res jsonDashboardGridLayoutWidgetsLogsPanel
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardGridLayoutWidgetsLogsPanel
- } else {
-
- r.Filter = res.Filter
-
- r.ResourceNames = res.ResourceNames
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardGridLayoutWidgetsLogsPanel is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardGridLayoutWidgetsLogsPanel *DashboardGridLayoutWidgetsLogsPanel = &DashboardGridLayoutWidgetsLogsPanel{empty: true}
-
-func (r *DashboardGridLayoutWidgetsLogsPanel) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardGridLayoutWidgetsLogsPanel) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardGridLayoutWidgetsLogsPanel) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayout struct {
- empty bool `json:"-"`
- Columns *int64 `json:"columns"`
- Tiles []DashboardMosaicLayoutTiles `json:"tiles"`
-}
-
-type jsonDashboardMosaicLayout DashboardMosaicLayout
-
-func (r *DashboardMosaicLayout) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayout
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayout
- } else {
-
- r.Columns = res.Columns
-
- r.Tiles = res.Tiles
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayout is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayout *DashboardMosaicLayout = &DashboardMosaicLayout{empty: true}
-
-func (r *DashboardMosaicLayout) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayout) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayout) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTiles struct {
- empty bool `json:"-"`
- XPos *int64 `json:"xPos"`
- YPos *int64 `json:"yPos"`
- Width *int64 `json:"width"`
- Height *int64 `json:"height"`
- Widget *DashboardMosaicLayoutTilesWidget `json:"widget"`
-}
-
-type jsonDashboardMosaicLayoutTiles DashboardMosaicLayoutTiles
-
-func (r *DashboardMosaicLayoutTiles) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTiles
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTiles
- } else {
-
- r.XPos = res.XPos
-
- r.YPos = res.YPos
-
- r.Width = res.Width
-
- r.Height = res.Height
-
- r.Widget = res.Widget
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTiles is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTiles *DashboardMosaicLayoutTiles = &DashboardMosaicLayoutTiles{empty: true}
-
-func (r *DashboardMosaicLayoutTiles) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTiles) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTiles) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidget struct {
- empty bool `json:"-"`
- Title *string `json:"title"`
- XyChart *DashboardMosaicLayoutTilesWidgetXyChart `json:"xyChart"`
- Scorecard *DashboardMosaicLayoutTilesWidgetScorecard `json:"scorecard"`
- Text *DashboardMosaicLayoutTilesWidgetText `json:"text"`
- Blank *DashboardMosaicLayoutTilesWidgetBlank `json:"blank"`
- LogsPanel *DashboardMosaicLayoutTilesWidgetLogsPanel `json:"logsPanel"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidget DashboardMosaicLayoutTilesWidget
-
-func (r *DashboardMosaicLayoutTilesWidget) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidget
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidget
- } else {
-
- r.Title = res.Title
-
- r.XyChart = res.XyChart
-
- r.Scorecard = res.Scorecard
-
- r.Text = res.Text
-
- r.Blank = res.Blank
-
- r.LogsPanel = res.LogsPanel
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidget is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidget *DashboardMosaicLayoutTilesWidget = &DashboardMosaicLayoutTilesWidget{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidget) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidget) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidget) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetXyChart struct {
- empty bool `json:"-"`
- DataSets []DashboardMosaicLayoutTilesWidgetXyChartDataSets `json:"dataSets"`
- TimeshiftDuration *string `json:"timeshiftDuration"`
- Thresholds []DashboardMosaicLayoutTilesWidgetXyChartThresholds `json:"thresholds"`
- XAxis *DashboardMosaicLayoutTilesWidgetXyChartXAxis `json:"xAxis"`
- YAxis *DashboardMosaicLayoutTilesWidgetXyChartYAxis `json:"yAxis"`
- ChartOptions *DashboardMosaicLayoutTilesWidgetXyChartChartOptions `json:"chartOptions"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetXyChart DashboardMosaicLayoutTilesWidgetXyChart
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChart) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetXyChart
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetXyChart
- } else {
-
- r.DataSets = res.DataSets
-
- r.TimeshiftDuration = res.TimeshiftDuration
-
- r.Thresholds = res.Thresholds
-
- r.XAxis = res.XAxis
-
- r.YAxis = res.YAxis
-
- r.ChartOptions = res.ChartOptions
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetXyChart is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetXyChart *DashboardMosaicLayoutTilesWidgetXyChart = &DashboardMosaicLayoutTilesWidgetXyChart{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChart) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChart) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChart) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetXyChartDataSets struct {
- empty bool `json:"-"`
- TimeSeriesQuery *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery `json:"timeSeriesQuery"`
- PlotType *DashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnum `json:"plotType"`
- LegendTemplate *string `json:"legendTemplate"`
- MinAlignmentPeriod *string `json:"minAlignmentPeriod"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetXyChartDataSets DashboardMosaicLayoutTilesWidgetXyChartDataSets
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSets) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetXyChartDataSets
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSets
- } else {
-
- r.TimeSeriesQuery = res.TimeSeriesQuery
-
- r.PlotType = res.PlotType
-
- r.LegendTemplate = res.LegendTemplate
-
- r.MinAlignmentPeriod = res.MinAlignmentPeriod
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetXyChartDataSets is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSets *DashboardMosaicLayoutTilesWidgetXyChartDataSets = &DashboardMosaicLayoutTilesWidgetXyChartDataSets{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSets) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSets) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSets) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery struct {
- empty bool `json:"-"`
- TimeSeriesFilter *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter `json:"timeSeriesFilter"`
- TimeSeriesFilterRatio *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio `json:"timeSeriesFilterRatio"`
- TimeSeriesQueryLanguage *string `json:"timeSeriesQueryLanguage"`
- UnitOverride *string `json:"unitOverride"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery
- } else {
-
- r.TimeSeriesFilter = res.TimeSeriesFilter
-
- r.TimeSeriesFilterRatio = res.TimeSeriesFilterRatio
-
- r.TimeSeriesQueryLanguage = res.TimeSeriesQueryLanguage
-
- r.UnitOverride = res.UnitOverride
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter struct {
- empty bool `json:"-"`
- Filter *string `json:"filter"`
- Aggregation *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation `json:"aggregation"`
- SecondaryAggregation *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation `json:"secondaryAggregation"`
- PickTimeSeriesFilter *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter `json:"pickTimeSeriesFilter"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
- } else {
-
- r.Filter = res.Filter
-
- r.Aggregation = res.Aggregation
-
- r.SecondaryAggregation = res.SecondaryAggregation
-
- r.PickTimeSeriesFilter = res.PickTimeSeriesFilter
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter struct {
- empty bool `json:"-"`
- RankingMethod *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum `json:"rankingMethod"`
- NumTimeSeries *int64 `json:"numTimeSeries"`
- Direction *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum `json:"direction"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- } else {
-
- r.RankingMethod = res.RankingMethod
-
- r.NumTimeSeries = res.NumTimeSeries
-
- r.Direction = res.Direction
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio struct {
- empty bool `json:"-"`
- Numerator *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator `json:"numerator"`
- Denominator *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator `json:"denominator"`
- SecondaryAggregation *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation `json:"secondaryAggregation"`
- PickTimeSeriesFilter *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter `json:"pickTimeSeriesFilter"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
- } else {
-
- r.Numerator = res.Numerator
-
- r.Denominator = res.Denominator
-
- r.SecondaryAggregation = res.SecondaryAggregation
-
- r.PickTimeSeriesFilter = res.PickTimeSeriesFilter
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator struct {
- empty bool `json:"-"`
- Filter *string `json:"filter"`
- Aggregation *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation `json:"aggregation"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
- } else {
-
- r.Filter = res.Filter
-
- r.Aggregation = res.Aggregation
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator struct {
- empty bool `json:"-"`
- Filter *string `json:"filter"`
- Aggregation *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation `json:"aggregation"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
- } else {
-
- r.Filter = res.Filter
-
- r.Aggregation = res.Aggregation
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter struct {
- empty bool `json:"-"`
- RankingMethod *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum `json:"rankingMethod"`
- NumTimeSeries *int64 `json:"numTimeSeries"`
- Direction *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum `json:"direction"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- } else {
-
- r.RankingMethod = res.RankingMethod
-
- r.NumTimeSeries = res.NumTimeSeries
-
- r.Direction = res.Direction
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetXyChartThresholds struct {
- empty bool `json:"-"`
- Label *string `json:"label"`
- Value *float64 `json:"value"`
- Color *DashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnum `json:"color"`
- Direction *DashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnum `json:"direction"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetXyChartThresholds DashboardMosaicLayoutTilesWidgetXyChartThresholds
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartThresholds) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetXyChartThresholds
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetXyChartThresholds
- } else {
-
- r.Label = res.Label
-
- r.Value = res.Value
-
- r.Color = res.Color
-
- r.Direction = res.Direction
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetXyChartThresholds is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetXyChartThresholds *DashboardMosaicLayoutTilesWidgetXyChartThresholds = &DashboardMosaicLayoutTilesWidgetXyChartThresholds{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartThresholds) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartThresholds) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartThresholds) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetXyChartXAxis struct {
- empty bool `json:"-"`
- Label *string `json:"label"`
- Scale *DashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnum `json:"scale"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetXyChartXAxis DashboardMosaicLayoutTilesWidgetXyChartXAxis
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartXAxis) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetXyChartXAxis
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetXyChartXAxis
- } else {
-
- r.Label = res.Label
-
- r.Scale = res.Scale
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetXyChartXAxis is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetXyChartXAxis *DashboardMosaicLayoutTilesWidgetXyChartXAxis = &DashboardMosaicLayoutTilesWidgetXyChartXAxis{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartXAxis) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartXAxis) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartXAxis) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetXyChartYAxis struct {
- empty bool `json:"-"`
- Label *string `json:"label"`
- Scale *DashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnum `json:"scale"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetXyChartYAxis DashboardMosaicLayoutTilesWidgetXyChartYAxis
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartYAxis) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetXyChartYAxis
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetXyChartYAxis
- } else {
-
- r.Label = res.Label
-
- r.Scale = res.Scale
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetXyChartYAxis is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetXyChartYAxis *DashboardMosaicLayoutTilesWidgetXyChartYAxis = &DashboardMosaicLayoutTilesWidgetXyChartYAxis{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartYAxis) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartYAxis) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartYAxis) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetXyChartChartOptions struct {
- empty bool `json:"-"`
- Mode *DashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnum `json:"mode"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetXyChartChartOptions DashboardMosaicLayoutTilesWidgetXyChartChartOptions
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartChartOptions) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetXyChartChartOptions
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetXyChartChartOptions
- } else {
-
- r.Mode = res.Mode
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetXyChartChartOptions is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetXyChartChartOptions *DashboardMosaicLayoutTilesWidgetXyChartChartOptions = &DashboardMosaicLayoutTilesWidgetXyChartChartOptions{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartChartOptions) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartChartOptions) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetXyChartChartOptions) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetScorecard struct {
- empty bool `json:"-"`
- TimeSeriesQuery *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery `json:"timeSeriesQuery"`
- GaugeView *DashboardMosaicLayoutTilesWidgetScorecardGaugeView `json:"gaugeView"`
- SparkChartView *DashboardMosaicLayoutTilesWidgetScorecardSparkChartView `json:"sparkChartView"`
- Thresholds []DashboardMosaicLayoutTilesWidgetScorecardThresholds `json:"thresholds"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetScorecard DashboardMosaicLayoutTilesWidgetScorecard
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecard) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetScorecard
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetScorecard
- } else {
-
- r.TimeSeriesQuery = res.TimeSeriesQuery
-
- r.GaugeView = res.GaugeView
-
- r.SparkChartView = res.SparkChartView
-
- r.Thresholds = res.Thresholds
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetScorecard is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetScorecard *DashboardMosaicLayoutTilesWidgetScorecard = &DashboardMosaicLayoutTilesWidgetScorecard{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecard) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecard) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecard) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery struct {
- empty bool `json:"-"`
- TimeSeriesFilter *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter `json:"timeSeriesFilter"`
- TimeSeriesFilterRatio *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio `json:"timeSeriesFilterRatio"`
- TimeSeriesQueryLanguage *string `json:"timeSeriesQueryLanguage"`
- UnitOverride *string `json:"unitOverride"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery
- } else {
-
- r.TimeSeriesFilter = res.TimeSeriesFilter
-
- r.TimeSeriesFilterRatio = res.TimeSeriesFilterRatio
-
- r.TimeSeriesQueryLanguage = res.TimeSeriesQueryLanguage
-
- r.UnitOverride = res.UnitOverride
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter struct {
- empty bool `json:"-"`
- Filter *string `json:"filter"`
- Aggregation *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation `json:"aggregation"`
- SecondaryAggregation *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation `json:"secondaryAggregation"`
- PickTimeSeriesFilter *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter `json:"pickTimeSeriesFilter"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter
- } else {
-
- r.Filter = res.Filter
-
- r.Aggregation = res.Aggregation
-
- r.SecondaryAggregation = res.SecondaryAggregation
-
- r.PickTimeSeriesFilter = res.PickTimeSeriesFilter
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter struct {
- empty bool `json:"-"`
- RankingMethod *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum `json:"rankingMethod"`
- NumTimeSeries *int64 `json:"numTimeSeries"`
- Direction *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum `json:"direction"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- } else {
-
- r.RankingMethod = res.RankingMethod
-
- r.NumTimeSeries = res.NumTimeSeries
-
- r.Direction = res.Direction
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio struct {
- empty bool `json:"-"`
- Numerator *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator `json:"numerator"`
- Denominator *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator `json:"denominator"`
- SecondaryAggregation *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation `json:"secondaryAggregation"`
- PickTimeSeriesFilter *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter `json:"pickTimeSeriesFilter"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio
- } else {
-
- r.Numerator = res.Numerator
-
- r.Denominator = res.Denominator
-
- r.SecondaryAggregation = res.SecondaryAggregation
-
- r.PickTimeSeriesFilter = res.PickTimeSeriesFilter
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator struct {
- empty bool `json:"-"`
- Filter *string `json:"filter"`
- Aggregation *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation `json:"aggregation"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
- } else {
-
- r.Filter = res.Filter
-
- r.Aggregation = res.Aggregation
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator struct {
- empty bool `json:"-"`
- Filter *string `json:"filter"`
- Aggregation *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation `json:"aggregation"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
- } else {
-
- r.Filter = res.Filter
-
- r.Aggregation = res.Aggregation
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter struct {
- empty bool `json:"-"`
- RankingMethod *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum `json:"rankingMethod"`
- NumTimeSeries *int64 `json:"numTimeSeries"`
- Direction *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum `json:"direction"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- } else {
-
- r.RankingMethod = res.RankingMethod
-
- r.NumTimeSeries = res.NumTimeSeries
-
- r.Direction = res.Direction
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetScorecardGaugeView struct {
- empty bool `json:"-"`
- LowerBound *float64 `json:"lowerBound"`
- UpperBound *float64 `json:"upperBound"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetScorecardGaugeView DashboardMosaicLayoutTilesWidgetScorecardGaugeView
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardGaugeView) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetScorecardGaugeView
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetScorecardGaugeView
- } else {
-
- r.LowerBound = res.LowerBound
-
- r.UpperBound = res.UpperBound
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetScorecardGaugeView is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetScorecardGaugeView *DashboardMosaicLayoutTilesWidgetScorecardGaugeView = &DashboardMosaicLayoutTilesWidgetScorecardGaugeView{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardGaugeView) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardGaugeView) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardGaugeView) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetScorecardSparkChartView struct {
- empty bool `json:"-"`
- SparkChartType *DashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnum `json:"sparkChartType"`
- MinAlignmentPeriod *string `json:"minAlignmentPeriod"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetScorecardSparkChartView DashboardMosaicLayoutTilesWidgetScorecardSparkChartView
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardSparkChartView) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetScorecardSparkChartView
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetScorecardSparkChartView
- } else {
-
- r.SparkChartType = res.SparkChartType
-
- r.MinAlignmentPeriod = res.MinAlignmentPeriod
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetScorecardSparkChartView is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetScorecardSparkChartView *DashboardMosaicLayoutTilesWidgetScorecardSparkChartView = &DashboardMosaicLayoutTilesWidgetScorecardSparkChartView{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardSparkChartView) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardSparkChartView) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardSparkChartView) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetScorecardThresholds struct {
- empty bool `json:"-"`
- Label *string `json:"label"`
- Value *float64 `json:"value"`
- Color *DashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnum `json:"color"`
- Direction *DashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnum `json:"direction"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetScorecardThresholds DashboardMosaicLayoutTilesWidgetScorecardThresholds
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardThresholds) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetScorecardThresholds
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetScorecardThresholds
- } else {
-
- r.Label = res.Label
-
- r.Value = res.Value
-
- r.Color = res.Color
-
- r.Direction = res.Direction
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetScorecardThresholds is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetScorecardThresholds *DashboardMosaicLayoutTilesWidgetScorecardThresholds = &DashboardMosaicLayoutTilesWidgetScorecardThresholds{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardThresholds) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardThresholds) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetScorecardThresholds) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetText struct {
- empty bool `json:"-"`
- Content *string `json:"content"`
- Format *DashboardMosaicLayoutTilesWidgetTextFormatEnum `json:"format"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetText DashboardMosaicLayoutTilesWidgetText
-
-func (r *DashboardMosaicLayoutTilesWidgetText) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetText
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetText
- } else {
-
- r.Content = res.Content
-
- r.Format = res.Format
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetText is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetText *DashboardMosaicLayoutTilesWidgetText = &DashboardMosaicLayoutTilesWidgetText{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetText) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetText) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetText) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetBlank struct {
- empty bool `json:"-"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetBlank DashboardMosaicLayoutTilesWidgetBlank
-
-func (r *DashboardMosaicLayoutTilesWidgetBlank) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetBlank
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetBlank
- } else {
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetBlank is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetBlank *DashboardMosaicLayoutTilesWidgetBlank = &DashboardMosaicLayoutTilesWidgetBlank{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetBlank) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetBlank) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetBlank) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardMosaicLayoutTilesWidgetLogsPanel struct {
- empty bool `json:"-"`
- Filter *string `json:"filter"`
- ResourceNames []string `json:"resourceNames"`
-}
-
-type jsonDashboardMosaicLayoutTilesWidgetLogsPanel DashboardMosaicLayoutTilesWidgetLogsPanel
-
-func (r *DashboardMosaicLayoutTilesWidgetLogsPanel) UnmarshalJSON(data []byte) error {
- var res jsonDashboardMosaicLayoutTilesWidgetLogsPanel
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardMosaicLayoutTilesWidgetLogsPanel
- } else {
-
- r.Filter = res.Filter
-
- r.ResourceNames = res.ResourceNames
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardMosaicLayoutTilesWidgetLogsPanel is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardMosaicLayoutTilesWidgetLogsPanel *DashboardMosaicLayoutTilesWidgetLogsPanel = &DashboardMosaicLayoutTilesWidgetLogsPanel{empty: true}
-
-func (r *DashboardMosaicLayoutTilesWidgetLogsPanel) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetLogsPanel) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardMosaicLayoutTilesWidgetLogsPanel) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayout struct {
- empty bool `json:"-"`
- Rows []DashboardRowLayoutRows `json:"rows"`
-}
-
-type jsonDashboardRowLayout DashboardRowLayout
-
-func (r *DashboardRowLayout) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayout
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayout
- } else {
-
- r.Rows = res.Rows
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayout is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayout *DashboardRowLayout = &DashboardRowLayout{empty: true}
-
-func (r *DashboardRowLayout) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayout) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayout) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRows struct {
- empty bool `json:"-"`
- Weight *int64 `json:"weight"`
- Widgets []DashboardRowLayoutRowsWidgets `json:"widgets"`
-}
-
-type jsonDashboardRowLayoutRows DashboardRowLayoutRows
-
-func (r *DashboardRowLayoutRows) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRows
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRows
- } else {
-
- r.Weight = res.Weight
-
- r.Widgets = res.Widgets
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRows is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRows *DashboardRowLayoutRows = &DashboardRowLayoutRows{empty: true}
-
-func (r *DashboardRowLayoutRows) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRows) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRows) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgets struct {
- empty bool `json:"-"`
- Title *string `json:"title"`
- XyChart *DashboardRowLayoutRowsWidgetsXyChart `json:"xyChart"`
- Scorecard *DashboardRowLayoutRowsWidgetsScorecard `json:"scorecard"`
- Text *DashboardRowLayoutRowsWidgetsText `json:"text"`
- Blank *DashboardRowLayoutRowsWidgetsBlank `json:"blank"`
- LogsPanel *DashboardRowLayoutRowsWidgetsLogsPanel `json:"logsPanel"`
-}
-
-type jsonDashboardRowLayoutRowsWidgets DashboardRowLayoutRowsWidgets
-
-func (r *DashboardRowLayoutRowsWidgets) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgets
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgets
- } else {
-
- r.Title = res.Title
-
- r.XyChart = res.XyChart
-
- r.Scorecard = res.Scorecard
-
- r.Text = res.Text
-
- r.Blank = res.Blank
-
- r.LogsPanel = res.LogsPanel
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgets is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgets *DashboardRowLayoutRowsWidgets = &DashboardRowLayoutRowsWidgets{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgets) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgets) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgets) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsXyChart struct {
- empty bool `json:"-"`
- DataSets []DashboardRowLayoutRowsWidgetsXyChartDataSets `json:"dataSets"`
- TimeshiftDuration *string `json:"timeshiftDuration"`
- Thresholds []DashboardRowLayoutRowsWidgetsXyChartThresholds `json:"thresholds"`
- XAxis *DashboardRowLayoutRowsWidgetsXyChartXAxis `json:"xAxis"`
- YAxis *DashboardRowLayoutRowsWidgetsXyChartYAxis `json:"yAxis"`
- ChartOptions *DashboardRowLayoutRowsWidgetsXyChartChartOptions `json:"chartOptions"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsXyChart DashboardRowLayoutRowsWidgetsXyChart
-
-func (r *DashboardRowLayoutRowsWidgetsXyChart) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsXyChart
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsXyChart
- } else {
-
- r.DataSets = res.DataSets
-
- r.TimeshiftDuration = res.TimeshiftDuration
-
- r.Thresholds = res.Thresholds
-
- r.XAxis = res.XAxis
-
- r.YAxis = res.YAxis
-
- r.ChartOptions = res.ChartOptions
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsXyChart is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsXyChart *DashboardRowLayoutRowsWidgetsXyChart = &DashboardRowLayoutRowsWidgetsXyChart{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChart) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChart) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChart) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsXyChartDataSets struct {
- empty bool `json:"-"`
- TimeSeriesQuery *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery `json:"timeSeriesQuery"`
- PlotType *DashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnum `json:"plotType"`
- LegendTemplate *string `json:"legendTemplate"`
- MinAlignmentPeriod *string `json:"minAlignmentPeriod"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsXyChartDataSets DashboardRowLayoutRowsWidgetsXyChartDataSets
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSets) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsXyChartDataSets
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsXyChartDataSets
- } else {
-
- r.TimeSeriesQuery = res.TimeSeriesQuery
-
- r.PlotType = res.PlotType
-
- r.LegendTemplate = res.LegendTemplate
-
- r.MinAlignmentPeriod = res.MinAlignmentPeriod
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsXyChartDataSets is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsXyChartDataSets *DashboardRowLayoutRowsWidgetsXyChartDataSets = &DashboardRowLayoutRowsWidgetsXyChartDataSets{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSets) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSets) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSets) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery struct {
- empty bool `json:"-"`
- TimeSeriesFilter *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter `json:"timeSeriesFilter"`
- TimeSeriesFilterRatio *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio `json:"timeSeriesFilterRatio"`
- TimeSeriesQueryLanguage *string `json:"timeSeriesQueryLanguage"`
- UnitOverride *string `json:"unitOverride"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery
- } else {
-
- r.TimeSeriesFilter = res.TimeSeriesFilter
-
- r.TimeSeriesFilterRatio = res.TimeSeriesFilterRatio
-
- r.TimeSeriesQueryLanguage = res.TimeSeriesQueryLanguage
-
- r.UnitOverride = res.UnitOverride
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter struct {
- empty bool `json:"-"`
- Filter *string `json:"filter"`
- Aggregation *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation `json:"aggregation"`
- SecondaryAggregation *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation `json:"secondaryAggregation"`
- PickTimeSeriesFilter *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter `json:"pickTimeSeriesFilter"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
- } else {
-
- r.Filter = res.Filter
-
- r.Aggregation = res.Aggregation
-
- r.SecondaryAggregation = res.SecondaryAggregation
-
- r.PickTimeSeriesFilter = res.PickTimeSeriesFilter
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter struct {
- empty bool `json:"-"`
- RankingMethod *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum `json:"rankingMethod"`
- NumTimeSeries *int64 `json:"numTimeSeries"`
- Direction *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum `json:"direction"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- } else {
-
- r.RankingMethod = res.RankingMethod
-
- r.NumTimeSeries = res.NumTimeSeries
-
- r.Direction = res.Direction
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio struct {
- empty bool `json:"-"`
- Numerator *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator `json:"numerator"`
- Denominator *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator `json:"denominator"`
- SecondaryAggregation *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation `json:"secondaryAggregation"`
- PickTimeSeriesFilter *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter `json:"pickTimeSeriesFilter"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
- } else {
-
- r.Numerator = res.Numerator
-
- r.Denominator = res.Denominator
-
- r.SecondaryAggregation = res.SecondaryAggregation
-
- r.PickTimeSeriesFilter = res.PickTimeSeriesFilter
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator struct {
- empty bool `json:"-"`
- Filter *string `json:"filter"`
- Aggregation *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation `json:"aggregation"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
- } else {
-
- r.Filter = res.Filter
-
- r.Aggregation = res.Aggregation
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator struct {
- empty bool `json:"-"`
- Filter *string `json:"filter"`
- Aggregation *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation `json:"aggregation"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
- } else {
-
- r.Filter = res.Filter
-
- r.Aggregation = res.Aggregation
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter struct {
- empty bool `json:"-"`
- RankingMethod *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum `json:"rankingMethod"`
- NumTimeSeries *int64 `json:"numTimeSeries"`
- Direction *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum `json:"direction"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- } else {
-
- r.RankingMethod = res.RankingMethod
-
- r.NumTimeSeries = res.NumTimeSeries
-
- r.Direction = res.Direction
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsXyChartThresholds struct {
- empty bool `json:"-"`
- Label *string `json:"label"`
- Value *float64 `json:"value"`
- Color *DashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnum `json:"color"`
- Direction *DashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnum `json:"direction"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsXyChartThresholds DashboardRowLayoutRowsWidgetsXyChartThresholds
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartThresholds) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsXyChartThresholds
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsXyChartThresholds
- } else {
-
- r.Label = res.Label
-
- r.Value = res.Value
-
- r.Color = res.Color
-
- r.Direction = res.Direction
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsXyChartThresholds is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsXyChartThresholds *DashboardRowLayoutRowsWidgetsXyChartThresholds = &DashboardRowLayoutRowsWidgetsXyChartThresholds{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartThresholds) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartThresholds) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartThresholds) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsXyChartXAxis struct {
- empty bool `json:"-"`
- Label *string `json:"label"`
- Scale *DashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnum `json:"scale"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsXyChartXAxis DashboardRowLayoutRowsWidgetsXyChartXAxis
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartXAxis) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsXyChartXAxis
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsXyChartXAxis
- } else {
-
- r.Label = res.Label
-
- r.Scale = res.Scale
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsXyChartXAxis is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsXyChartXAxis *DashboardRowLayoutRowsWidgetsXyChartXAxis = &DashboardRowLayoutRowsWidgetsXyChartXAxis{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartXAxis) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartXAxis) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartXAxis) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsXyChartYAxis struct {
- empty bool `json:"-"`
- Label *string `json:"label"`
- Scale *DashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnum `json:"scale"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsXyChartYAxis DashboardRowLayoutRowsWidgetsXyChartYAxis
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartYAxis) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsXyChartYAxis
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsXyChartYAxis
- } else {
-
- r.Label = res.Label
-
- r.Scale = res.Scale
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsXyChartYAxis is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsXyChartYAxis *DashboardRowLayoutRowsWidgetsXyChartYAxis = &DashboardRowLayoutRowsWidgetsXyChartYAxis{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartYAxis) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartYAxis) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartYAxis) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsXyChartChartOptions struct {
- empty bool `json:"-"`
- Mode *DashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnum `json:"mode"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsXyChartChartOptions DashboardRowLayoutRowsWidgetsXyChartChartOptions
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartChartOptions) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsXyChartChartOptions
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsXyChartChartOptions
- } else {
-
- r.Mode = res.Mode
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsXyChartChartOptions is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsXyChartChartOptions *DashboardRowLayoutRowsWidgetsXyChartChartOptions = &DashboardRowLayoutRowsWidgetsXyChartChartOptions{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartChartOptions) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartChartOptions) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsXyChartChartOptions) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsScorecard struct {
- empty bool `json:"-"`
- TimeSeriesQuery *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery `json:"timeSeriesQuery"`
- GaugeView *DashboardRowLayoutRowsWidgetsScorecardGaugeView `json:"gaugeView"`
- SparkChartView *DashboardRowLayoutRowsWidgetsScorecardSparkChartView `json:"sparkChartView"`
- Thresholds []DashboardRowLayoutRowsWidgetsScorecardThresholds `json:"thresholds"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsScorecard DashboardRowLayoutRowsWidgetsScorecard
-
-func (r *DashboardRowLayoutRowsWidgetsScorecard) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsScorecard
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsScorecard
- } else {
-
- r.TimeSeriesQuery = res.TimeSeriesQuery
-
- r.GaugeView = res.GaugeView
-
- r.SparkChartView = res.SparkChartView
-
- r.Thresholds = res.Thresholds
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsScorecard is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsScorecard *DashboardRowLayoutRowsWidgetsScorecard = &DashboardRowLayoutRowsWidgetsScorecard{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecard) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecard) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecard) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery struct {
- empty bool `json:"-"`
- TimeSeriesFilter *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter `json:"timeSeriesFilter"`
- TimeSeriesFilterRatio *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio `json:"timeSeriesFilterRatio"`
- TimeSeriesQueryLanguage *string `json:"timeSeriesQueryLanguage"`
- UnitOverride *string `json:"unitOverride"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery
- } else {
-
- r.TimeSeriesFilter = res.TimeSeriesFilter
-
- r.TimeSeriesFilterRatio = res.TimeSeriesFilterRatio
-
- r.TimeSeriesQueryLanguage = res.TimeSeriesQueryLanguage
-
- r.UnitOverride = res.UnitOverride
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter struct {
- empty bool `json:"-"`
- Filter *string `json:"filter"`
- Aggregation *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation `json:"aggregation"`
- SecondaryAggregation *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation `json:"secondaryAggregation"`
- PickTimeSeriesFilter *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter `json:"pickTimeSeriesFilter"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter
- } else {
-
- r.Filter = res.Filter
-
- r.Aggregation = res.Aggregation
-
- r.SecondaryAggregation = res.SecondaryAggregation
-
- r.PickTimeSeriesFilter = res.PickTimeSeriesFilter
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter struct {
- empty bool `json:"-"`
- RankingMethod *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum `json:"rankingMethod"`
- NumTimeSeries *int64 `json:"numTimeSeries"`
- Direction *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum `json:"direction"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- } else {
-
- r.RankingMethod = res.RankingMethod
-
- r.NumTimeSeries = res.NumTimeSeries
-
- r.Direction = res.Direction
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio struct {
- empty bool `json:"-"`
- Numerator *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator `json:"numerator"`
- Denominator *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator `json:"denominator"`
- SecondaryAggregation *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation `json:"secondaryAggregation"`
- PickTimeSeriesFilter *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter `json:"pickTimeSeriesFilter"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio
- } else {
-
- r.Numerator = res.Numerator
-
- r.Denominator = res.Denominator
-
- r.SecondaryAggregation = res.SecondaryAggregation
-
- r.PickTimeSeriesFilter = res.PickTimeSeriesFilter
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator struct {
- empty bool `json:"-"`
- Filter *string `json:"filter"`
- Aggregation *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation `json:"aggregation"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
- } else {
-
- r.Filter = res.Filter
-
- r.Aggregation = res.Aggregation
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator struct {
- empty bool `json:"-"`
- Filter *string `json:"filter"`
- Aggregation *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation `json:"aggregation"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
- } else {
-
- r.Filter = res.Filter
-
- r.Aggregation = res.Aggregation
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter struct {
- empty bool `json:"-"`
- RankingMethod *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum `json:"rankingMethod"`
- NumTimeSeries *int64 `json:"numTimeSeries"`
- Direction *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum `json:"direction"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- } else {
-
- r.RankingMethod = res.RankingMethod
-
- r.NumTimeSeries = res.NumTimeSeries
-
- r.Direction = res.Direction
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsScorecardGaugeView struct {
- empty bool `json:"-"`
- LowerBound *float64 `json:"lowerBound"`
- UpperBound *float64 `json:"upperBound"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsScorecardGaugeView DashboardRowLayoutRowsWidgetsScorecardGaugeView
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardGaugeView) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsScorecardGaugeView
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsScorecardGaugeView
- } else {
-
- r.LowerBound = res.LowerBound
-
- r.UpperBound = res.UpperBound
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsScorecardGaugeView is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsScorecardGaugeView *DashboardRowLayoutRowsWidgetsScorecardGaugeView = &DashboardRowLayoutRowsWidgetsScorecardGaugeView{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardGaugeView) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardGaugeView) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardGaugeView) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsScorecardSparkChartView struct {
- empty bool `json:"-"`
- SparkChartType *DashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnum `json:"sparkChartType"`
- MinAlignmentPeriod *string `json:"minAlignmentPeriod"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsScorecardSparkChartView DashboardRowLayoutRowsWidgetsScorecardSparkChartView
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardSparkChartView) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsScorecardSparkChartView
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsScorecardSparkChartView
- } else {
-
- r.SparkChartType = res.SparkChartType
-
- r.MinAlignmentPeriod = res.MinAlignmentPeriod
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsScorecardSparkChartView is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsScorecardSparkChartView *DashboardRowLayoutRowsWidgetsScorecardSparkChartView = &DashboardRowLayoutRowsWidgetsScorecardSparkChartView{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardSparkChartView) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardSparkChartView) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardSparkChartView) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsScorecardThresholds struct {
- empty bool `json:"-"`
- Label *string `json:"label"`
- Value *float64 `json:"value"`
- Color *DashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnum `json:"color"`
- Direction *DashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnum `json:"direction"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsScorecardThresholds DashboardRowLayoutRowsWidgetsScorecardThresholds
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardThresholds) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsScorecardThresholds
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsScorecardThresholds
- } else {
-
- r.Label = res.Label
-
- r.Value = res.Value
-
- r.Color = res.Color
-
- r.Direction = res.Direction
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsScorecardThresholds is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsScorecardThresholds *DashboardRowLayoutRowsWidgetsScorecardThresholds = &DashboardRowLayoutRowsWidgetsScorecardThresholds{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardThresholds) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardThresholds) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsScorecardThresholds) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsText struct {
- empty bool `json:"-"`
- Content *string `json:"content"`
- Format *DashboardRowLayoutRowsWidgetsTextFormatEnum `json:"format"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsText DashboardRowLayoutRowsWidgetsText
-
-func (r *DashboardRowLayoutRowsWidgetsText) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsText
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsText
- } else {
-
- r.Content = res.Content
-
- r.Format = res.Format
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsText is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsText *DashboardRowLayoutRowsWidgetsText = &DashboardRowLayoutRowsWidgetsText{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsText) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsText) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsText) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsBlank struct {
- empty bool `json:"-"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsBlank DashboardRowLayoutRowsWidgetsBlank
-
-func (r *DashboardRowLayoutRowsWidgetsBlank) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsBlank
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsBlank
- } else {
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsBlank is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsBlank *DashboardRowLayoutRowsWidgetsBlank = &DashboardRowLayoutRowsWidgetsBlank{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsBlank) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsBlank) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsBlank) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardRowLayoutRowsWidgetsLogsPanel struct {
- empty bool `json:"-"`
- Filter *string `json:"filter"`
- ResourceNames []string `json:"resourceNames"`
-}
-
-type jsonDashboardRowLayoutRowsWidgetsLogsPanel DashboardRowLayoutRowsWidgetsLogsPanel
-
-func (r *DashboardRowLayoutRowsWidgetsLogsPanel) UnmarshalJSON(data []byte) error {
- var res jsonDashboardRowLayoutRowsWidgetsLogsPanel
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardRowLayoutRowsWidgetsLogsPanel
- } else {
-
- r.Filter = res.Filter
-
- r.ResourceNames = res.ResourceNames
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardRowLayoutRowsWidgetsLogsPanel is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardRowLayoutRowsWidgetsLogsPanel *DashboardRowLayoutRowsWidgetsLogsPanel = &DashboardRowLayoutRowsWidgetsLogsPanel{empty: true}
-
-func (r *DashboardRowLayoutRowsWidgetsLogsPanel) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardRowLayoutRowsWidgetsLogsPanel) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardRowLayoutRowsWidgetsLogsPanel) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayout struct {
- empty bool `json:"-"`
- Columns []DashboardColumnLayoutColumns `json:"columns"`
-}
-
-type jsonDashboardColumnLayout DashboardColumnLayout
-
-func (r *DashboardColumnLayout) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayout
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayout
- } else {
-
- r.Columns = res.Columns
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayout is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayout *DashboardColumnLayout = &DashboardColumnLayout{empty: true}
-
-func (r *DashboardColumnLayout) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayout) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayout) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumns struct {
- empty bool `json:"-"`
- Weight *int64 `json:"weight"`
- Widgets []DashboardColumnLayoutColumnsWidgets `json:"widgets"`
-}
-
-type jsonDashboardColumnLayoutColumns DashboardColumnLayoutColumns
-
-func (r *DashboardColumnLayoutColumns) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumns
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumns
- } else {
-
- r.Weight = res.Weight
-
- r.Widgets = res.Widgets
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumns is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumns *DashboardColumnLayoutColumns = &DashboardColumnLayoutColumns{empty: true}
-
-func (r *DashboardColumnLayoutColumns) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumns) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumns) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgets struct {
- empty bool `json:"-"`
- Title *string `json:"title"`
- XyChart *DashboardColumnLayoutColumnsWidgetsXyChart `json:"xyChart"`
- Scorecard *DashboardColumnLayoutColumnsWidgetsScorecard `json:"scorecard"`
- Text *DashboardColumnLayoutColumnsWidgetsText `json:"text"`
- Blank *DashboardColumnLayoutColumnsWidgetsBlank `json:"blank"`
- LogsPanel *DashboardColumnLayoutColumnsWidgetsLogsPanel `json:"logsPanel"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgets DashboardColumnLayoutColumnsWidgets
-
-func (r *DashboardColumnLayoutColumnsWidgets) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgets
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgets
- } else {
-
- r.Title = res.Title
-
- r.XyChart = res.XyChart
-
- r.Scorecard = res.Scorecard
-
- r.Text = res.Text
-
- r.Blank = res.Blank
-
- r.LogsPanel = res.LogsPanel
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgets is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgets *DashboardColumnLayoutColumnsWidgets = &DashboardColumnLayoutColumnsWidgets{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgets) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgets) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgets) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsXyChart struct {
- empty bool `json:"-"`
- DataSets []DashboardColumnLayoutColumnsWidgetsXyChartDataSets `json:"dataSets"`
- TimeshiftDuration *string `json:"timeshiftDuration"`
- Thresholds []DashboardColumnLayoutColumnsWidgetsXyChartThresholds `json:"thresholds"`
- XAxis *DashboardColumnLayoutColumnsWidgetsXyChartXAxis `json:"xAxis"`
- YAxis *DashboardColumnLayoutColumnsWidgetsXyChartYAxis `json:"yAxis"`
- ChartOptions *DashboardColumnLayoutColumnsWidgetsXyChartChartOptions `json:"chartOptions"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsXyChart DashboardColumnLayoutColumnsWidgetsXyChart
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChart) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsXyChart
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsXyChart
- } else {
-
- r.DataSets = res.DataSets
-
- r.TimeshiftDuration = res.TimeshiftDuration
-
- r.Thresholds = res.Thresholds
-
- r.XAxis = res.XAxis
-
- r.YAxis = res.YAxis
-
- r.ChartOptions = res.ChartOptions
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsXyChart is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsXyChart *DashboardColumnLayoutColumnsWidgetsXyChart = &DashboardColumnLayoutColumnsWidgetsXyChart{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChart) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChart) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChart) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsXyChartDataSets struct {
- empty bool `json:"-"`
- TimeSeriesQuery *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery `json:"timeSeriesQuery"`
- PlotType *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnum `json:"plotType"`
- LegendTemplate *string `json:"legendTemplate"`
- MinAlignmentPeriod *string `json:"minAlignmentPeriod"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsXyChartDataSets DashboardColumnLayoutColumnsWidgetsXyChartDataSets
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSets) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsXyChartDataSets
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSets
- } else {
-
- r.TimeSeriesQuery = res.TimeSeriesQuery
-
- r.PlotType = res.PlotType
-
- r.LegendTemplate = res.LegendTemplate
-
- r.MinAlignmentPeriod = res.MinAlignmentPeriod
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsXyChartDataSets is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSets *DashboardColumnLayoutColumnsWidgetsXyChartDataSets = &DashboardColumnLayoutColumnsWidgetsXyChartDataSets{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSets) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSets) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSets) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery struct {
- empty bool `json:"-"`
- TimeSeriesFilter *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter `json:"timeSeriesFilter"`
- TimeSeriesFilterRatio *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio `json:"timeSeriesFilterRatio"`
- TimeSeriesQueryLanguage *string `json:"timeSeriesQueryLanguage"`
- UnitOverride *string `json:"unitOverride"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery
- } else {
-
- r.TimeSeriesFilter = res.TimeSeriesFilter
-
- r.TimeSeriesFilterRatio = res.TimeSeriesFilterRatio
-
- r.TimeSeriesQueryLanguage = res.TimeSeriesQueryLanguage
-
- r.UnitOverride = res.UnitOverride
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter struct {
- empty bool `json:"-"`
- Filter *string `json:"filter"`
- Aggregation *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation `json:"aggregation"`
- SecondaryAggregation *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation `json:"secondaryAggregation"`
- PickTimeSeriesFilter *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter `json:"pickTimeSeriesFilter"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
- } else {
-
- r.Filter = res.Filter
-
- r.Aggregation = res.Aggregation
-
- r.SecondaryAggregation = res.SecondaryAggregation
-
- r.PickTimeSeriesFilter = res.PickTimeSeriesFilter
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter struct {
- empty bool `json:"-"`
- RankingMethod *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum `json:"rankingMethod"`
- NumTimeSeries *int64 `json:"numTimeSeries"`
- Direction *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum `json:"direction"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- } else {
-
- r.RankingMethod = res.RankingMethod
-
- r.NumTimeSeries = res.NumTimeSeries
-
- r.Direction = res.Direction
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio struct {
- empty bool `json:"-"`
- Numerator *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator `json:"numerator"`
- Denominator *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator `json:"denominator"`
- SecondaryAggregation *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation `json:"secondaryAggregation"`
- PickTimeSeriesFilter *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter `json:"pickTimeSeriesFilter"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
- } else {
-
- r.Numerator = res.Numerator
-
- r.Denominator = res.Denominator
-
- r.SecondaryAggregation = res.SecondaryAggregation
-
- r.PickTimeSeriesFilter = res.PickTimeSeriesFilter
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator struct {
- empty bool `json:"-"`
- Filter *string `json:"filter"`
- Aggregation *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation `json:"aggregation"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
- } else {
-
- r.Filter = res.Filter
-
- r.Aggregation = res.Aggregation
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator struct {
- empty bool `json:"-"`
- Filter *string `json:"filter"`
- Aggregation *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation `json:"aggregation"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
- } else {
-
- r.Filter = res.Filter
-
- r.Aggregation = res.Aggregation
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter struct {
- empty bool `json:"-"`
- RankingMethod *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum `json:"rankingMethod"`
- NumTimeSeries *int64 `json:"numTimeSeries"`
- Direction *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum `json:"direction"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- } else {
-
- r.RankingMethod = res.RankingMethod
-
- r.NumTimeSeries = res.NumTimeSeries
-
- r.Direction = res.Direction
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsXyChartThresholds struct {
- empty bool `json:"-"`
- Label *string `json:"label"`
- Value *float64 `json:"value"`
- Color *DashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnum `json:"color"`
- Direction *DashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnum `json:"direction"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsXyChartThresholds DashboardColumnLayoutColumnsWidgetsXyChartThresholds
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartThresholds) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsXyChartThresholds
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsXyChartThresholds
- } else {
-
- r.Label = res.Label
-
- r.Value = res.Value
-
- r.Color = res.Color
-
- r.Direction = res.Direction
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsXyChartThresholds is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsXyChartThresholds *DashboardColumnLayoutColumnsWidgetsXyChartThresholds = &DashboardColumnLayoutColumnsWidgetsXyChartThresholds{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartThresholds) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartThresholds) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartThresholds) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsXyChartXAxis struct {
- empty bool `json:"-"`
- Label *string `json:"label"`
- Scale *DashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnum `json:"scale"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsXyChartXAxis DashboardColumnLayoutColumnsWidgetsXyChartXAxis
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartXAxis) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsXyChartXAxis
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsXyChartXAxis
- } else {
-
- r.Label = res.Label
-
- r.Scale = res.Scale
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsXyChartXAxis is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsXyChartXAxis *DashboardColumnLayoutColumnsWidgetsXyChartXAxis = &DashboardColumnLayoutColumnsWidgetsXyChartXAxis{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartXAxis) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartXAxis) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartXAxis) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsXyChartYAxis struct {
- empty bool `json:"-"`
- Label *string `json:"label"`
- Scale *DashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnum `json:"scale"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsXyChartYAxis DashboardColumnLayoutColumnsWidgetsXyChartYAxis
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartYAxis) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsXyChartYAxis
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsXyChartYAxis
- } else {
-
- r.Label = res.Label
-
- r.Scale = res.Scale
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsXyChartYAxis is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsXyChartYAxis *DashboardColumnLayoutColumnsWidgetsXyChartYAxis = &DashboardColumnLayoutColumnsWidgetsXyChartYAxis{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartYAxis) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartYAxis) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartYAxis) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsXyChartChartOptions struct {
- empty bool `json:"-"`
- Mode *DashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnum `json:"mode"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsXyChartChartOptions DashboardColumnLayoutColumnsWidgetsXyChartChartOptions
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartChartOptions) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsXyChartChartOptions
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsXyChartChartOptions
- } else {
-
- r.Mode = res.Mode
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsXyChartChartOptions is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsXyChartChartOptions *DashboardColumnLayoutColumnsWidgetsXyChartChartOptions = &DashboardColumnLayoutColumnsWidgetsXyChartChartOptions{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartChartOptions) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartChartOptions) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartChartOptions) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsScorecard struct {
- empty bool `json:"-"`
- TimeSeriesQuery *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery `json:"timeSeriesQuery"`
- GaugeView *DashboardColumnLayoutColumnsWidgetsScorecardGaugeView `json:"gaugeView"`
- SparkChartView *DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView `json:"sparkChartView"`
- Thresholds []DashboardColumnLayoutColumnsWidgetsScorecardThresholds `json:"thresholds"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsScorecard DashboardColumnLayoutColumnsWidgetsScorecard
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecard) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsScorecard
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsScorecard
- } else {
-
- r.TimeSeriesQuery = res.TimeSeriesQuery
-
- r.GaugeView = res.GaugeView
-
- r.SparkChartView = res.SparkChartView
-
- r.Thresholds = res.Thresholds
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsScorecard is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsScorecard *DashboardColumnLayoutColumnsWidgetsScorecard = &DashboardColumnLayoutColumnsWidgetsScorecard{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecard) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecard) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecard) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery struct {
- empty bool `json:"-"`
- TimeSeriesFilter *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter `json:"timeSeriesFilter"`
- TimeSeriesFilterRatio *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio `json:"timeSeriesFilterRatio"`
- TimeSeriesQueryLanguage *string `json:"timeSeriesQueryLanguage"`
- UnitOverride *string `json:"unitOverride"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery
- } else {
-
- r.TimeSeriesFilter = res.TimeSeriesFilter
-
- r.TimeSeriesFilterRatio = res.TimeSeriesFilterRatio
-
- r.TimeSeriesQueryLanguage = res.TimeSeriesQueryLanguage
-
- r.UnitOverride = res.UnitOverride
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter struct {
- empty bool `json:"-"`
- Filter *string `json:"filter"`
- Aggregation *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation `json:"aggregation"`
- SecondaryAggregation *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation `json:"secondaryAggregation"`
- PickTimeSeriesFilter *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter `json:"pickTimeSeriesFilter"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter
- } else {
-
- r.Filter = res.Filter
-
- r.Aggregation = res.Aggregation
-
- r.SecondaryAggregation = res.SecondaryAggregation
-
- r.PickTimeSeriesFilter = res.PickTimeSeriesFilter
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter struct {
- empty bool `json:"-"`
- RankingMethod *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum `json:"rankingMethod"`
- NumTimeSeries *int64 `json:"numTimeSeries"`
- Direction *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum `json:"direction"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- } else {
-
- r.RankingMethod = res.RankingMethod
-
- r.NumTimeSeries = res.NumTimeSeries
-
- r.Direction = res.Direction
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio struct {
- empty bool `json:"-"`
- Numerator *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator `json:"numerator"`
- Denominator *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator `json:"denominator"`
- SecondaryAggregation *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation `json:"secondaryAggregation"`
- PickTimeSeriesFilter *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter `json:"pickTimeSeriesFilter"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio
- } else {
-
- r.Numerator = res.Numerator
-
- r.Denominator = res.Denominator
-
- r.SecondaryAggregation = res.SecondaryAggregation
-
- r.PickTimeSeriesFilter = res.PickTimeSeriesFilter
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator struct {
- empty bool `json:"-"`
- Filter *string `json:"filter"`
- Aggregation *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation `json:"aggregation"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
- } else {
-
- r.Filter = res.Filter
-
- r.Aggregation = res.Aggregation
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator struct {
- empty bool `json:"-"`
- Filter *string `json:"filter"`
- Aggregation *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation `json:"aggregation"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
- } else {
-
- r.Filter = res.Filter
-
- r.Aggregation = res.Aggregation
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation struct {
- empty bool `json:"-"`
- AlignmentPeriod *string `json:"alignmentPeriod"`
- PerSeriesAligner *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum `json:"perSeriesAligner"`
- CrossSeriesReducer *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum `json:"crossSeriesReducer"`
- GroupByFields []string `json:"groupByFields"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- } else {
-
- r.AlignmentPeriod = res.AlignmentPeriod
-
- r.PerSeriesAligner = res.PerSeriesAligner
-
- r.CrossSeriesReducer = res.CrossSeriesReducer
-
- r.GroupByFields = res.GroupByFields
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter struct {
- empty bool `json:"-"`
- RankingMethod *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum `json:"rankingMethod"`
- NumTimeSeries *int64 `json:"numTimeSeries"`
- Direction *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum `json:"direction"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- } else {
-
- r.RankingMethod = res.RankingMethod
-
- r.NumTimeSeries = res.NumTimeSeries
-
- r.Direction = res.Direction
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsScorecardGaugeView struct {
- empty bool `json:"-"`
- LowerBound *float64 `json:"lowerBound"`
- UpperBound *float64 `json:"upperBound"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsScorecardGaugeView DashboardColumnLayoutColumnsWidgetsScorecardGaugeView
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardGaugeView) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsScorecardGaugeView
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsScorecardGaugeView
- } else {
-
- r.LowerBound = res.LowerBound
-
- r.UpperBound = res.UpperBound
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsScorecardGaugeView is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsScorecardGaugeView *DashboardColumnLayoutColumnsWidgetsScorecardGaugeView = &DashboardColumnLayoutColumnsWidgetsScorecardGaugeView{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardGaugeView) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardGaugeView) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardGaugeView) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView struct {
- empty bool `json:"-"`
- SparkChartType *DashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnum `json:"sparkChartType"`
- MinAlignmentPeriod *string `json:"minAlignmentPeriod"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsScorecardSparkChartView DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsScorecardSparkChartView
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsScorecardSparkChartView
- } else {
-
- r.SparkChartType = res.SparkChartType
-
- r.MinAlignmentPeriod = res.MinAlignmentPeriod
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsScorecardSparkChartView *DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView = &DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsScorecardThresholds struct {
- empty bool `json:"-"`
- Label *string `json:"label"`
- Value *float64 `json:"value"`
- Color *DashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnum `json:"color"`
- Direction *DashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnum `json:"direction"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsScorecardThresholds DashboardColumnLayoutColumnsWidgetsScorecardThresholds
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardThresholds) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsScorecardThresholds
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsScorecardThresholds
- } else {
-
- r.Label = res.Label
-
- r.Value = res.Value
-
- r.Color = res.Color
-
- r.Direction = res.Direction
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsScorecardThresholds is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsScorecardThresholds *DashboardColumnLayoutColumnsWidgetsScorecardThresholds = &DashboardColumnLayoutColumnsWidgetsScorecardThresholds{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardThresholds) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardThresholds) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardThresholds) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsText struct {
- empty bool `json:"-"`
- Content *string `json:"content"`
- Format *DashboardColumnLayoutColumnsWidgetsTextFormatEnum `json:"format"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsText DashboardColumnLayoutColumnsWidgetsText
-
-func (r *DashboardColumnLayoutColumnsWidgetsText) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsText
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsText
- } else {
-
- r.Content = res.Content
-
- r.Format = res.Format
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsText is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsText *DashboardColumnLayoutColumnsWidgetsText = &DashboardColumnLayoutColumnsWidgetsText{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsText) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsText) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsText) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsBlank struct {
- empty bool `json:"-"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsBlank DashboardColumnLayoutColumnsWidgetsBlank
-
-func (r *DashboardColumnLayoutColumnsWidgetsBlank) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsBlank
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsBlank
- } else {
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsBlank is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsBlank *DashboardColumnLayoutColumnsWidgetsBlank = &DashboardColumnLayoutColumnsWidgetsBlank{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsBlank) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsBlank) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsBlank) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type DashboardColumnLayoutColumnsWidgetsLogsPanel struct {
- empty bool `json:"-"`
- Filter *string `json:"filter"`
- ResourceNames []string `json:"resourceNames"`
-}
-
-type jsonDashboardColumnLayoutColumnsWidgetsLogsPanel DashboardColumnLayoutColumnsWidgetsLogsPanel
-
-func (r *DashboardColumnLayoutColumnsWidgetsLogsPanel) UnmarshalJSON(data []byte) error {
- var res jsonDashboardColumnLayoutColumnsWidgetsLogsPanel
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyDashboardColumnLayoutColumnsWidgetsLogsPanel
- } else {
-
- r.Filter = res.Filter
-
- r.ResourceNames = res.ResourceNames
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this DashboardColumnLayoutColumnsWidgetsLogsPanel is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyDashboardColumnLayoutColumnsWidgetsLogsPanel *DashboardColumnLayoutColumnsWidgetsLogsPanel = &DashboardColumnLayoutColumnsWidgetsLogsPanel{empty: true}
-
-func (r *DashboardColumnLayoutColumnsWidgetsLogsPanel) Empty() bool {
- return r.empty
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsLogsPanel) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *DashboardColumnLayoutColumnsWidgetsLogsPanel) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-// Describe returns a simple description of this resource to ensure that automated tools
-// can identify it.
-func (r *Dashboard) Describe() dcl.ServiceTypeVersion {
- return dcl.ServiceTypeVersion{
- Service: "monitoring",
- Type: "Dashboard",
- Version: "monitoring",
- }
-}
-
-func (r *Dashboard) ID() (string, error) {
- if err := extractDashboardFields(r); err != nil {
- return "", err
- }
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "name": dcl.ValueOrEmptyString(nr.Name),
- "display_name": dcl.ValueOrEmptyString(nr.DisplayName),
- "grid_layout": dcl.ValueOrEmptyString(nr.GridLayout),
- "mosaic_layout": dcl.ValueOrEmptyString(nr.MosaicLayout),
- "row_layout": dcl.ValueOrEmptyString(nr.RowLayout),
- "column_layout": dcl.ValueOrEmptyString(nr.ColumnLayout),
- "project": dcl.ValueOrEmptyString(nr.Project),
- "etag": dcl.ValueOrEmptyString(nr.Etag),
- }
- return dcl.Nprintf("projects/{{project}}/dashboards/{{name}}", params), nil
-}
-
-const DashboardMaxPage = -1
-
-type DashboardList struct {
- Items []*Dashboard
-
- nextToken string
-
- pageSize int32
-
- resource *Dashboard
-}
-
-func (l *DashboardList) HasNext() bool {
- return l.nextToken != ""
-}
-
-func (l *DashboardList) Next(ctx context.Context, c *Client) error {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- if !l.HasNext() {
- return fmt.Errorf("no next page")
- }
- items, token, err := c.listDashboard(ctx, l.resource, l.nextToken, l.pageSize)
- if err != nil {
- return err
- }
- l.Items = items
- l.nextToken = token
- return err
-}
-
-func (c *Client) ListDashboard(ctx context.Context, project string) (*DashboardList, error) {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- return c.ListDashboardWithMaxResults(ctx, project, DashboardMaxPage)
-
-}
-
-func (c *Client) ListDashboardWithMaxResults(ctx context.Context, project string, pageSize int32) (*DashboardList, error) {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- // Create a resource object so that we can use proper url normalization methods.
- r := &Dashboard{
- Project: &project,
- }
- items, token, err := c.listDashboard(ctx, r, "", pageSize)
- if err != nil {
- return nil, err
- }
- return &DashboardList{
- Items: items,
- nextToken: token,
- pageSize: pageSize,
- resource: r,
- }, nil
-}
-
-func (c *Client) GetDashboard(ctx context.Context, r *Dashboard) (*Dashboard, error) {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- // This is *purposefully* supressing errors.
- // This function is used with url-normalized values + not URL normalized values.
- // URL Normalized values will throw unintentional errors, since those values are not of the proper parent form.
- extractDashboardFields(r)
-
- b, err := c.getDashboardRaw(ctx, r)
- if err != nil {
- if dcl.IsNotFound(err) {
- return nil, &googleapi.Error{
- Code: 404,
- Message: err.Error(),
- }
- }
- return nil, err
- }
- result, err := unmarshalDashboard(b, c, r)
- if err != nil {
- return nil, err
- }
- result.Project = r.Project
- result.Name = r.Name
-
- c.Config.Logger.InfoWithContextf(ctx, "Retrieved raw result state: %v", result)
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalizing with specified state: %v", r)
- result, err = canonicalizeDashboardNewState(c, result, r)
- if err != nil {
- return nil, err
- }
- if err := postReadExtractDashboardFields(result); err != nil {
- return result, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Created result state: %v", result)
-
- return result, nil
-}
-
-func (c *Client) DeleteDashboard(ctx context.Context, r *Dashboard) error {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- if r == nil {
- return fmt.Errorf("Dashboard resource is nil")
- }
- c.Config.Logger.InfoWithContext(ctx, "Deleting Dashboard...")
- deleteOp := deleteDashboardOperation{}
- return deleteOp.do(ctx, r, c)
-}
-
-// DeleteAllDashboard deletes all resources that the filter functions returns true on.
-func (c *Client) DeleteAllDashboard(ctx context.Context, project string, filter func(*Dashboard) bool) error {
- listObj, err := c.ListDashboard(ctx, project)
- if err != nil {
- return err
- }
-
- err = c.deleteAllDashboard(ctx, filter, listObj.Items)
- if err != nil {
- return err
- }
- for listObj.HasNext() {
- err = listObj.Next(ctx, c)
- if err != nil {
- return nil
- }
- err = c.deleteAllDashboard(ctx, filter, listObj.Items)
- if err != nil {
- return err
- }
- }
- return nil
-}
-
-func (c *Client) ApplyDashboard(ctx context.Context, rawDesired *Dashboard, opts ...dcl.ApplyOption) (*Dashboard, error) {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- ctx = dcl.ContextWithRequestID(ctx)
- var resultNewState *Dashboard
- err := dcl.Do(ctx, func(ctx context.Context) (*dcl.RetryDetails, error) {
- newState, err := applyDashboardHelper(c, ctx, rawDesired, opts...)
- resultNewState = newState
- if err != nil {
- // If the error is 409, there is conflict in resource update.
- // Here we want to apply changes based on latest state.
- if dcl.IsConflictError(err) {
- return &dcl.RetryDetails{}, dcl.OperationNotDone{Err: err}
- }
- return nil, err
- }
- return nil, nil
- }, c.Config.RetryProvider)
- return resultNewState, err
-}
-
-func applyDashboardHelper(c *Client, ctx context.Context, rawDesired *Dashboard, opts ...dcl.ApplyOption) (*Dashboard, error) {
- c.Config.Logger.InfoWithContext(ctx, "Beginning ApplyDashboard...")
- c.Config.Logger.InfoWithContextf(ctx, "User specified desired state: %v", rawDesired)
-
- // 1.1: Validation of user-specified fields in desired state.
- if err := rawDesired.validate(); err != nil {
- return nil, err
- }
-
- if err := extractDashboardFields(rawDesired); err != nil {
- return nil, err
- }
-
- initial, desired, fieldDiffs, err := c.dashboardDiffsForRawDesired(ctx, rawDesired, opts...)
- if err != nil {
- return nil, fmt.Errorf("failed to create a diff: %w", err)
- }
-
- diffs, err := convertFieldDiffsToDashboardDiffs(c.Config, fieldDiffs, opts)
- if err != nil {
- return nil, err
- }
-
- // TODO(magic-modules-eng): 2.2 Feasibility check (all updates are feasible so far).
-
- // 2.3: Lifecycle Directive Check
- var create bool
- lp := dcl.FetchLifecycleParams(opts)
- if initial == nil {
- if dcl.HasLifecycleParam(lp, dcl.BlockCreation) {
- return nil, dcl.ApplyInfeasibleError{Message: fmt.Sprintf("Creation blocked by lifecycle params: %#v.", desired)}
- }
- create = true
- } else if dcl.HasLifecycleParam(lp, dcl.BlockAcquire) {
- return nil, dcl.ApplyInfeasibleError{
- Message: fmt.Sprintf("Resource already exists - apply blocked by lifecycle params: %#v.", initial),
- }
- } else {
- for _, d := range diffs {
- if d.RequiresRecreate {
- return nil, dcl.ApplyInfeasibleError{
- Message: fmt.Sprintf("infeasible update: (%v) would require recreation", d),
- }
- }
- if dcl.HasLifecycleParam(lp, dcl.BlockModification) {
- return nil, dcl.ApplyInfeasibleError{Message: fmt.Sprintf("Modification blocked, diff (%v) unresolvable.", d)}
- }
- }
- }
-
- // 2.4 Imperative Request Planning
- var ops []dashboardApiOperation
- if create {
- ops = append(ops, &createDashboardOperation{})
- } else {
- for _, d := range diffs {
- ops = append(ops, d.UpdateOp)
- }
- }
- c.Config.Logger.InfoWithContextf(ctx, "Created plan: %#v", ops)
-
- // 2.5 Request Actuation
- for _, op := range ops {
- c.Config.Logger.InfoWithContextf(ctx, "Performing operation %T %+v", op, op)
- if err := op.do(ctx, desired, c); err != nil {
- c.Config.Logger.InfoWithContextf(ctx, "Failed operation %T %+v: %v", op, op, err)
- return nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Finished operation %T %+v", op, op)
- }
- return applyDashboardDiff(c, ctx, desired, rawDesired, ops, opts...)
-}
-
-func applyDashboardDiff(c *Client, ctx context.Context, desired *Dashboard, rawDesired *Dashboard, ops []dashboardApiOperation, opts ...dcl.ApplyOption) (*Dashboard, error) {
- // 3.1, 3.2a Retrieval of raw new state & canonicalization with desired state
- c.Config.Logger.InfoWithContext(ctx, "Retrieving raw new state...")
- rawNew, err := c.GetDashboard(ctx, desired)
- if err != nil {
- return nil, err
- }
- // Get additional values from the first response.
- // These values should be merged into the newState above.
- if len(ops) > 0 {
- lastOp := ops[len(ops)-1]
- if o, ok := lastOp.(*createDashboardOperation); ok {
- if r, hasR := o.FirstResponse(); hasR {
-
- c.Config.Logger.InfoWithContext(ctx, "Retrieving raw new state from operation...")
-
- fullResp, err := unmarshalMapDashboard(r, c, rawDesired)
- if err != nil {
- return nil, err
- }
-
- rawNew, err = canonicalizeDashboardNewState(c, rawNew, fullResp)
- if err != nil {
- return nil, err
- }
- }
- }
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalizing with raw desired state: %v", rawDesired)
- // 3.2b Canonicalization of raw new state using raw desired state
- newState, err := canonicalizeDashboardNewState(c, rawNew, rawDesired)
- if err != nil {
- return rawNew, err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Created canonical new state: %v", newState)
- // 3.3 Comparison of the new state and raw desired state.
- // TODO(magic-modules-eng): EVENTUALLY_CONSISTENT_UPDATE
- newDesired, err := canonicalizeDashboardDesiredState(rawDesired, newState)
- if err != nil {
- return newState, err
- }
-
- if err := postReadExtractDashboardFields(newState); err != nil {
- return newState, err
- }
-
- // Need to ensure any transformations made here match acceptably in differ.
- if err := postReadExtractDashboardFields(newDesired); err != nil {
- return newState, err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Diffing using canonicalized desired state: %v", newDesired)
- newDiffs, err := diffDashboard(c, newDesired, newState)
- if err != nil {
- return newState, err
- }
-
- if len(newDiffs) == 0 {
- c.Config.Logger.InfoWithContext(ctx, "No diffs found. Apply was successful.")
- } else {
- c.Config.Logger.InfoWithContextf(ctx, "Found diffs: %v", newDiffs)
- diffMessages := make([]string, len(newDiffs))
- for i, d := range newDiffs {
- diffMessages[i] = fmt.Sprintf("%v", d)
- }
- return newState, dcl.DiffAfterApplyError{Diffs: diffMessages}
- }
- c.Config.Logger.InfoWithContext(ctx, "Done Apply.")
- return newState, nil
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/dashboard.yaml b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/dashboard.yaml
deleted file mode 100644
index 8ae3337c87..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/dashboard.yaml
+++ /dev/null
@@ -1,8992 +0,0 @@
-# Copyright 2023 Google LLC. All Rights Reserved.
-#
-# 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.
-info:
- title: Monitoring/Dashboard
- description: The Monitoring Dashboard resource
- x-dcl-struct-name: Dashboard
- x-dcl-has-iam: false
-paths:
- get:
- description: The function used to get information about a Dashboard
- parameters:
- - name: dashboard
- required: true
- description: A full instance of a Dashboard
- apply:
- description: The function used to apply information about a Dashboard
- parameters:
- - name: dashboard
- required: true
- description: A full instance of a Dashboard
- delete:
- description: The function used to delete a Dashboard
- parameters:
- - name: dashboard
- required: true
- description: A full instance of a Dashboard
- deleteAll:
- description: The function used to delete all Dashboard
- parameters:
- - name: project
- required: true
- schema:
- type: string
- list:
- description: The function used to list information about many Dashboard
- parameters:
- - name: project
- required: true
- schema:
- type: string
-components:
- schemas:
- Dashboard:
- title: Dashboard
- x-dcl-id: projects/{{project}}/dashboards/{{name}}
- x-dcl-parent-container: project
- x-dcl-has-create: true
- x-dcl-has-iam: false
- x-dcl-read-timeout: 0
- x-dcl-apply-timeout: 0
- x-dcl-delete-timeout: 0
- type: object
- required:
- - name
- - displayName
- - project
- properties:
- columnLayout:
- type: object
- x-dcl-go-name: ColumnLayout
- x-dcl-go-type: DashboardColumnLayout
- description: The content is divided into equally spaced columns and the
- widgets are arranged vertically.
- x-dcl-conflicts:
- - gridLayout
- - mosaicLayout
- - rowLayout
- properties:
- columns:
- type: array
- x-dcl-go-name: Columns
- description: The columns of content to display.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: object
- x-dcl-go-type: DashboardColumnLayoutColumns
- properties:
- weight:
- type: integer
- format: int64
- x-dcl-go-name: Weight
- description: The relative weight of this column. The column weight
- is used to adjust the width of columns on the screen (relative
- to peers). Greater the weight, greater the width of the column
- on the screen. If omitted, a value of 1 is used while rendering.
- widgets:
- type: array
- x-dcl-go-name: Widgets
- description: The display widgets arranged vertically in this column.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: object
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgets
- properties:
- blank:
- type: object
- x-dcl-go-name: Blank
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsBlank
- description: A blank space.
- x-dcl-conflicts:
- - xyChart
- - scorecard
- - text
- - logsPanel
- logsPanel:
- type: object
- x-dcl-go-name: LogsPanel
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsLogsPanel
- x-dcl-conflicts:
- - xyChart
- - scorecard
- - text
- - blank
- properties:
- filter:
- type: string
- x-dcl-go-name: Filter
- description: A filter that chooses which log entries
- to return. See [Advanced Logs Queries](https://cloud.google.com/logging/docs/view/advanced-queries).
- Only log entries that match the filter are returned.
- An empty filter matches all log entries.
- resourceNames:
- type: array
- x-dcl-go-name: ResourceNames
- description: The names of logging resources to collect
- logs for. Currently only projects are supported. If
- empty, the widget will default to the host project.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- x-dcl-references:
- - resource: Cloudresourcemanager/Project
- field: name
- scorecard:
- type: object
- x-dcl-go-name: Scorecard
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecard
- description: A scorecard summarizing time series data.
- x-dcl-conflicts:
- - xyChart
- - text
- - blank
- - logsPanel
- required:
- - timeSeriesQuery
- properties:
- gaugeView:
- type: object
- x-dcl-go-name: GaugeView
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardGaugeView
- description: Will cause the scorecard to show a gauge
- chart.
- properties:
- lowerBound:
- type: number
- format: double
- x-dcl-go-name: LowerBound
- description: The lower bound for this gauge chart.
- The value of the chart should always be greater
- than or equal to this.
- upperBound:
- type: number
- format: double
- x-dcl-go-name: UpperBound
- description: The upper bound for this gauge chart.
- The value of the chart should always be less than
- or equal to this.
- sparkChartView:
- type: object
- x-dcl-go-name: SparkChartView
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView
- description: Will cause the scorecard to show a spark
- chart.
- required:
- - sparkChartType
- properties:
- minAlignmentPeriod:
- type: string
- x-dcl-go-name: MinAlignmentPeriod
- description: The lower bound on data point frequency
- in the chart implemented by specifying the minimum
- alignment period to use in a time series query.
- For example, if the data is published once every
- 10 minutes it would not make sense to fetch and
- align data at one minute intervals. This field
- is optional and exists only as a hint.
- sparkChartType:
- type: string
- x-dcl-go-name: SparkChartType
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnum
- description: 'Required. The type of sparkchart to
- show in this chartView. Possible values: SPARK_CHART_TYPE_UNSPECIFIED,
- SPARK_LINE, SPARK_BAR'
- enum:
- - SPARK_CHART_TYPE_UNSPECIFIED
- - SPARK_LINE
- - SPARK_BAR
- thresholds:
- type: array
- x-dcl-go-name: Thresholds
- description: 'The thresholds used to determine the state
- of the scorecard given the time series'' current value.
- For an actual value x, the scorecard is in a danger
- state if x is less than or equal to a danger threshold
- that triggers below, or greater than or equal to a
- danger threshold that triggers above. Similarly, if
- x is above/below a warning threshold that triggers
- above/below, then the scorecard is in a warning state
- - unless x also puts it in a danger state. (Danger
- trumps warning.) As an example, consider a scorecard
- with the following four thresholds: { value: 90, category:
- ''DANGER'', trigger: ''ABOVE'', },: { value: 70, category:
- ''WARNING'', trigger: ''ABOVE'', }, { value: 10, category:
- ''DANGER'', trigger: ''BELOW'', }, { value: 20, category:
- ''WARNING'', trigger: ''BELOW'', } Then: values
- less than or equal to 10 would put the scorecard in
- a DANGER state, values greater than 10 but less than
- or equal to 20 a WARNING state, values strictly between
- 20 and 70 an OK state, values greater than or equal
- to 70 but less than 90 a WARNING state, and values
- greater than or equal to 90 a DANGER state.'
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: object
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardThresholds
- properties:
- color:
- type: string
- x-dcl-go-name: Color
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnum
- description: 'The state color for this threshold.
- Color is not allowed in a XyChart. Possible
- values: COLOR_UNSPECIFIED, GREY, BLUE, GREEN,
- YELLOW, ORANGE, RED'
- enum:
- - COLOR_UNSPECIFIED
- - GREY
- - BLUE
- - GREEN
- - YELLOW
- - ORANGE
- - RED
- direction:
- type: string
- x-dcl-go-name: Direction
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnum
- description: 'The direction for the current threshold.
- Direction is not allowed in a XyChart. Possible
- values: DIRECTION_UNSPECIFIED, ABOVE, BELOW'
- enum:
- - DIRECTION_UNSPECIFIED
- - ABOVE
- - BELOW
- label:
- type: string
- x-dcl-go-name: Label
- description: A label for the threshold.
- value:
- type: number
- format: double
- x-dcl-go-name: Value
- description: The value of the threshold. The value
- should be defined in the native scale of the
- metric.
- timeSeriesQuery:
- type: object
- x-dcl-go-name: TimeSeriesQuery
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery
- description: Required. Fields for querying time series
- data from the Stackdriver metrics API.
- properties:
- timeSeriesFilter:
- type: object
- x-dcl-go-name: TimeSeriesFilter
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter
- description: Filter parameters to fetch time series.
- required:
- - filter
- properties:
- aggregation:
- type: object
- x-dcl-go-name: Aggregation
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation
- description: By default, the raw time series
- data is returned. Use this field to combine
- multiple time series for different views of
- the data.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period` specifies
- a time interval, in seconds, that is used
- to divide the data in all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time. This will
- be done before the per-series aligner
- can be applied to the data. The value
- must be at least 60 seconds. If a per-series
- aligner other than `ALIGN_NONE` is specified,
- this field is required or an error is
- returned. If no per-series aligner is
- specified, or the aligner `ALIGN_NONE`
- is specified, then this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum
- description: 'The reduction operation to
- be used to combine time series into a
- single time series, where the value of
- each data point in the resulting series
- is a function of all the already aligned
- values in the input time series. Not
- all reducer operations can be applied
- to all time series. The valid choices
- depend on the `metric_kind` and the `value_type`
- of the original time series. Reduction
- can yield a time series with a different
- `metric_kind` or `value_type` than the
- input time series. Time series data must
- first be aligned (see `per_series_aligner`)
- in order to perform cross-time series
- reduction. If `cross_series_reducer` is
- specified, then `per_series_aligner` must
- be specified, and must not be `ALIGN_NONE`.
- An `alignment_period` must also be specified;
- otherwise, an error is returned. Possible
- values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
- REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
- REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
- REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
- REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
- REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
- REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to preserve
- when `cross_series_reducer` is specified.
- The `group_by_fields` determine how the
- time series are partitioned into subsets
- prior to applying the aggregation operation.
- Each subset contains time series that
- have the same value for each of the grouping
- fields. Each individual time series is
- a member of exactly one subset. The `cross_series_reducer`
- is applied to each subset of time series.
- It is not possible to reduce across different
- resource types, so this field implicitly
- contains `resource.type`. Fields not
- specified in `group_by_fields` are aggregated
- away. If `group_by_fields` is not specified
- and all the time series have the same
- resource type, then the time series are
- aggregated into a single output time series.
- If `cross_series_reducer` is not defined,
- this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes how
- to bring the data points in a single time
- series into temporal alignment. Except
- for `ALIGN_NONE`, all alignments cause
- all the data points in an `alignment_period`
- to be mathematically grouped together,
- resulting in a single data point for each
- `alignment_period` with end timestamp
- at the end of the period. Not all alignment
- operations may be applied to all time
- series. The valid choices depend on the
- `metric_kind` and `value_type` of the
- original time series. Alignment can change
- the `metric_kind` or the `value_type`
- of the time series. Time series data
- must be aligned in order to perform cross-time
- series reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified and not equal to `ALIGN_NONE`
- and `alignment_period` must be specified;
- otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- filter:
- type: string
- x-dcl-go-name: Filter
- description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
- that identifies the metric types, resources,
- and projects to query.
- pickTimeSeriesFilter:
- type: object
- x-dcl-go-name: PickTimeSeriesFilter
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- description: Ranking based time series filter.
- properties:
- direction:
- type: string
- x-dcl-go-name: Direction
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum
- description: 'How to use the ranking to
- select time series that pass through the
- filter. Possible values: DIRECTION_UNSPECIFIED,
- TOP, BOTTOM'
- enum:
- - DIRECTION_UNSPECIFIED
- - TOP
- - BOTTOM
- numTimeSeries:
- type: integer
- format: int64
- x-dcl-go-name: NumTimeSeries
- description: How many time series to allow
- to pass through the filter.
- rankingMethod:
- type: string
- x-dcl-go-name: RankingMethod
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum
- description: '`ranking_method` is applied
- to each time series independently to produce
- the value which will be used to compare
- the time series to other time series.
- Possible values: METHOD_UNSPECIFIED, METHOD_MEAN,
- METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST'
- enum:
- - METHOD_UNSPECIFIED
- - METHOD_MEAN
- - METHOD_MAX
- - METHOD_MIN
- - METHOD_SUM
- - METHOD_LATEST
- secondaryAggregation:
- type: object
- x-dcl-go-name: SecondaryAggregation
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- description: Apply a second aggregation after
- `aggregation` is applied.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period` specifies
- a time interval, in seconds, that is used
- to divide the data in all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time. This will
- be done before the per-series aligner
- can be applied to the data. The value
- must be at least 60 seconds. If a per-series
- aligner other than `ALIGN_NONE` is specified,
- this field is required or an error is
- returned. If no per-series aligner is
- specified, or the aligner `ALIGN_NONE`
- is specified, then this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum
- description: 'The reduction operation to
- be used to combine time series into a
- single time series, where the value of
- each data point in the resulting series
- is a function of all the already aligned
- values in the input time series. Not
- all reducer operations can be applied
- to all time series. The valid choices
- depend on the `metric_kind` and the `value_type`
- of the original time series. Reduction
- can yield a time series with a different
- `metric_kind` or `value_type` than the
- input time series. Time series data must
- first be aligned (see `per_series_aligner`)
- in order to perform cross-time series
- reduction. If `cross_series_reducer` is
- specified, then `per_series_aligner` must
- be specified, and must not be `ALIGN_NONE`.
- An `alignment_period` must also be specified;
- otherwise, an error is returned. Possible
- values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
- REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
- REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
- REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
- REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
- REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
- REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to preserve
- when `cross_series_reducer` is specified.
- The `group_by_fields` determine how the
- time series are partitioned into subsets
- prior to applying the aggregation operation.
- Each subset contains time series that
- have the same value for each of the grouping
- fields. Each individual time series is
- a member of exactly one subset. The `cross_series_reducer`
- is applied to each subset of time series.
- It is not possible to reduce across different
- resource types, so this field implicitly
- contains `resource.type`. Fields not
- specified in `group_by_fields` are aggregated
- away. If `group_by_fields` is not specified
- and all the time series have the same
- resource type, then the time series are
- aggregated into a single output time series.
- If `cross_series_reducer` is not defined,
- this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes how
- to bring the data points in a single time
- series into temporal alignment. Except
- for `ALIGN_NONE`, all alignments cause
- all the data points in an `alignment_period`
- to be mathematically grouped together,
- resulting in a single data point for each
- `alignment_period` with end timestamp
- at the end of the period. Not all alignment
- operations may be applied to all time
- series. The valid choices depend on the
- `metric_kind` and `value_type` of the
- original time series. Alignment can change
- the `metric_kind` or the `value_type`
- of the time series. Time series data
- must be aligned in order to perform cross-time
- series reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified and not equal to `ALIGN_NONE`
- and `alignment_period` must be specified;
- otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- timeSeriesFilterRatio:
- type: object
- x-dcl-go-name: TimeSeriesFilterRatio
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio
- description: Parameters to fetch a ratio between
- two time series filters.
- properties:
- denominator:
- type: object
- x-dcl-go-name: Denominator
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
- description: The denominator of the ratio.
- required:
- - filter
- properties:
- aggregation:
- type: object
- x-dcl-go-name: Aggregation
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- description: By default, the raw time series
- data is returned. Use this field to combine
- multiple time series for different views
- of the data.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period`
- specifies a time interval, in seconds,
- that is used to divide the data in
- all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time. This
- will be done before the per-series
- aligner can be applied to the data. The
- value must be at least 60 seconds.
- If a per-series aligner other than
- `ALIGN_NONE` is specified, this field
- is required or an error is returned.
- If no per-series aligner is specified,
- or the aligner `ALIGN_NONE` is specified,
- then this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum
- description: 'The reduction operation
- to be used to combine time series
- into a single time series, where the
- value of each data point in the resulting
- series is a function of all the already
- aligned values in the input time series. Not
- all reducer operations can be applied
- to all time series. The valid choices
- depend on the `metric_kind` and the
- `value_type` of the original time
- series. Reduction can yield a time
- series with a different `metric_kind`
- or `value_type` than the input time
- series. Time series data must first
- be aligned (see `per_series_aligner`)
- in order to perform cross-time series
- reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified, and must not be
- `ALIGN_NONE`. An `alignment_period`
- must also be specified; otherwise,
- an error is returned. Possible values:
- REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
- REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
- REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
- REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
- REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
- REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
- REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to preserve
- when `cross_series_reducer` is specified.
- The `group_by_fields` determine how
- the time series are partitioned into
- subsets prior to applying the aggregation
- operation. Each subset contains time
- series that have the same value for
- each of the grouping fields. Each
- individual time series is a member
- of exactly one subset. The `cross_series_reducer`
- is applied to each subset of time
- series. It is not possible to reduce
- across different resource types, so
- this field implicitly contains `resource.type`. Fields
- not specified in `group_by_fields`
- are aggregated away. If `group_by_fields`
- is not specified and all the time
- series have the same resource type,
- then the time series are aggregated
- into a single output time series.
- If `cross_series_reducer` is not defined,
- this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes
- how to bring the data points in a
- single time series into temporal alignment.
- Except for `ALIGN_NONE`, all alignments
- cause all the data points in an `alignment_period`
- to be mathematically grouped together,
- resulting in a single data point for
- each `alignment_period` with end timestamp
- at the end of the period. Not all
- alignment operations may be applied
- to all time series. The valid choices
- depend on the `metric_kind` and `value_type`
- of the original time series. Alignment
- can change the `metric_kind` or the
- `value_type` of the time series. Time
- series data must be aligned in order
- to perform cross-time series reduction.
- If `cross_series_reducer` is specified,
- then `per_series_aligner` must be
- specified and not equal to `ALIGN_NONE`
- and `alignment_period` must be specified;
- otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- filter:
- type: string
- x-dcl-go-name: Filter
- description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
- that identifies the metric types, resources,
- and projects to query.
- numerator:
- type: object
- x-dcl-go-name: Numerator
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
- description: The numerator of the ratio.
- required:
- - filter
- properties:
- aggregation:
- type: object
- x-dcl-go-name: Aggregation
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- description: By default, the raw time series
- data is returned. Use this field to combine
- multiple time series for different views
- of the data.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period`
- specifies a time interval, in seconds,
- that is used to divide the data in
- all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time. This
- will be done before the per-series
- aligner can be applied to the data. The
- value must be at least 60 seconds.
- If a per-series aligner other than
- `ALIGN_NONE` is specified, this field
- is required or an error is returned.
- If no per-series aligner is specified,
- or the aligner `ALIGN_NONE` is specified,
- then this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum
- description: 'The reduction operation
- to be used to combine time series
- into a single time series, where the
- value of each data point in the resulting
- series is a function of all the already
- aligned values in the input time series. Not
- all reducer operations can be applied
- to all time series. The valid choices
- depend on the `metric_kind` and the
- `value_type` of the original time
- series. Reduction can yield a time
- series with a different `metric_kind`
- or `value_type` than the input time
- series. Time series data must first
- be aligned (see `per_series_aligner`)
- in order to perform cross-time series
- reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified, and must not be
- `ALIGN_NONE`. An `alignment_period`
- must also be specified; otherwise,
- an error is returned. Possible values:
- REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
- REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
- REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
- REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
- REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
- REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
- REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to preserve
- when `cross_series_reducer` is specified.
- The `group_by_fields` determine how
- the time series are partitioned into
- subsets prior to applying the aggregation
- operation. Each subset contains time
- series that have the same value for
- each of the grouping fields. Each
- individual time series is a member
- of exactly one subset. The `cross_series_reducer`
- is applied to each subset of time
- series. It is not possible to reduce
- across different resource types, so
- this field implicitly contains `resource.type`. Fields
- not specified in `group_by_fields`
- are aggregated away. If `group_by_fields`
- is not specified and all the time
- series have the same resource type,
- then the time series are aggregated
- into a single output time series.
- If `cross_series_reducer` is not defined,
- this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes
- how to bring the data points in a
- single time series into temporal alignment.
- Except for `ALIGN_NONE`, all alignments
- cause all the data points in an `alignment_period`
- to be mathematically grouped together,
- resulting in a single data point for
- each `alignment_period` with end timestamp
- at the end of the period. Not all
- alignment operations may be applied
- to all time series. The valid choices
- depend on the `metric_kind` and `value_type`
- of the original time series. Alignment
- can change the `metric_kind` or the
- `value_type` of the time series. Time
- series data must be aligned in order
- to perform cross-time series reduction.
- If `cross_series_reducer` is specified,
- then `per_series_aligner` must be
- specified and not equal to `ALIGN_NONE`
- and `alignment_period` must be specified;
- otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- filter:
- type: string
- x-dcl-go-name: Filter
- description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
- that identifies the metric types, resources,
- and projects to query.
- pickTimeSeriesFilter:
- type: object
- x-dcl-go-name: PickTimeSeriesFilter
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- description: Ranking based time series filter.
- properties:
- direction:
- type: string
- x-dcl-go-name: Direction
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum
- description: 'How to use the ranking to
- select time series that pass through the
- filter. Possible values: DIRECTION_UNSPECIFIED,
- TOP, BOTTOM'
- enum:
- - DIRECTION_UNSPECIFIED
- - TOP
- - BOTTOM
- numTimeSeries:
- type: integer
- format: int64
- x-dcl-go-name: NumTimeSeries
- description: How many time series to allow
- to pass through the filter.
- rankingMethod:
- type: string
- x-dcl-go-name: RankingMethod
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum
- description: '`ranking_method` is applied
- to each time series independently to produce
- the value which will be used to compare
- the time series to other time series.
- Possible values: METHOD_UNSPECIFIED, METHOD_MEAN,
- METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST'
- enum:
- - METHOD_UNSPECIFIED
- - METHOD_MEAN
- - METHOD_MAX
- - METHOD_MIN
- - METHOD_SUM
- - METHOD_LATEST
- secondaryAggregation:
- type: object
- x-dcl-go-name: SecondaryAggregation
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- description: Apply a second aggregation after
- the ratio is computed.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period` specifies
- a time interval, in seconds, that is used
- to divide the data in all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time. This will
- be done before the per-series aligner
- can be applied to the data. The value
- must be at least 60 seconds. If a per-series
- aligner other than `ALIGN_NONE` is specified,
- this field is required or an error is
- returned. If no per-series aligner is
- specified, or the aligner `ALIGN_NONE`
- is specified, then this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum
- description: 'The reduction operation to
- be used to combine time series into a
- single time series, where the value of
- each data point in the resulting series
- is a function of all the already aligned
- values in the input time series. Not
- all reducer operations can be applied
- to all time series. The valid choices
- depend on the `metric_kind` and the `value_type`
- of the original time series. Reduction
- can yield a time series with a different
- `metric_kind` or `value_type` than the
- input time series. Time series data must
- first be aligned (see `per_series_aligner`)
- in order to perform cross-time series
- reduction. If `cross_series_reducer` is
- specified, then `per_series_aligner` must
- be specified, and must not be `ALIGN_NONE`.
- An `alignment_period` must also be specified;
- otherwise, an error is returned. Possible
- values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
- REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
- REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
- REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
- REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
- REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
- REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to preserve
- when `cross_series_reducer` is specified.
- The `group_by_fields` determine how the
- time series are partitioned into subsets
- prior to applying the aggregation operation.
- Each subset contains time series that
- have the same value for each of the grouping
- fields. Each individual time series is
- a member of exactly one subset. The `cross_series_reducer`
- is applied to each subset of time series.
- It is not possible to reduce across different
- resource types, so this field implicitly
- contains `resource.type`. Fields not
- specified in `group_by_fields` are aggregated
- away. If `group_by_fields` is not specified
- and all the time series have the same
- resource type, then the time series are
- aggregated into a single output time series.
- If `cross_series_reducer` is not defined,
- this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes how
- to bring the data points in a single time
- series into temporal alignment. Except
- for `ALIGN_NONE`, all alignments cause
- all the data points in an `alignment_period`
- to be mathematically grouped together,
- resulting in a single data point for each
- `alignment_period` with end timestamp
- at the end of the period. Not all alignment
- operations may be applied to all time
- series. The valid choices depend on the
- `metric_kind` and `value_type` of the
- original time series. Alignment can change
- the `metric_kind` or the `value_type`
- of the time series. Time series data
- must be aligned in order to perform cross-time
- series reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified and not equal to `ALIGN_NONE`
- and `alignment_period` must be specified;
- otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- timeSeriesQueryLanguage:
- type: string
- x-dcl-go-name: TimeSeriesQueryLanguage
- description: A query used to fetch time series.
- unitOverride:
- type: string
- x-dcl-go-name: UnitOverride
- description: The unit of data contained in fetched
- time series. If non-empty, this unit will override
- any unit that accompanies fetched data. The format
- is the same as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors)
- field in `MetricDescriptor`.
- text:
- type: object
- x-dcl-go-name: Text
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsText
- description: A raw string or markdown displaying textual
- content.
- x-dcl-conflicts:
- - xyChart
- - scorecard
- - blank
- - logsPanel
- properties:
- content:
- type: string
- x-dcl-go-name: Content
- description: The text content to be displayed.
- format:
- type: string
- x-dcl-go-name: Format
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsTextFormatEnum
- description: 'How the text content is formatted. Possible
- values: FORMAT_UNSPECIFIED, MARKDOWN, RAW'
- enum:
- - FORMAT_UNSPECIFIED
- - MARKDOWN
- - RAW
- title:
- type: string
- x-dcl-go-name: Title
- description: Optional. The title of the widget.
- xyChart:
- type: object
- x-dcl-go-name: XyChart
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChart
- description: A chart of time series data.
- x-dcl-conflicts:
- - scorecard
- - text
- - blank
- - logsPanel
- required:
- - dataSets
- properties:
- chartOptions:
- type: object
- x-dcl-go-name: ChartOptions
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartChartOptions
- description: Display options for the chart.
- properties:
- mode:
- type: string
- x-dcl-go-name: Mode
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnum
- description: 'The chart mode. Possible values: MODE_UNSPECIFIED,
- COLOR, X_RAY, STATS'
- enum:
- - MODE_UNSPECIFIED
- - COLOR
- - X_RAY
- - STATS
- dataSets:
- type: array
- x-dcl-go-name: DataSets
- description: Required. The data displayed in this chart.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: object
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSets
- required:
- - timeSeriesQuery
- properties:
- legendTemplate:
- type: string
- x-dcl-go-name: LegendTemplate
- description: 'A template string for naming `TimeSeries`
- in the resulting data set. This should be a
- string with interpolations of the form `${label_name}`,
- which will resolve to the label''s value. '
- minAlignmentPeriod:
- type: string
- x-dcl-go-name: MinAlignmentPeriod
- description: Optional. The lower bound on data
- point frequency for this data set, implemented
- by specifying the minimum alignment period to
- use in a time series query For example, if the
- data is published once every 10 minutes, the
- `min_alignment_period` should be at least 10
- minutes. It would not make sense to fetch and
- align data at one minute intervals.
- plotType:
- type: string
- x-dcl-go-name: PlotType
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnum
- description: 'How this data should be plotted
- on the chart. Possible values: PLOT_TYPE_UNSPECIFIED,
- LINE, STACKED_AREA, STACKED_BAR, HEATMAP'
- enum:
- - PLOT_TYPE_UNSPECIFIED
- - LINE
- - STACKED_AREA
- - STACKED_BAR
- - HEATMAP
- timeSeriesQuery:
- type: object
- x-dcl-go-name: TimeSeriesQuery
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery
- description: Required. Fields for querying time
- series data from the Stackdriver metrics API.
- properties:
- timeSeriesFilter:
- type: object
- x-dcl-go-name: TimeSeriesFilter
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
- description: Filter parameters to fetch time
- series.
- required:
- - filter
- properties:
- aggregation:
- type: object
- x-dcl-go-name: Aggregation
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
- description: By default, the raw time
- series data is returned. Use this field
- to combine multiple time series for
- different views of the data.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period`
- specifies a time interval, in seconds,
- that is used to divide the data
- in all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time.
- This will be done before the per-series
- aligner can be applied to the data. The
- value must be at least 60 seconds.
- If a per-series aligner other than
- `ALIGN_NONE` is specified, this
- field is required or an error is
- returned. If no per-series aligner
- is specified, or the aligner `ALIGN_NONE`
- is specified, then this field is
- ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum
- description: 'The reduction operation
- to be used to combine time series
- into a single time series, where
- the value of each data point in
- the resulting series is a function
- of all the already aligned values
- in the input time series. Not all
- reducer operations can be applied
- to all time series. The valid choices
- depend on the `metric_kind` and
- the `value_type` of the original
- time series. Reduction can yield
- a time series with a different `metric_kind`
- or `value_type` than the input time
- series. Time series data must first
- be aligned (see `per_series_aligner`)
- in order to perform cross-time series
- reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified, and must not
- be `ALIGN_NONE`. An `alignment_period`
- must also be specified; otherwise,
- an error is returned. Possible values:
- REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
- REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
- REDUCE_COUNT, REDUCE_COUNT_TRUE,
- REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,
- REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,
- REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,
- REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to
- preserve when `cross_series_reducer`
- is specified. The `group_by_fields`
- determine how the time series are
- partitioned into subsets prior to
- applying the aggregation operation.
- Each subset contains time series
- that have the same value for each
- of the grouping fields. Each individual
- time series is a member of exactly
- one subset. The `cross_series_reducer`
- is applied to each subset of time
- series. It is not possible to reduce
- across different resource types,
- so this field implicitly contains
- `resource.type`. Fields not specified
- in `group_by_fields` are aggregated
- away. If `group_by_fields` is not
- specified and all the time series
- have the same resource type, then
- the time series are aggregated into
- a single output time series. If
- `cross_series_reducer` is not defined,
- this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes
- how to bring the data points in
- a single time series into temporal
- alignment. Except for `ALIGN_NONE`,
- all alignments cause all the data
- points in an `alignment_period`
- to be mathematically grouped together,
- resulting in a single data point
- for each `alignment_period` with
- end timestamp at the end of the
- period. Not all alignment operations
- may be applied to all time series.
- The valid choices depend on the
- `metric_kind` and `value_type` of
- the original time series. Alignment
- can change the `metric_kind` or
- the `value_type` of the time series. Time
- series data must be aligned in order
- to perform cross-time series reduction.
- If `cross_series_reducer` is specified,
- then `per_series_aligner` must be
- specified and not equal to `ALIGN_NONE`
- and `alignment_period` must be specified;
- otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- filter:
- type: string
- x-dcl-go-name: Filter
- description: Required. The [monitoring
- filter](https://cloud.google.com/monitoring/api/v3/filters)
- that identifies the metric types, resources,
- and projects to query.
- pickTimeSeriesFilter:
- type: object
- x-dcl-go-name: PickTimeSeriesFilter
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- description: Ranking based time series
- filter.
- properties:
- direction:
- type: string
- x-dcl-go-name: Direction
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum
- description: 'How to use the ranking
- to select time series that pass
- through the filter. Possible values:
- DIRECTION_UNSPECIFIED, TOP, BOTTOM'
- enum:
- - DIRECTION_UNSPECIFIED
- - TOP
- - BOTTOM
- numTimeSeries:
- type: integer
- format: int64
- x-dcl-go-name: NumTimeSeries
- description: How many time series
- to allow to pass through the filter.
- rankingMethod:
- type: string
- x-dcl-go-name: RankingMethod
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum
- description: '`ranking_method` is
- applied to each time series independently
- to produce the value which will
- be used to compare the time series
- to other time series. Possible values:
- METHOD_UNSPECIFIED, METHOD_MEAN,
- METHOD_MAX, METHOD_MIN, METHOD_SUM,
- METHOD_LATEST'
- enum:
- - METHOD_UNSPECIFIED
- - METHOD_MEAN
- - METHOD_MAX
- - METHOD_MIN
- - METHOD_SUM
- - METHOD_LATEST
- secondaryAggregation:
- type: object
- x-dcl-go-name: SecondaryAggregation
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- description: Apply a second aggregation
- after `aggregation` is applied.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period`
- specifies a time interval, in seconds,
- that is used to divide the data
- in all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time.
- This will be done before the per-series
- aligner can be applied to the data. The
- value must be at least 60 seconds.
- If a per-series aligner other than
- `ALIGN_NONE` is specified, this
- field is required or an error is
- returned. If no per-series aligner
- is specified, or the aligner `ALIGN_NONE`
- is specified, then this field is
- ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum
- description: 'The reduction operation
- to be used to combine time series
- into a single time series, where
- the value of each data point in
- the resulting series is a function
- of all the already aligned values
- in the input time series. Not all
- reducer operations can be applied
- to all time series. The valid choices
- depend on the `metric_kind` and
- the `value_type` of the original
- time series. Reduction can yield
- a time series with a different `metric_kind`
- or `value_type` than the input time
- series. Time series data must first
- be aligned (see `per_series_aligner`)
- in order to perform cross-time series
- reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified, and must not
- be `ALIGN_NONE`. An `alignment_period`
- must also be specified; otherwise,
- an error is returned. Possible values:
- REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
- REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
- REDUCE_COUNT, REDUCE_COUNT_TRUE,
- REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,
- REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,
- REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,
- REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to
- preserve when `cross_series_reducer`
- is specified. The `group_by_fields`
- determine how the time series are
- partitioned into subsets prior to
- applying the aggregation operation.
- Each subset contains time series
- that have the same value for each
- of the grouping fields. Each individual
- time series is a member of exactly
- one subset. The `cross_series_reducer`
- is applied to each subset of time
- series. It is not possible to reduce
- across different resource types,
- so this field implicitly contains
- `resource.type`. Fields not specified
- in `group_by_fields` are aggregated
- away. If `group_by_fields` is not
- specified and all the time series
- have the same resource type, then
- the time series are aggregated into
- a single output time series. If
- `cross_series_reducer` is not defined,
- this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes
- how to bring the data points in
- a single time series into temporal
- alignment. Except for `ALIGN_NONE`,
- all alignments cause all the data
- points in an `alignment_period`
- to be mathematically grouped together,
- resulting in a single data point
- for each `alignment_period` with
- end timestamp at the end of the
- period. Not all alignment operations
- may be applied to all time series.
- The valid choices depend on the
- `metric_kind` and `value_type` of
- the original time series. Alignment
- can change the `metric_kind` or
- the `value_type` of the time series. Time
- series data must be aligned in order
- to perform cross-time series reduction.
- If `cross_series_reducer` is specified,
- then `per_series_aligner` must be
- specified and not equal to `ALIGN_NONE`
- and `alignment_period` must be specified;
- otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- timeSeriesFilterRatio:
- type: object
- x-dcl-go-name: TimeSeriesFilterRatio
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
- description: Parameters to fetch a ratio between
- two time series filters.
- properties:
- denominator:
- type: object
- x-dcl-go-name: Denominator
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
- description: The denominator of the ratio.
- required:
- - filter
- properties:
- aggregation:
- type: object
- x-dcl-go-name: Aggregation
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- description: By default, the raw time
- series data is returned. Use this
- field to combine multiple time series
- for different views of the data.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period`
- specifies a time interval, in
- seconds, that is used to divide
- the data in all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time.
- This will be done before the
- per-series aligner can be applied
- to the data. The value must
- be at least 60 seconds. If a
- per-series aligner other than
- `ALIGN_NONE` is specified, this
- field is required or an error
- is returned. If no per-series
- aligner is specified, or the
- aligner `ALIGN_NONE` is specified,
- then this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum
- description: 'The reduction operation
- to be used to combine time series
- into a single time series, where
- the value of each data point
- in the resulting series is a
- function of all the already
- aligned values in the input
- time series. Not all reducer
- operations can be applied to
- all time series. The valid choices
- depend on the `metric_kind`
- and the `value_type` of the
- original time series. Reduction
- can yield a time series with
- a different `metric_kind` or
- `value_type` than the input
- time series. Time series data
- must first be aligned (see `per_series_aligner`)
- in order to perform cross-time
- series reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified, and must
- not be `ALIGN_NONE`. An `alignment_period`
- must also be specified; otherwise,
- an error is returned. Possible
- values: REDUCE_NONE, REDUCE_MEAN,
- REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,
- REDUCE_STDDEV, REDUCE_COUNT,
- REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
- REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
- REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
- REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
- REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields
- to preserve when `cross_series_reducer`
- is specified. The `group_by_fields`
- determine how the time series
- are partitioned into subsets
- prior to applying the aggregation
- operation. Each subset contains
- time series that have the same
- value for each of the grouping
- fields. Each individual time
- series is a member of exactly
- one subset. The `cross_series_reducer`
- is applied to each subset of
- time series. It is not possible
- to reduce across different resource
- types, so this field implicitly
- contains `resource.type`. Fields
- not specified in `group_by_fields`
- are aggregated away. If `group_by_fields`
- is not specified and all the
- time series have the same resource
- type, then the time series are
- aggregated into a single output
- time series. If `cross_series_reducer`
- is not defined, this field is
- ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes
- how to bring the data points
- in a single time series into
- temporal alignment. Except for
- `ALIGN_NONE`, all alignments
- cause all the data points in
- an `alignment_period` to be
- mathematically grouped together,
- resulting in a single data point
- for each `alignment_period`
- with end timestamp at the end
- of the period. Not all alignment
- operations may be applied to
- all time series. The valid choices
- depend on the `metric_kind`
- and `value_type` of the original
- time series. Alignment can change
- the `metric_kind` or the `value_type`
- of the time series. Time series
- data must be aligned in order
- to perform cross-time series
- reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified and not equal
- to `ALIGN_NONE` and `alignment_period`
- must be specified; otherwise,
- an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- filter:
- type: string
- x-dcl-go-name: Filter
- description: Required. The [monitoring
- filter](https://cloud.google.com/monitoring/api/v3/filters)
- that identifies the metric types,
- resources, and projects to query.
- numerator:
- type: object
- x-dcl-go-name: Numerator
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
- description: The numerator of the ratio.
- required:
- - filter
- properties:
- aggregation:
- type: object
- x-dcl-go-name: Aggregation
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- description: By default, the raw time
- series data is returned. Use this
- field to combine multiple time series
- for different views of the data.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period`
- specifies a time interval, in
- seconds, that is used to divide
- the data in all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time.
- This will be done before the
- per-series aligner can be applied
- to the data. The value must
- be at least 60 seconds. If a
- per-series aligner other than
- `ALIGN_NONE` is specified, this
- field is required or an error
- is returned. If no per-series
- aligner is specified, or the
- aligner `ALIGN_NONE` is specified,
- then this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum
- description: 'The reduction operation
- to be used to combine time series
- into a single time series, where
- the value of each data point
- in the resulting series is a
- function of all the already
- aligned values in the input
- time series. Not all reducer
- operations can be applied to
- all time series. The valid choices
- depend on the `metric_kind`
- and the `value_type` of the
- original time series. Reduction
- can yield a time series with
- a different `metric_kind` or
- `value_type` than the input
- time series. Time series data
- must first be aligned (see `per_series_aligner`)
- in order to perform cross-time
- series reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified, and must
- not be `ALIGN_NONE`. An `alignment_period`
- must also be specified; otherwise,
- an error is returned. Possible
- values: REDUCE_NONE, REDUCE_MEAN,
- REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,
- REDUCE_STDDEV, REDUCE_COUNT,
- REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
- REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
- REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
- REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
- REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields
- to preserve when `cross_series_reducer`
- is specified. The `group_by_fields`
- determine how the time series
- are partitioned into subsets
- prior to applying the aggregation
- operation. Each subset contains
- time series that have the same
- value for each of the grouping
- fields. Each individual time
- series is a member of exactly
- one subset. The `cross_series_reducer`
- is applied to each subset of
- time series. It is not possible
- to reduce across different resource
- types, so this field implicitly
- contains `resource.type`. Fields
- not specified in `group_by_fields`
- are aggregated away. If `group_by_fields`
- is not specified and all the
- time series have the same resource
- type, then the time series are
- aggregated into a single output
- time series. If `cross_series_reducer`
- is not defined, this field is
- ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes
- how to bring the data points
- in a single time series into
- temporal alignment. Except for
- `ALIGN_NONE`, all alignments
- cause all the data points in
- an `alignment_period` to be
- mathematically grouped together,
- resulting in a single data point
- for each `alignment_period`
- with end timestamp at the end
- of the period. Not all alignment
- operations may be applied to
- all time series. The valid choices
- depend on the `metric_kind`
- and `value_type` of the original
- time series. Alignment can change
- the `metric_kind` or the `value_type`
- of the time series. Time series
- data must be aligned in order
- to perform cross-time series
- reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified and not equal
- to `ALIGN_NONE` and `alignment_period`
- must be specified; otherwise,
- an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- filter:
- type: string
- x-dcl-go-name: Filter
- description: Required. The [monitoring
- filter](https://cloud.google.com/monitoring/api/v3/filters)
- that identifies the metric types,
- resources, and projects to query.
- pickTimeSeriesFilter:
- type: object
- x-dcl-go-name: PickTimeSeriesFilter
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- description: Ranking based time series
- filter.
- properties:
- direction:
- type: string
- x-dcl-go-name: Direction
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum
- description: 'How to use the ranking
- to select time series that pass
- through the filter. Possible values:
- DIRECTION_UNSPECIFIED, TOP, BOTTOM'
- enum:
- - DIRECTION_UNSPECIFIED
- - TOP
- - BOTTOM
- numTimeSeries:
- type: integer
- format: int64
- x-dcl-go-name: NumTimeSeries
- description: How many time series
- to allow to pass through the filter.
- rankingMethod:
- type: string
- x-dcl-go-name: RankingMethod
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum
- description: '`ranking_method` is
- applied to each time series independently
- to produce the value which will
- be used to compare the time series
- to other time series. Possible values:
- METHOD_UNSPECIFIED, METHOD_MEAN,
- METHOD_MAX, METHOD_MIN, METHOD_SUM,
- METHOD_LATEST'
- enum:
- - METHOD_UNSPECIFIED
- - METHOD_MEAN
- - METHOD_MAX
- - METHOD_MIN
- - METHOD_SUM
- - METHOD_LATEST
- secondaryAggregation:
- type: object
- x-dcl-go-name: SecondaryAggregation
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- description: Apply a second aggregation
- after the ratio is computed.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period`
- specifies a time interval, in seconds,
- that is used to divide the data
- in all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time.
- This will be done before the per-series
- aligner can be applied to the data. The
- value must be at least 60 seconds.
- If a per-series aligner other than
- `ALIGN_NONE` is specified, this
- field is required or an error is
- returned. If no per-series aligner
- is specified, or the aligner `ALIGN_NONE`
- is specified, then this field is
- ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum
- description: 'The reduction operation
- to be used to combine time series
- into a single time series, where
- the value of each data point in
- the resulting series is a function
- of all the already aligned values
- in the input time series. Not all
- reducer operations can be applied
- to all time series. The valid choices
- depend on the `metric_kind` and
- the `value_type` of the original
- time series. Reduction can yield
- a time series with a different `metric_kind`
- or `value_type` than the input time
- series. Time series data must first
- be aligned (see `per_series_aligner`)
- in order to perform cross-time series
- reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified, and must not
- be `ALIGN_NONE`. An `alignment_period`
- must also be specified; otherwise,
- an error is returned. Possible values:
- REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
- REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
- REDUCE_COUNT, REDUCE_COUNT_TRUE,
- REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,
- REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,
- REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,
- REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to
- preserve when `cross_series_reducer`
- is specified. The `group_by_fields`
- determine how the time series are
- partitioned into subsets prior to
- applying the aggregation operation.
- Each subset contains time series
- that have the same value for each
- of the grouping fields. Each individual
- time series is a member of exactly
- one subset. The `cross_series_reducer`
- is applied to each subset of time
- series. It is not possible to reduce
- across different resource types,
- so this field implicitly contains
- `resource.type`. Fields not specified
- in `group_by_fields` are aggregated
- away. If `group_by_fields` is not
- specified and all the time series
- have the same resource type, then
- the time series are aggregated into
- a single output time series. If
- `cross_series_reducer` is not defined,
- this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes
- how to bring the data points in
- a single time series into temporal
- alignment. Except for `ALIGN_NONE`,
- all alignments cause all the data
- points in an `alignment_period`
- to be mathematically grouped together,
- resulting in a single data point
- for each `alignment_period` with
- end timestamp at the end of the
- period. Not all alignment operations
- may be applied to all time series.
- The valid choices depend on the
- `metric_kind` and `value_type` of
- the original time series. Alignment
- can change the `metric_kind` or
- the `value_type` of the time series. Time
- series data must be aligned in order
- to perform cross-time series reduction.
- If `cross_series_reducer` is specified,
- then `per_series_aligner` must be
- specified and not equal to `ALIGN_NONE`
- and `alignment_period` must be specified;
- otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- timeSeriesQueryLanguage:
- type: string
- x-dcl-go-name: TimeSeriesQueryLanguage
- description: A query used to fetch time series.
- unitOverride:
- type: string
- x-dcl-go-name: UnitOverride
- description: The unit of data contained in
- fetched time series. If non-empty, this
- unit will override any unit that accompanies
- fetched data. The format is the same as
- the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors)
- field in `MetricDescriptor`.
- thresholds:
- type: array
- x-dcl-go-name: Thresholds
- description: Threshold lines drawn horizontally across
- the chart.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: object
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartThresholds
- properties:
- color:
- type: string
- x-dcl-go-name: Color
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnum
- description: 'The state color for this threshold.
- Color is not allowed in a XyChart. Possible
- values: COLOR_UNSPECIFIED, GREY, BLUE, GREEN,
- YELLOW, ORANGE, RED'
- enum:
- - COLOR_UNSPECIFIED
- - GREY
- - BLUE
- - GREEN
- - YELLOW
- - ORANGE
- - RED
- direction:
- type: string
- x-dcl-go-name: Direction
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnum
- description: 'The direction for the current threshold.
- Direction is not allowed in a XyChart. Possible
- values: DIRECTION_UNSPECIFIED, ABOVE, BELOW'
- enum:
- - DIRECTION_UNSPECIFIED
- - ABOVE
- - BELOW
- label:
- type: string
- x-dcl-go-name: Label
- description: A label for the threshold.
- value:
- type: number
- format: double
- x-dcl-go-name: Value
- description: The value of the threshold. The value
- should be defined in the native scale of the
- metric.
- timeshiftDuration:
- type: string
- x-dcl-go-name: TimeshiftDuration
- description: The duration used to display a comparison
- chart. A comparison chart simultaneously shows values
- from two similar-length time periods (e.g., week-over-week
- metrics). The duration must be positive, and it can
- only be applied to charts with data sets of LINE plot
- type.
- xAxis:
- type: object
- x-dcl-go-name: XAxis
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartXAxis
- description: The properties applied to the X axis.
- properties:
- label:
- type: string
- x-dcl-go-name: Label
- description: The label of the axis.
- scale:
- type: string
- x-dcl-go-name: Scale
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnum
- description: 'The axis scale. By default, a linear
- scale is used. Possible values: SCALE_UNSPECIFIED,
- LINEAR, LOG10'
- enum:
- - SCALE_UNSPECIFIED
- - LINEAR
- - LOG10
- yAxis:
- type: object
- x-dcl-go-name: YAxis
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartYAxis
- description: The properties applied to the Y axis.
- properties:
- label:
- type: string
- x-dcl-go-name: Label
- description: The label of the axis.
- scale:
- type: string
- x-dcl-go-name: Scale
- x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnum
- description: 'The axis scale. By default, a linear
- scale is used. Possible values: SCALE_UNSPECIFIED,
- LINEAR, LOG10'
- enum:
- - SCALE_UNSPECIFIED
- - LINEAR
- - LOG10
- displayName:
- type: string
- x-dcl-go-name: DisplayName
- description: Required. The mutable, human-readable name.
- etag:
- type: string
- x-dcl-go-name: Etag
- readOnly: true
- description: \`etag\` is used for optimistic concurrency control as a way
- to help prevent simultaneous updates of a policy from overwriting each
- other. An \`etag\` is returned in the response to \`GetDashboard\`, and
- users are expected to put that etag in the request to \`UpdateDashboard\`
- to ensure that their change will be applied to the same version of the
- Dashboard configuration. The field should not be passed during dashboard
- creation.
- x-kubernetes-immutable: true
- gridLayout:
- type: object
- x-dcl-go-name: GridLayout
- x-dcl-go-type: DashboardGridLayout
- description: Content is arranged with a basic layout that re-flows a simple
- list of informational elements like widgets or tiles.
- x-dcl-conflicts:
- - mosaicLayout
- - rowLayout
- - columnLayout
- properties:
- columns:
- type: integer
- format: int64
- x-dcl-go-name: Columns
- description: The number of columns into which the view's width is divided.
- If omitted or set to zero, a system default will be used while rendering.
- widgets:
- type: array
- x-dcl-go-name: Widgets
- description: The informational elements that are arranged into the columns
- row-first.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: object
- x-dcl-go-type: DashboardGridLayoutWidgets
- properties:
- blank:
- type: object
- x-dcl-go-name: Blank
- x-dcl-go-type: DashboardGridLayoutWidgetsBlank
- description: A blank space.
- x-dcl-conflicts:
- - xyChart
- - scorecard
- - text
- - logsPanel
- logsPanel:
- type: object
- x-dcl-go-name: LogsPanel
- x-dcl-go-type: DashboardGridLayoutWidgetsLogsPanel
- x-dcl-conflicts:
- - xyChart
- - scorecard
- - text
- - blank
- properties:
- filter:
- type: string
- x-dcl-go-name: Filter
- description: A filter that chooses which log entries to return.
- See [Advanced Logs Queries](https://cloud.google.com/logging/docs/view/advanced-queries).
- Only log entries that match the filter are returned. An
- empty filter matches all log entries.
- resourceNames:
- type: array
- x-dcl-go-name: ResourceNames
- description: The names of logging resources to collect logs
- for. Currently only projects are supported. If empty, the
- widget will default to the host project.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- x-dcl-references:
- - resource: Cloudresourcemanager/Project
- field: name
- scorecard:
- type: object
- x-dcl-go-name: Scorecard
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecard
- description: A scorecard summarizing time series data.
- x-dcl-conflicts:
- - xyChart
- - text
- - blank
- - logsPanel
- required:
- - timeSeriesQuery
- properties:
- gaugeView:
- type: object
- x-dcl-go-name: GaugeView
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardGaugeView
- description: Will cause the scorecard to show a gauge chart.
- properties:
- lowerBound:
- type: number
- format: double
- x-dcl-go-name: LowerBound
- description: The lower bound for this gauge chart. The
- value of the chart should always be greater than or
- equal to this.
- upperBound:
- type: number
- format: double
- x-dcl-go-name: UpperBound
- description: The upper bound for this gauge chart. The
- value of the chart should always be less than or equal
- to this.
- sparkChartView:
- type: object
- x-dcl-go-name: SparkChartView
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardSparkChartView
- description: Will cause the scorecard to show a spark chart.
- required:
- - sparkChartType
- properties:
- minAlignmentPeriod:
- type: string
- x-dcl-go-name: MinAlignmentPeriod
- description: The lower bound on data point frequency in
- the chart implemented by specifying the minimum alignment
- period to use in a time series query. For example, if
- the data is published once every 10 minutes it would
- not make sense to fetch and align data at one minute
- intervals. This field is optional and exists only as
- a hint.
- sparkChartType:
- type: string
- x-dcl-go-name: SparkChartType
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnum
- description: 'Required. The type of sparkchart to show
- in this chartView. Possible values: SPARK_CHART_TYPE_UNSPECIFIED,
- SPARK_LINE, SPARK_BAR'
- enum:
- - SPARK_CHART_TYPE_UNSPECIFIED
- - SPARK_LINE
- - SPARK_BAR
- thresholds:
- type: array
- x-dcl-go-name: Thresholds
- description: 'The thresholds used to determine the state of
- the scorecard given the time series'' current value. For
- an actual value x, the scorecard is in a danger state if
- x is less than or equal to a danger threshold that triggers
- below, or greater than or equal to a danger threshold that
- triggers above. Similarly, if x is above/below a warning
- threshold that triggers above/below, then the scorecard
- is in a warning state - unless x also puts it in a danger
- state. (Danger trumps warning.) As an example, consider
- a scorecard with the following four thresholds: { value:
- 90, category: ''DANGER'', trigger: ''ABOVE'', },: { value:
- 70, category: ''WARNING'', trigger: ''ABOVE'', }, { value:
- 10, category: ''DANGER'', trigger: ''BELOW'', }, { value:
- 20, category: ''WARNING'', trigger: ''BELOW'', } Then:
- values less than or equal to 10 would put the scorecard
- in a DANGER state, values greater than 10 but less than
- or equal to 20 a WARNING state, values strictly between
- 20 and 70 an OK state, values greater than or equal to 70
- but less than 90 a WARNING state, and values greater than
- or equal to 90 a DANGER state.'
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: object
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardThresholds
- properties:
- color:
- type: string
- x-dcl-go-name: Color
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardThresholdsColorEnum
- description: 'The state color for this threshold. Color
- is not allowed in a XyChart. Possible values: COLOR_UNSPECIFIED,
- GREY, BLUE, GREEN, YELLOW, ORANGE, RED'
- enum:
- - COLOR_UNSPECIFIED
- - GREY
- - BLUE
- - GREEN
- - YELLOW
- - ORANGE
- - RED
- direction:
- type: string
- x-dcl-go-name: Direction
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardThresholdsDirectionEnum
- description: 'The direction for the current threshold.
- Direction is not allowed in a XyChart. Possible values:
- DIRECTION_UNSPECIFIED, ABOVE, BELOW'
- enum:
- - DIRECTION_UNSPECIFIED
- - ABOVE
- - BELOW
- label:
- type: string
- x-dcl-go-name: Label
- description: A label for the threshold.
- value:
- type: number
- format: double
- x-dcl-go-name: Value
- description: The value of the threshold. The value should
- be defined in the native scale of the metric.
- timeSeriesQuery:
- type: object
- x-dcl-go-name: TimeSeriesQuery
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQuery
- description: Required. Fields for querying time series data
- from the Stackdriver metrics API.
- properties:
- timeSeriesFilter:
- type: object
- x-dcl-go-name: TimeSeriesFilter
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter
- description: Filter parameters to fetch time series.
- required:
- - filter
- properties:
- aggregation:
- type: object
- x-dcl-go-name: Aggregation
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation
- description: By default, the raw time series data
- is returned. Use this field to combine multiple
- time series for different views of the data.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period` specifies
- a time interval, in seconds, that is used to
- divide the data in all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time. This will be
- done before the per-series aligner can be applied
- to the data. The value must be at least 60
- seconds. If a per-series aligner other than
- `ALIGN_NONE` is specified, this field is required
- or an error is returned. If no per-series aligner
- is specified, or the aligner `ALIGN_NONE` is
- specified, then this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum
- description: 'The reduction operation to be used
- to combine time series into a single time series,
- where the value of each data point in the resulting
- series is a function of all the already aligned
- values in the input time series. Not all reducer
- operations can be applied to all time series.
- The valid choices depend on the `metric_kind`
- and the `value_type` of the original time series.
- Reduction can yield a time series with a different
- `metric_kind` or `value_type` than the input
- time series. Time series data must first be
- aligned (see `per_series_aligner`) in order
- to perform cross-time series reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner` must
- be specified, and must not be `ALIGN_NONE`.
- An `alignment_period` must also be specified;
- otherwise, an error is returned. Possible values:
- REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX,
- REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,
- REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
- REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
- REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
- REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to preserve when
- `cross_series_reducer` is specified. The `group_by_fields`
- determine how the time series are partitioned
- into subsets prior to applying the aggregation
- operation. Each subset contains time series
- that have the same value for each of the grouping
- fields. Each individual time series is a member
- of exactly one subset. The `cross_series_reducer`
- is applied to each subset of time series. It
- is not possible to reduce across different resource
- types, so this field implicitly contains `resource.type`. Fields
- not specified in `group_by_fields` are aggregated
- away. If `group_by_fields` is not specified
- and all the time series have the same resource
- type, then the time series are aggregated into
- a single output time series. If `cross_series_reducer`
- is not defined, this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes how to bring
- the data points in a single time series into
- temporal alignment. Except for `ALIGN_NONE`,
- all alignments cause all the data points in
- an `alignment_period` to be mathematically grouped
- together, resulting in a single data point for
- each `alignment_period` with end timestamp at
- the end of the period. Not all alignment operations
- may be applied to all time series. The valid
- choices depend on the `metric_kind` and `value_type`
- of the original time series. Alignment can change
- the `metric_kind` or the `value_type` of the
- time series. Time series data must be aligned
- in order to perform cross-time series reduction.
- If `cross_series_reducer` is specified, then
- `per_series_aligner` must be specified and not
- equal to `ALIGN_NONE` and `alignment_period`
- must be specified; otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- filter:
- type: string
- x-dcl-go-name: Filter
- description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
- that identifies the metric types, resources, and
- projects to query.
- pickTimeSeriesFilter:
- type: object
- x-dcl-go-name: PickTimeSeriesFilter
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- description: Ranking based time series filter.
- properties:
- direction:
- type: string
- x-dcl-go-name: Direction
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum
- description: 'How to use the ranking to select
- time series that pass through the filter. Possible
- values: DIRECTION_UNSPECIFIED, TOP, BOTTOM'
- enum:
- - DIRECTION_UNSPECIFIED
- - TOP
- - BOTTOM
- numTimeSeries:
- type: integer
- format: int64
- x-dcl-go-name: NumTimeSeries
- description: How many time series to allow to
- pass through the filter.
- rankingMethod:
- type: string
- x-dcl-go-name: RankingMethod
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum
- description: '`ranking_method` is applied to each
- time series independently to produce the value
- which will be used to compare the time series
- to other time series. Possible values: METHOD_UNSPECIFIED,
- METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM,
- METHOD_LATEST'
- enum:
- - METHOD_UNSPECIFIED
- - METHOD_MEAN
- - METHOD_MAX
- - METHOD_MIN
- - METHOD_SUM
- - METHOD_LATEST
- secondaryAggregation:
- type: object
- x-dcl-go-name: SecondaryAggregation
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- description: Apply a second aggregation after `aggregation`
- is applied.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period` specifies
- a time interval, in seconds, that is used to
- divide the data in all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time. This will be
- done before the per-series aligner can be applied
- to the data. The value must be at least 60
- seconds. If a per-series aligner other than
- `ALIGN_NONE` is specified, this field is required
- or an error is returned. If no per-series aligner
- is specified, or the aligner `ALIGN_NONE` is
- specified, then this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum
- description: 'The reduction operation to be used
- to combine time series into a single time series,
- where the value of each data point in the resulting
- series is a function of all the already aligned
- values in the input time series. Not all reducer
- operations can be applied to all time series.
- The valid choices depend on the `metric_kind`
- and the `value_type` of the original time series.
- Reduction can yield a time series with a different
- `metric_kind` or `value_type` than the input
- time series. Time series data must first be
- aligned (see `per_series_aligner`) in order
- to perform cross-time series reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner` must
- be specified, and must not be `ALIGN_NONE`.
- An `alignment_period` must also be specified;
- otherwise, an error is returned. Possible values:
- REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX,
- REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,
- REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
- REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
- REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
- REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to preserve when
- `cross_series_reducer` is specified. The `group_by_fields`
- determine how the time series are partitioned
- into subsets prior to applying the aggregation
- operation. Each subset contains time series
- that have the same value for each of the grouping
- fields. Each individual time series is a member
- of exactly one subset. The `cross_series_reducer`
- is applied to each subset of time series. It
- is not possible to reduce across different resource
- types, so this field implicitly contains `resource.type`. Fields
- not specified in `group_by_fields` are aggregated
- away. If `group_by_fields` is not specified
- and all the time series have the same resource
- type, then the time series are aggregated into
- a single output time series. If `cross_series_reducer`
- is not defined, this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes how to bring
- the data points in a single time series into
- temporal alignment. Except for `ALIGN_NONE`,
- all alignments cause all the data points in
- an `alignment_period` to be mathematically grouped
- together, resulting in a single data point for
- each `alignment_period` with end timestamp at
- the end of the period. Not all alignment operations
- may be applied to all time series. The valid
- choices depend on the `metric_kind` and `value_type`
- of the original time series. Alignment can change
- the `metric_kind` or the `value_type` of the
- time series. Time series data must be aligned
- in order to perform cross-time series reduction.
- If `cross_series_reducer` is specified, then
- `per_series_aligner` must be specified and not
- equal to `ALIGN_NONE` and `alignment_period`
- must be specified; otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- timeSeriesFilterRatio:
- type: object
- x-dcl-go-name: TimeSeriesFilterRatio
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio
- description: Parameters to fetch a ratio between two time
- series filters.
- properties:
- denominator:
- type: object
- x-dcl-go-name: Denominator
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
- description: The denominator of the ratio.
- required:
- - filter
- properties:
- aggregation:
- type: object
- x-dcl-go-name: Aggregation
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- description: By default, the raw time series data
- is returned. Use this field to combine multiple
- time series for different views of the data.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period` specifies
- a time interval, in seconds, that is used
- to divide the data in all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time. This will
- be done before the per-series aligner can
- be applied to the data. The value must
- be at least 60 seconds. If a per-series
- aligner other than `ALIGN_NONE` is specified,
- this field is required or an error is returned.
- If no per-series aligner is specified, or
- the aligner `ALIGN_NONE` is specified, then
- this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum
- description: 'The reduction operation to be
- used to combine time series into a single
- time series, where the value of each data
- point in the resulting series is a function
- of all the already aligned values in the
- input time series. Not all reducer operations
- can be applied to all time series. The valid
- choices depend on the `metric_kind` and
- the `value_type` of the original time series.
- Reduction can yield a time series with a
- different `metric_kind` or `value_type`
- than the input time series. Time series
- data must first be aligned (see `per_series_aligner`)
- in order to perform cross-time series reduction.
- If `cross_series_reducer` is specified,
- then `per_series_aligner` must be specified,
- and must not be `ALIGN_NONE`. An `alignment_period`
- must also be specified; otherwise, an error
- is returned. Possible values: REDUCE_NONE,
- REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,
- REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,
- REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,
- REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,
- REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,
- REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to preserve
- when `cross_series_reducer` is specified.
- The `group_by_fields` determine how the
- time series are partitioned into subsets
- prior to applying the aggregation operation.
- Each subset contains time series that have
- the same value for each of the grouping
- fields. Each individual time series is a
- member of exactly one subset. The `cross_series_reducer`
- is applied to each subset of time series.
- It is not possible to reduce across different
- resource types, so this field implicitly
- contains `resource.type`. Fields not specified
- in `group_by_fields` are aggregated away. If
- `group_by_fields` is not specified and all
- the time series have the same resource type,
- then the time series are aggregated into
- a single output time series. If `cross_series_reducer`
- is not defined, this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes how to
- bring the data points in a single time series
- into temporal alignment. Except for `ALIGN_NONE`,
- all alignments cause all the data points
- in an `alignment_period` to be mathematically
- grouped together, resulting in a single
- data point for each `alignment_period` with
- end timestamp at the end of the period. Not
- all alignment operations may be applied
- to all time series. The valid choices depend
- on the `metric_kind` and `value_type` of
- the original time series. Alignment can
- change the `metric_kind` or the `value_type`
- of the time series. Time series data must
- be aligned in order to perform cross-time
- series reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified and not equal to `ALIGN_NONE`
- and `alignment_period` must be specified;
- otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- filter:
- type: string
- x-dcl-go-name: Filter
- description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
- that identifies the metric types, resources,
- and projects to query.
- numerator:
- type: object
- x-dcl-go-name: Numerator
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
- description: The numerator of the ratio.
- required:
- - filter
- properties:
- aggregation:
- type: object
- x-dcl-go-name: Aggregation
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- description: By default, the raw time series data
- is returned. Use this field to combine multiple
- time series for different views of the data.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period` specifies
- a time interval, in seconds, that is used
- to divide the data in all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time. This will
- be done before the per-series aligner can
- be applied to the data. The value must
- be at least 60 seconds. If a per-series
- aligner other than `ALIGN_NONE` is specified,
- this field is required or an error is returned.
- If no per-series aligner is specified, or
- the aligner `ALIGN_NONE` is specified, then
- this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum
- description: 'The reduction operation to be
- used to combine time series into a single
- time series, where the value of each data
- point in the resulting series is a function
- of all the already aligned values in the
- input time series. Not all reducer operations
- can be applied to all time series. The valid
- choices depend on the `metric_kind` and
- the `value_type` of the original time series.
- Reduction can yield a time series with a
- different `metric_kind` or `value_type`
- than the input time series. Time series
- data must first be aligned (see `per_series_aligner`)
- in order to perform cross-time series reduction.
- If `cross_series_reducer` is specified,
- then `per_series_aligner` must be specified,
- and must not be `ALIGN_NONE`. An `alignment_period`
- must also be specified; otherwise, an error
- is returned. Possible values: REDUCE_NONE,
- REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,
- REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,
- REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,
- REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,
- REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,
- REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to preserve
- when `cross_series_reducer` is specified.
- The `group_by_fields` determine how the
- time series are partitioned into subsets
- prior to applying the aggregation operation.
- Each subset contains time series that have
- the same value for each of the grouping
- fields. Each individual time series is a
- member of exactly one subset. The `cross_series_reducer`
- is applied to each subset of time series.
- It is not possible to reduce across different
- resource types, so this field implicitly
- contains `resource.type`. Fields not specified
- in `group_by_fields` are aggregated away. If
- `group_by_fields` is not specified and all
- the time series have the same resource type,
- then the time series are aggregated into
- a single output time series. If `cross_series_reducer`
- is not defined, this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes how to
- bring the data points in a single time series
- into temporal alignment. Except for `ALIGN_NONE`,
- all alignments cause all the data points
- in an `alignment_period` to be mathematically
- grouped together, resulting in a single
- data point for each `alignment_period` with
- end timestamp at the end of the period. Not
- all alignment operations may be applied
- to all time series. The valid choices depend
- on the `metric_kind` and `value_type` of
- the original time series. Alignment can
- change the `metric_kind` or the `value_type`
- of the time series. Time series data must
- be aligned in order to perform cross-time
- series reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified and not equal to `ALIGN_NONE`
- and `alignment_period` must be specified;
- otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- filter:
- type: string
- x-dcl-go-name: Filter
- description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
- that identifies the metric types, resources,
- and projects to query.
- pickTimeSeriesFilter:
- type: object
- x-dcl-go-name: PickTimeSeriesFilter
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- description: Ranking based time series filter.
- properties:
- direction:
- type: string
- x-dcl-go-name: Direction
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum
- description: 'How to use the ranking to select
- time series that pass through the filter. Possible
- values: DIRECTION_UNSPECIFIED, TOP, BOTTOM'
- enum:
- - DIRECTION_UNSPECIFIED
- - TOP
- - BOTTOM
- numTimeSeries:
- type: integer
- format: int64
- x-dcl-go-name: NumTimeSeries
- description: How many time series to allow to
- pass through the filter.
- rankingMethod:
- type: string
- x-dcl-go-name: RankingMethod
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum
- description: '`ranking_method` is applied to each
- time series independently to produce the value
- which will be used to compare the time series
- to other time series. Possible values: METHOD_UNSPECIFIED,
- METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM,
- METHOD_LATEST'
- enum:
- - METHOD_UNSPECIFIED
- - METHOD_MEAN
- - METHOD_MAX
- - METHOD_MIN
- - METHOD_SUM
- - METHOD_LATEST
- secondaryAggregation:
- type: object
- x-dcl-go-name: SecondaryAggregation
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- description: Apply a second aggregation after the
- ratio is computed.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period` specifies
- a time interval, in seconds, that is used to
- divide the data in all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time. This will be
- done before the per-series aligner can be applied
- to the data. The value must be at least 60
- seconds. If a per-series aligner other than
- `ALIGN_NONE` is specified, this field is required
- or an error is returned. If no per-series aligner
- is specified, or the aligner `ALIGN_NONE` is
- specified, then this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum
- description: 'The reduction operation to be used
- to combine time series into a single time series,
- where the value of each data point in the resulting
- series is a function of all the already aligned
- values in the input time series. Not all reducer
- operations can be applied to all time series.
- The valid choices depend on the `metric_kind`
- and the `value_type` of the original time series.
- Reduction can yield a time series with a different
- `metric_kind` or `value_type` than the input
- time series. Time series data must first be
- aligned (see `per_series_aligner`) in order
- to perform cross-time series reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner` must
- be specified, and must not be `ALIGN_NONE`.
- An `alignment_period` must also be specified;
- otherwise, an error is returned. Possible values:
- REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX,
- REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,
- REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
- REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
- REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
- REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to preserve when
- `cross_series_reducer` is specified. The `group_by_fields`
- determine how the time series are partitioned
- into subsets prior to applying the aggregation
- operation. Each subset contains time series
- that have the same value for each of the grouping
- fields. Each individual time series is a member
- of exactly one subset. The `cross_series_reducer`
- is applied to each subset of time series. It
- is not possible to reduce across different resource
- types, so this field implicitly contains `resource.type`. Fields
- not specified in `group_by_fields` are aggregated
- away. If `group_by_fields` is not specified
- and all the time series have the same resource
- type, then the time series are aggregated into
- a single output time series. If `cross_series_reducer`
- is not defined, this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes how to bring
- the data points in a single time series into
- temporal alignment. Except for `ALIGN_NONE`,
- all alignments cause all the data points in
- an `alignment_period` to be mathematically grouped
- together, resulting in a single data point for
- each `alignment_period` with end timestamp at
- the end of the period. Not all alignment operations
- may be applied to all time series. The valid
- choices depend on the `metric_kind` and `value_type`
- of the original time series. Alignment can change
- the `metric_kind` or the `value_type` of the
- time series. Time series data must be aligned
- in order to perform cross-time series reduction.
- If `cross_series_reducer` is specified, then
- `per_series_aligner` must be specified and not
- equal to `ALIGN_NONE` and `alignment_period`
- must be specified; otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- timeSeriesQueryLanguage:
- type: string
- x-dcl-go-name: TimeSeriesQueryLanguage
- description: A query used to fetch time series.
- unitOverride:
- type: string
- x-dcl-go-name: UnitOverride
- description: The unit of data contained in fetched time
- series. If non-empty, this unit will override any unit
- that accompanies fetched data. The format is the same
- as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors)
- field in `MetricDescriptor`.
- text:
- type: object
- x-dcl-go-name: Text
- x-dcl-go-type: DashboardGridLayoutWidgetsText
- description: A raw string or markdown displaying textual content.
- x-dcl-conflicts:
- - xyChart
- - scorecard
- - blank
- - logsPanel
- properties:
- content:
- type: string
- x-dcl-go-name: Content
- description: The text content to be displayed.
- format:
- type: string
- x-dcl-go-name: Format
- x-dcl-go-type: DashboardGridLayoutWidgetsTextFormatEnum
- description: 'How the text content is formatted. Possible
- values: FORMAT_UNSPECIFIED, MARKDOWN, RAW'
- enum:
- - FORMAT_UNSPECIFIED
- - MARKDOWN
- - RAW
- title:
- type: string
- x-dcl-go-name: Title
- description: Optional. The title of the widget.
- xyChart:
- type: object
- x-dcl-go-name: XyChart
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChart
- description: A chart of time series data.
- x-dcl-conflicts:
- - scorecard
- - text
- - blank
- - logsPanel
- required:
- - dataSets
- properties:
- chartOptions:
- type: object
- x-dcl-go-name: ChartOptions
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartChartOptions
- description: Display options for the chart.
- properties:
- mode:
- type: string
- x-dcl-go-name: Mode
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartChartOptionsModeEnum
- description: 'The chart mode. Possible values: MODE_UNSPECIFIED,
- COLOR, X_RAY, STATS'
- enum:
- - MODE_UNSPECIFIED
- - COLOR
- - X_RAY
- - STATS
- dataSets:
- type: array
- x-dcl-go-name: DataSets
- description: Required. The data displayed in this chart.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: object
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSets
- required:
- - timeSeriesQuery
- properties:
- legendTemplate:
- type: string
- x-dcl-go-name: LegendTemplate
- description: 'A template string for naming `TimeSeries`
- in the resulting data set. This should be a string
- with interpolations of the form `${label_name}`, which
- will resolve to the label''s value. '
- minAlignmentPeriod:
- type: string
- x-dcl-go-name: MinAlignmentPeriod
- description: Optional. The lower bound on data point
- frequency for this data set, implemented by specifying
- the minimum alignment period to use in a time series
- query For example, if the data is published once every
- 10 minutes, the `min_alignment_period` should be at
- least 10 minutes. It would not make sense to fetch
- and align data at one minute intervals.
- plotType:
- type: string
- x-dcl-go-name: PlotType
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnum
- description: 'How this data should be plotted on the
- chart. Possible values: PLOT_TYPE_UNSPECIFIED, LINE,
- STACKED_AREA, STACKED_BAR, HEATMAP'
- enum:
- - PLOT_TYPE_UNSPECIFIED
- - LINE
- - STACKED_AREA
- - STACKED_BAR
- - HEATMAP
- timeSeriesQuery:
- type: object
- x-dcl-go-name: TimeSeriesQuery
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery
- description: Required. Fields for querying time series
- data from the Stackdriver metrics API.
- properties:
- timeSeriesFilter:
- type: object
- x-dcl-go-name: TimeSeriesFilter
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
- description: Filter parameters to fetch time series.
- required:
- - filter
- properties:
- aggregation:
- type: object
- x-dcl-go-name: Aggregation
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
- description: By default, the raw time series
- data is returned. Use this field to combine
- multiple time series for different views of
- the data.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period` specifies
- a time interval, in seconds, that is used
- to divide the data in all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time. This will
- be done before the per-series aligner
- can be applied to the data. The value
- must be at least 60 seconds. If a per-series
- aligner other than `ALIGN_NONE` is specified,
- this field is required or an error is
- returned. If no per-series aligner is
- specified, or the aligner `ALIGN_NONE`
- is specified, then this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum
- description: 'The reduction operation to
- be used to combine time series into a
- single time series, where the value of
- each data point in the resulting series
- is a function of all the already aligned
- values in the input time series. Not
- all reducer operations can be applied
- to all time series. The valid choices
- depend on the `metric_kind` and the `value_type`
- of the original time series. Reduction
- can yield a time series with a different
- `metric_kind` or `value_type` than the
- input time series. Time series data must
- first be aligned (see `per_series_aligner`)
- in order to perform cross-time series
- reduction. If `cross_series_reducer` is
- specified, then `per_series_aligner` must
- be specified, and must not be `ALIGN_NONE`.
- An `alignment_period` must also be specified;
- otherwise, an error is returned. Possible
- values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
- REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
- REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
- REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
- REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
- REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
- REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to preserve
- when `cross_series_reducer` is specified.
- The `group_by_fields` determine how the
- time series are partitioned into subsets
- prior to applying the aggregation operation.
- Each subset contains time series that
- have the same value for each of the grouping
- fields. Each individual time series is
- a member of exactly one subset. The `cross_series_reducer`
- is applied to each subset of time series.
- It is not possible to reduce across different
- resource types, so this field implicitly
- contains `resource.type`. Fields not
- specified in `group_by_fields` are aggregated
- away. If `group_by_fields` is not specified
- and all the time series have the same
- resource type, then the time series are
- aggregated into a single output time series.
- If `cross_series_reducer` is not defined,
- this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes how
- to bring the data points in a single time
- series into temporal alignment. Except
- for `ALIGN_NONE`, all alignments cause
- all the data points in an `alignment_period`
- to be mathematically grouped together,
- resulting in a single data point for each
- `alignment_period` with end timestamp
- at the end of the period. Not all alignment
- operations may be applied to all time
- series. The valid choices depend on the
- `metric_kind` and `value_type` of the
- original time series. Alignment can change
- the `metric_kind` or the `value_type`
- of the time series. Time series data
- must be aligned in order to perform cross-time
- series reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified and not equal to `ALIGN_NONE`
- and `alignment_period` must be specified;
- otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- filter:
- type: string
- x-dcl-go-name: Filter
- description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
- that identifies the metric types, resources,
- and projects to query.
- pickTimeSeriesFilter:
- type: object
- x-dcl-go-name: PickTimeSeriesFilter
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- description: Ranking based time series filter.
- properties:
- direction:
- type: string
- x-dcl-go-name: Direction
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum
- description: 'How to use the ranking to
- select time series that pass through the
- filter. Possible values: DIRECTION_UNSPECIFIED,
- TOP, BOTTOM'
- enum:
- - DIRECTION_UNSPECIFIED
- - TOP
- - BOTTOM
- numTimeSeries:
- type: integer
- format: int64
- x-dcl-go-name: NumTimeSeries
- description: How many time series to allow
- to pass through the filter.
- rankingMethod:
- type: string
- x-dcl-go-name: RankingMethod
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum
- description: '`ranking_method` is applied
- to each time series independently to produce
- the value which will be used to compare
- the time series to other time series.
- Possible values: METHOD_UNSPECIFIED, METHOD_MEAN,
- METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST'
- enum:
- - METHOD_UNSPECIFIED
- - METHOD_MEAN
- - METHOD_MAX
- - METHOD_MIN
- - METHOD_SUM
- - METHOD_LATEST
- secondaryAggregation:
- type: object
- x-dcl-go-name: SecondaryAggregation
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- description: Apply a second aggregation after
- `aggregation` is applied.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period` specifies
- a time interval, in seconds, that is used
- to divide the data in all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time. This will
- be done before the per-series aligner
- can be applied to the data. The value
- must be at least 60 seconds. If a per-series
- aligner other than `ALIGN_NONE` is specified,
- this field is required or an error is
- returned. If no per-series aligner is
- specified, or the aligner `ALIGN_NONE`
- is specified, then this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum
- description: 'The reduction operation to
- be used to combine time series into a
- single time series, where the value of
- each data point in the resulting series
- is a function of all the already aligned
- values in the input time series. Not
- all reducer operations can be applied
- to all time series. The valid choices
- depend on the `metric_kind` and the `value_type`
- of the original time series. Reduction
- can yield a time series with a different
- `metric_kind` or `value_type` than the
- input time series. Time series data must
- first be aligned (see `per_series_aligner`)
- in order to perform cross-time series
- reduction. If `cross_series_reducer` is
- specified, then `per_series_aligner` must
- be specified, and must not be `ALIGN_NONE`.
- An `alignment_period` must also be specified;
- otherwise, an error is returned. Possible
- values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
- REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
- REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
- REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
- REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
- REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
- REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to preserve
- when `cross_series_reducer` is specified.
- The `group_by_fields` determine how the
- time series are partitioned into subsets
- prior to applying the aggregation operation.
- Each subset contains time series that
- have the same value for each of the grouping
- fields. Each individual time series is
- a member of exactly one subset. The `cross_series_reducer`
- is applied to each subset of time series.
- It is not possible to reduce across different
- resource types, so this field implicitly
- contains `resource.type`. Fields not
- specified in `group_by_fields` are aggregated
- away. If `group_by_fields` is not specified
- and all the time series have the same
- resource type, then the time series are
- aggregated into a single output time series.
- If `cross_series_reducer` is not defined,
- this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes how
- to bring the data points in a single time
- series into temporal alignment. Except
- for `ALIGN_NONE`, all alignments cause
- all the data points in an `alignment_period`
- to be mathematically grouped together,
- resulting in a single data point for each
- `alignment_period` with end timestamp
- at the end of the period. Not all alignment
- operations may be applied to all time
- series. The valid choices depend on the
- `metric_kind` and `value_type` of the
- original time series. Alignment can change
- the `metric_kind` or the `value_type`
- of the time series. Time series data
- must be aligned in order to perform cross-time
- series reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified and not equal to `ALIGN_NONE`
- and `alignment_period` must be specified;
- otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- timeSeriesFilterRatio:
- type: object
- x-dcl-go-name: TimeSeriesFilterRatio
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
- description: Parameters to fetch a ratio between
- two time series filters.
- properties:
- denominator:
- type: object
- x-dcl-go-name: Denominator
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
- description: The denominator of the ratio.
- required:
- - filter
- properties:
- aggregation:
- type: object
- x-dcl-go-name: Aggregation
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- description: By default, the raw time series
- data is returned. Use this field to combine
- multiple time series for different views
- of the data.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period`
- specifies a time interval, in seconds,
- that is used to divide the data in
- all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time. This
- will be done before the per-series
- aligner can be applied to the data. The
- value must be at least 60 seconds.
- If a per-series aligner other than
- `ALIGN_NONE` is specified, this field
- is required or an error is returned.
- If no per-series aligner is specified,
- or the aligner `ALIGN_NONE` is specified,
- then this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum
- description: 'The reduction operation
- to be used to combine time series
- into a single time series, where the
- value of each data point in the resulting
- series is a function of all the already
- aligned values in the input time series. Not
- all reducer operations can be applied
- to all time series. The valid choices
- depend on the `metric_kind` and the
- `value_type` of the original time
- series. Reduction can yield a time
- series with a different `metric_kind`
- or `value_type` than the input time
- series. Time series data must first
- be aligned (see `per_series_aligner`)
- in order to perform cross-time series
- reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified, and must not be
- `ALIGN_NONE`. An `alignment_period`
- must also be specified; otherwise,
- an error is returned. Possible values:
- REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
- REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
- REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
- REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
- REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
- REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
- REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to preserve
- when `cross_series_reducer` is specified.
- The `group_by_fields` determine how
- the time series are partitioned into
- subsets prior to applying the aggregation
- operation. Each subset contains time
- series that have the same value for
- each of the grouping fields. Each
- individual time series is a member
- of exactly one subset. The `cross_series_reducer`
- is applied to each subset of time
- series. It is not possible to reduce
- across different resource types, so
- this field implicitly contains `resource.type`. Fields
- not specified in `group_by_fields`
- are aggregated away. If `group_by_fields`
- is not specified and all the time
- series have the same resource type,
- then the time series are aggregated
- into a single output time series.
- If `cross_series_reducer` is not defined,
- this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes
- how to bring the data points in a
- single time series into temporal alignment.
- Except for `ALIGN_NONE`, all alignments
- cause all the data points in an `alignment_period`
- to be mathematically grouped together,
- resulting in a single data point for
- each `alignment_period` with end timestamp
- at the end of the period. Not all
- alignment operations may be applied
- to all time series. The valid choices
- depend on the `metric_kind` and `value_type`
- of the original time series. Alignment
- can change the `metric_kind` or the
- `value_type` of the time series. Time
- series data must be aligned in order
- to perform cross-time series reduction.
- If `cross_series_reducer` is specified,
- then `per_series_aligner` must be
- specified and not equal to `ALIGN_NONE`
- and `alignment_period` must be specified;
- otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- filter:
- type: string
- x-dcl-go-name: Filter
- description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
- that identifies the metric types, resources,
- and projects to query.
- numerator:
- type: object
- x-dcl-go-name: Numerator
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
- description: The numerator of the ratio.
- required:
- - filter
- properties:
- aggregation:
- type: object
- x-dcl-go-name: Aggregation
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- description: By default, the raw time series
- data is returned. Use this field to combine
- multiple time series for different views
- of the data.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period`
- specifies a time interval, in seconds,
- that is used to divide the data in
- all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time. This
- will be done before the per-series
- aligner can be applied to the data. The
- value must be at least 60 seconds.
- If a per-series aligner other than
- `ALIGN_NONE` is specified, this field
- is required or an error is returned.
- If no per-series aligner is specified,
- or the aligner `ALIGN_NONE` is specified,
- then this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum
- description: 'The reduction operation
- to be used to combine time series
- into a single time series, where the
- value of each data point in the resulting
- series is a function of all the already
- aligned values in the input time series. Not
- all reducer operations can be applied
- to all time series. The valid choices
- depend on the `metric_kind` and the
- `value_type` of the original time
- series. Reduction can yield a time
- series with a different `metric_kind`
- or `value_type` than the input time
- series. Time series data must first
- be aligned (see `per_series_aligner`)
- in order to perform cross-time series
- reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified, and must not be
- `ALIGN_NONE`. An `alignment_period`
- must also be specified; otherwise,
- an error is returned. Possible values:
- REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
- REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
- REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
- REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
- REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
- REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
- REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to preserve
- when `cross_series_reducer` is specified.
- The `group_by_fields` determine how
- the time series are partitioned into
- subsets prior to applying the aggregation
- operation. Each subset contains time
- series that have the same value for
- each of the grouping fields. Each
- individual time series is a member
- of exactly one subset. The `cross_series_reducer`
- is applied to each subset of time
- series. It is not possible to reduce
- across different resource types, so
- this field implicitly contains `resource.type`. Fields
- not specified in `group_by_fields`
- are aggregated away. If `group_by_fields`
- is not specified and all the time
- series have the same resource type,
- then the time series are aggregated
- into a single output time series.
- If `cross_series_reducer` is not defined,
- this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes
- how to bring the data points in a
- single time series into temporal alignment.
- Except for `ALIGN_NONE`, all alignments
- cause all the data points in an `alignment_period`
- to be mathematically grouped together,
- resulting in a single data point for
- each `alignment_period` with end timestamp
- at the end of the period. Not all
- alignment operations may be applied
- to all time series. The valid choices
- depend on the `metric_kind` and `value_type`
- of the original time series. Alignment
- can change the `metric_kind` or the
- `value_type` of the time series. Time
- series data must be aligned in order
- to perform cross-time series reduction.
- If `cross_series_reducer` is specified,
- then `per_series_aligner` must be
- specified and not equal to `ALIGN_NONE`
- and `alignment_period` must be specified;
- otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- filter:
- type: string
- x-dcl-go-name: Filter
- description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
- that identifies the metric types, resources,
- and projects to query.
- pickTimeSeriesFilter:
- type: object
- x-dcl-go-name: PickTimeSeriesFilter
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- description: Ranking based time series filter.
- properties:
- direction:
- type: string
- x-dcl-go-name: Direction
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum
- description: 'How to use the ranking to
- select time series that pass through the
- filter. Possible values: DIRECTION_UNSPECIFIED,
- TOP, BOTTOM'
- enum:
- - DIRECTION_UNSPECIFIED
- - TOP
- - BOTTOM
- numTimeSeries:
- type: integer
- format: int64
- x-dcl-go-name: NumTimeSeries
- description: How many time series to allow
- to pass through the filter.
- rankingMethod:
- type: string
- x-dcl-go-name: RankingMethod
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum
- description: '`ranking_method` is applied
- to each time series independently to produce
- the value which will be used to compare
- the time series to other time series.
- Possible values: METHOD_UNSPECIFIED, METHOD_MEAN,
- METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST'
- enum:
- - METHOD_UNSPECIFIED
- - METHOD_MEAN
- - METHOD_MAX
- - METHOD_MIN
- - METHOD_SUM
- - METHOD_LATEST
- secondaryAggregation:
- type: object
- x-dcl-go-name: SecondaryAggregation
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- description: Apply a second aggregation after
- the ratio is computed.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period` specifies
- a time interval, in seconds, that is used
- to divide the data in all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time. This will
- be done before the per-series aligner
- can be applied to the data. The value
- must be at least 60 seconds. If a per-series
- aligner other than `ALIGN_NONE` is specified,
- this field is required or an error is
- returned. If no per-series aligner is
- specified, or the aligner `ALIGN_NONE`
- is specified, then this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum
- description: 'The reduction operation to
- be used to combine time series into a
- single time series, where the value of
- each data point in the resulting series
- is a function of all the already aligned
- values in the input time series. Not
- all reducer operations can be applied
- to all time series. The valid choices
- depend on the `metric_kind` and the `value_type`
- of the original time series. Reduction
- can yield a time series with a different
- `metric_kind` or `value_type` than the
- input time series. Time series data must
- first be aligned (see `per_series_aligner`)
- in order to perform cross-time series
- reduction. If `cross_series_reducer` is
- specified, then `per_series_aligner` must
- be specified, and must not be `ALIGN_NONE`.
- An `alignment_period` must also be specified;
- otherwise, an error is returned. Possible
- values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
- REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
- REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
- REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
- REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
- REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
- REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to preserve
- when `cross_series_reducer` is specified.
- The `group_by_fields` determine how the
- time series are partitioned into subsets
- prior to applying the aggregation operation.
- Each subset contains time series that
- have the same value for each of the grouping
- fields. Each individual time series is
- a member of exactly one subset. The `cross_series_reducer`
- is applied to each subset of time series.
- It is not possible to reduce across different
- resource types, so this field implicitly
- contains `resource.type`. Fields not
- specified in `group_by_fields` are aggregated
- away. If `group_by_fields` is not specified
- and all the time series have the same
- resource type, then the time series are
- aggregated into a single output time series.
- If `cross_series_reducer` is not defined,
- this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes how
- to bring the data points in a single time
- series into temporal alignment. Except
- for `ALIGN_NONE`, all alignments cause
- all the data points in an `alignment_period`
- to be mathematically grouped together,
- resulting in a single data point for each
- `alignment_period` with end timestamp
- at the end of the period. Not all alignment
- operations may be applied to all time
- series. The valid choices depend on the
- `metric_kind` and `value_type` of the
- original time series. Alignment can change
- the `metric_kind` or the `value_type`
- of the time series. Time series data
- must be aligned in order to perform cross-time
- series reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified and not equal to `ALIGN_NONE`
- and `alignment_period` must be specified;
- otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- timeSeriesQueryLanguage:
- type: string
- x-dcl-go-name: TimeSeriesQueryLanguage
- description: A query used to fetch time series.
- unitOverride:
- type: string
- x-dcl-go-name: UnitOverride
- description: The unit of data contained in fetched
- time series. If non-empty, this unit will override
- any unit that accompanies fetched data. The format
- is the same as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors)
- field in `MetricDescriptor`.
- thresholds:
- type: array
- x-dcl-go-name: Thresholds
- description: Threshold lines drawn horizontally across the
- chart.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: object
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartThresholds
- properties:
- color:
- type: string
- x-dcl-go-name: Color
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartThresholdsColorEnum
- description: 'The state color for this threshold. Color
- is not allowed in a XyChart. Possible values: COLOR_UNSPECIFIED,
- GREY, BLUE, GREEN, YELLOW, ORANGE, RED'
- enum:
- - COLOR_UNSPECIFIED
- - GREY
- - BLUE
- - GREEN
- - YELLOW
- - ORANGE
- - RED
- direction:
- type: string
- x-dcl-go-name: Direction
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartThresholdsDirectionEnum
- description: 'The direction for the current threshold.
- Direction is not allowed in a XyChart. Possible values:
- DIRECTION_UNSPECIFIED, ABOVE, BELOW'
- enum:
- - DIRECTION_UNSPECIFIED
- - ABOVE
- - BELOW
- label:
- type: string
- x-dcl-go-name: Label
- description: A label for the threshold.
- value:
- type: number
- format: double
- x-dcl-go-name: Value
- description: The value of the threshold. The value should
- be defined in the native scale of the metric.
- timeshiftDuration:
- type: string
- x-dcl-go-name: TimeshiftDuration
- description: The duration used to display a comparison chart.
- A comparison chart simultaneously shows values from two
- similar-length time periods (e.g., week-over-week metrics).
- The duration must be positive, and it can only be applied
- to charts with data sets of LINE plot type.
- xAxis:
- type: object
- x-dcl-go-name: XAxis
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartXAxis
- description: The properties applied to the X axis.
- properties:
- label:
- type: string
- x-dcl-go-name: Label
- description: The label of the axis.
- scale:
- type: string
- x-dcl-go-name: Scale
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartXAxisScaleEnum
- description: 'The axis scale. By default, a linear scale
- is used. Possible values: SCALE_UNSPECIFIED, LINEAR,
- LOG10'
- enum:
- - SCALE_UNSPECIFIED
- - LINEAR
- - LOG10
- yAxis:
- type: object
- x-dcl-go-name: YAxis
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartYAxis
- description: The properties applied to the Y axis.
- properties:
- label:
- type: string
- x-dcl-go-name: Label
- description: The label of the axis.
- scale:
- type: string
- x-dcl-go-name: Scale
- x-dcl-go-type: DashboardGridLayoutWidgetsXyChartYAxisScaleEnum
- description: 'The axis scale. By default, a linear scale
- is used. Possible values: SCALE_UNSPECIFIED, LINEAR,
- LOG10'
- enum:
- - SCALE_UNSPECIFIED
- - LINEAR
- - LOG10
- mosaicLayout:
- type: object
- x-dcl-go-name: MosaicLayout
- x-dcl-go-type: DashboardMosaicLayout
- description: The content is arranged as a grid of tiles, with each content
- widget occupying one or more tiles.
- x-dcl-conflicts:
- - gridLayout
- - rowLayout
- - columnLayout
- properties:
- columns:
- type: integer
- format: int64
- x-dcl-go-name: Columns
- description: The number of columns in the mosaic grid.
- tiles:
- type: array
- x-dcl-go-name: Tiles
- description: The tiles to display.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: object
- x-dcl-go-type: DashboardMosaicLayoutTiles
- properties:
- height:
- type: integer
- format: int64
- x-dcl-go-name: Height
- description: The height of the tile, measured in grid squares.
- widget:
- type: object
- x-dcl-go-name: Widget
- x-dcl-go-type: DashboardMosaicLayoutTilesWidget
- description: The informational widget contained in the tile.
- properties:
- blank:
- type: object
- x-dcl-go-name: Blank
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetBlank
- description: A blank space.
- x-dcl-conflicts:
- - xyChart
- - scorecard
- - text
- - logsPanel
- logsPanel:
- type: object
- x-dcl-go-name: LogsPanel
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetLogsPanel
- x-dcl-conflicts:
- - xyChart
- - scorecard
- - text
- - blank
- properties:
- filter:
- type: string
- x-dcl-go-name: Filter
- description: A filter that chooses which log entries to
- return. See [Advanced Logs Queries](https://cloud.google.com/logging/docs/view/advanced-queries).
- Only log entries that match the filter are returned.
- An empty filter matches all log entries.
- resourceNames:
- type: array
- x-dcl-go-name: ResourceNames
- description: The names of logging resources to collect
- logs for. Currently only projects are supported. If
- empty, the widget will default to the host project.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- x-dcl-references:
- - resource: Cloudresourcemanager/Project
- field: name
- scorecard:
- type: object
- x-dcl-go-name: Scorecard
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecard
- description: A scorecard summarizing time series data.
- x-dcl-conflicts:
- - xyChart
- - text
- - blank
- - logsPanel
- required:
- - timeSeriesQuery
- properties:
- gaugeView:
- type: object
- x-dcl-go-name: GaugeView
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardGaugeView
- description: Will cause the scorecard to show a gauge
- chart.
- properties:
- lowerBound:
- type: number
- format: double
- x-dcl-go-name: LowerBound
- description: The lower bound for this gauge chart.
- The value of the chart should always be greater
- than or equal to this.
- upperBound:
- type: number
- format: double
- x-dcl-go-name: UpperBound
- description: The upper bound for this gauge chart.
- The value of the chart should always be less than
- or equal to this.
- sparkChartView:
- type: object
- x-dcl-go-name: SparkChartView
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardSparkChartView
- description: Will cause the scorecard to show a spark
- chart.
- required:
- - sparkChartType
- properties:
- minAlignmentPeriod:
- type: string
- x-dcl-go-name: MinAlignmentPeriod
- description: The lower bound on data point frequency
- in the chart implemented by specifying the minimum
- alignment period to use in a time series query.
- For example, if the data is published once every
- 10 minutes it would not make sense to fetch and
- align data at one minute intervals. This field is
- optional and exists only as a hint.
- sparkChartType:
- type: string
- x-dcl-go-name: SparkChartType
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnum
- description: 'Required. The type of sparkchart to
- show in this chartView. Possible values: SPARK_CHART_TYPE_UNSPECIFIED,
- SPARK_LINE, SPARK_BAR'
- enum:
- - SPARK_CHART_TYPE_UNSPECIFIED
- - SPARK_LINE
- - SPARK_BAR
- thresholds:
- type: array
- x-dcl-go-name: Thresholds
- description: 'The thresholds used to determine the state
- of the scorecard given the time series'' current value.
- For an actual value x, the scorecard is in a danger
- state if x is less than or equal to a danger threshold
- that triggers below, or greater than or equal to a danger
- threshold that triggers above. Similarly, if x is above/below
- a warning threshold that triggers above/below, then
- the scorecard is in a warning state - unless x also
- puts it in a danger state. (Danger trumps warning.) As
- an example, consider a scorecard with the following
- four thresholds: { value: 90, category: ''DANGER'', trigger:
- ''ABOVE'', },: { value: 70, category: ''WARNING'', trigger:
- ''ABOVE'', }, { value: 10, category: ''DANGER'', trigger:
- ''BELOW'', }, { value: 20, category: ''WARNING'', trigger:
- ''BELOW'', } Then: values less than or equal to 10
- would put the scorecard in a DANGER state, values greater
- than 10 but less than or equal to 20 a WARNING state,
- values strictly between 20 and 70 an OK state, values
- greater than or equal to 70 but less than 90 a WARNING
- state, and values greater than or equal to 90 a DANGER
- state.'
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: object
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardThresholds
- properties:
- color:
- type: string
- x-dcl-go-name: Color
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnum
- description: 'The state color for this threshold.
- Color is not allowed in a XyChart. Possible values:
- COLOR_UNSPECIFIED, GREY, BLUE, GREEN, YELLOW,
- ORANGE, RED'
- enum:
- - COLOR_UNSPECIFIED
- - GREY
- - BLUE
- - GREEN
- - YELLOW
- - ORANGE
- - RED
- direction:
- type: string
- x-dcl-go-name: Direction
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnum
- description: 'The direction for the current threshold.
- Direction is not allowed in a XyChart. Possible
- values: DIRECTION_UNSPECIFIED, ABOVE, BELOW'
- enum:
- - DIRECTION_UNSPECIFIED
- - ABOVE
- - BELOW
- label:
- type: string
- x-dcl-go-name: Label
- description: A label for the threshold.
- value:
- type: number
- format: double
- x-dcl-go-name: Value
- description: The value of the threshold. The value
- should be defined in the native scale of the metric.
- timeSeriesQuery:
- type: object
- x-dcl-go-name: TimeSeriesQuery
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery
- description: Required. Fields for querying time series
- data from the Stackdriver metrics API.
- properties:
- timeSeriesFilter:
- type: object
- x-dcl-go-name: TimeSeriesFilter
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter
- description: Filter parameters to fetch time series.
- required:
- - filter
- properties:
- aggregation:
- type: object
- x-dcl-go-name: Aggregation
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation
- description: By default, the raw time series data
- is returned. Use this field to combine multiple
- time series for different views of the data.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period` specifies
- a time interval, in seconds, that is used
- to divide the data in all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time. This will
- be done before the per-series aligner can
- be applied to the data. The value must
- be at least 60 seconds. If a per-series
- aligner other than `ALIGN_NONE` is specified,
- this field is required or an error is returned.
- If no per-series aligner is specified, or
- the aligner `ALIGN_NONE` is specified, then
- this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum
- description: 'The reduction operation to be
- used to combine time series into a single
- time series, where the value of each data
- point in the resulting series is a function
- of all the already aligned values in the
- input time series. Not all reducer operations
- can be applied to all time series. The valid
- choices depend on the `metric_kind` and
- the `value_type` of the original time series.
- Reduction can yield a time series with a
- different `metric_kind` or `value_type`
- than the input time series. Time series
- data must first be aligned (see `per_series_aligner`)
- in order to perform cross-time series reduction.
- If `cross_series_reducer` is specified,
- then `per_series_aligner` must be specified,
- and must not be `ALIGN_NONE`. An `alignment_period`
- must also be specified; otherwise, an error
- is returned. Possible values: REDUCE_NONE,
- REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,
- REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,
- REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,
- REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,
- REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,
- REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to preserve
- when `cross_series_reducer` is specified.
- The `group_by_fields` determine how the
- time series are partitioned into subsets
- prior to applying the aggregation operation.
- Each subset contains time series that have
- the same value for each of the grouping
- fields. Each individual time series is a
- member of exactly one subset. The `cross_series_reducer`
- is applied to each subset of time series.
- It is not possible to reduce across different
- resource types, so this field implicitly
- contains `resource.type`. Fields not specified
- in `group_by_fields` are aggregated away. If
- `group_by_fields` is not specified and all
- the time series have the same resource type,
- then the time series are aggregated into
- a single output time series. If `cross_series_reducer`
- is not defined, this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes how to
- bring the data points in a single time series
- into temporal alignment. Except for `ALIGN_NONE`,
- all alignments cause all the data points
- in an `alignment_period` to be mathematically
- grouped together, resulting in a single
- data point for each `alignment_period` with
- end timestamp at the end of the period. Not
- all alignment operations may be applied
- to all time series. The valid choices depend
- on the `metric_kind` and `value_type` of
- the original time series. Alignment can
- change the `metric_kind` or the `value_type`
- of the time series. Time series data must
- be aligned in order to perform cross-time
- series reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified and not equal to `ALIGN_NONE`
- and `alignment_period` must be specified;
- otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- filter:
- type: string
- x-dcl-go-name: Filter
- description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
- that identifies the metric types, resources,
- and projects to query.
- pickTimeSeriesFilter:
- type: object
- x-dcl-go-name: PickTimeSeriesFilter
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- description: Ranking based time series filter.
- properties:
- direction:
- type: string
- x-dcl-go-name: Direction
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum
- description: 'How to use the ranking to select
- time series that pass through the filter.
- Possible values: DIRECTION_UNSPECIFIED,
- TOP, BOTTOM'
- enum:
- - DIRECTION_UNSPECIFIED
- - TOP
- - BOTTOM
- numTimeSeries:
- type: integer
- format: int64
- x-dcl-go-name: NumTimeSeries
- description: How many time series to allow
- to pass through the filter.
- rankingMethod:
- type: string
- x-dcl-go-name: RankingMethod
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum
- description: '`ranking_method` is applied
- to each time series independently to produce
- the value which will be used to compare
- the time series to other time series. Possible
- values: METHOD_UNSPECIFIED, METHOD_MEAN,
- METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST'
- enum:
- - METHOD_UNSPECIFIED
- - METHOD_MEAN
- - METHOD_MAX
- - METHOD_MIN
- - METHOD_SUM
- - METHOD_LATEST
- secondaryAggregation:
- type: object
- x-dcl-go-name: SecondaryAggregation
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- description: Apply a second aggregation after
- `aggregation` is applied.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period` specifies
- a time interval, in seconds, that is used
- to divide the data in all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time. This will
- be done before the per-series aligner can
- be applied to the data. The value must
- be at least 60 seconds. If a per-series
- aligner other than `ALIGN_NONE` is specified,
- this field is required or an error is returned.
- If no per-series aligner is specified, or
- the aligner `ALIGN_NONE` is specified, then
- this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum
- description: 'The reduction operation to be
- used to combine time series into a single
- time series, where the value of each data
- point in the resulting series is a function
- of all the already aligned values in the
- input time series. Not all reducer operations
- can be applied to all time series. The valid
- choices depend on the `metric_kind` and
- the `value_type` of the original time series.
- Reduction can yield a time series with a
- different `metric_kind` or `value_type`
- than the input time series. Time series
- data must first be aligned (see `per_series_aligner`)
- in order to perform cross-time series reduction.
- If `cross_series_reducer` is specified,
- then `per_series_aligner` must be specified,
- and must not be `ALIGN_NONE`. An `alignment_period`
- must also be specified; otherwise, an error
- is returned. Possible values: REDUCE_NONE,
- REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,
- REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,
- REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,
- REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,
- REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,
- REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to preserve
- when `cross_series_reducer` is specified.
- The `group_by_fields` determine how the
- time series are partitioned into subsets
- prior to applying the aggregation operation.
- Each subset contains time series that have
- the same value for each of the grouping
- fields. Each individual time series is a
- member of exactly one subset. The `cross_series_reducer`
- is applied to each subset of time series.
- It is not possible to reduce across different
- resource types, so this field implicitly
- contains `resource.type`. Fields not specified
- in `group_by_fields` are aggregated away. If
- `group_by_fields` is not specified and all
- the time series have the same resource type,
- then the time series are aggregated into
- a single output time series. If `cross_series_reducer`
- is not defined, this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes how to
- bring the data points in a single time series
- into temporal alignment. Except for `ALIGN_NONE`,
- all alignments cause all the data points
- in an `alignment_period` to be mathematically
- grouped together, resulting in a single
- data point for each `alignment_period` with
- end timestamp at the end of the period. Not
- all alignment operations may be applied
- to all time series. The valid choices depend
- on the `metric_kind` and `value_type` of
- the original time series. Alignment can
- change the `metric_kind` or the `value_type`
- of the time series. Time series data must
- be aligned in order to perform cross-time
- series reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified and not equal to `ALIGN_NONE`
- and `alignment_period` must be specified;
- otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- timeSeriesFilterRatio:
- type: object
- x-dcl-go-name: TimeSeriesFilterRatio
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio
- description: Parameters to fetch a ratio between two
- time series filters.
- properties:
- denominator:
- type: object
- x-dcl-go-name: Denominator
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
- description: The denominator of the ratio.
- required:
- - filter
- properties:
- aggregation:
- type: object
- x-dcl-go-name: Aggregation
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- description: By default, the raw time series
- data is returned. Use this field to combine
- multiple time series for different views
- of the data.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period` specifies
- a time interval, in seconds, that is
- used to divide the data in all the [time
- series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time. This
- will be done before the per-series aligner
- can be applied to the data. The value
- must be at least 60 seconds. If a per-series
- aligner other than `ALIGN_NONE` is specified,
- this field is required or an error is
- returned. If no per-series aligner is
- specified, or the aligner `ALIGN_NONE`
- is specified, then this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum
- description: 'The reduction operation
- to be used to combine time series into
- a single time series, where the value
- of each data point in the resulting
- series is a function of all the already
- aligned values in the input time series. Not
- all reducer operations can be applied
- to all time series. The valid choices
- depend on the `metric_kind` and the
- `value_type` of the original time series.
- Reduction can yield a time series with
- a different `metric_kind` or `value_type`
- than the input time series. Time series
- data must first be aligned (see `per_series_aligner`)
- in order to perform cross-time series
- reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified, and must not be `ALIGN_NONE`.
- An `alignment_period` must also be specified;
- otherwise, an error is returned. Possible
- values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
- REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
- REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
- REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
- REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
- REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
- REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to preserve
- when `cross_series_reducer` is specified.
- The `group_by_fields` determine how
- the time series are partitioned into
- subsets prior to applying the aggregation
- operation. Each subset contains time
- series that have the same value for
- each of the grouping fields. Each individual
- time series is a member of exactly one
- subset. The `cross_series_reducer` is
- applied to each subset of time series.
- It is not possible to reduce across
- different resource types, so this field
- implicitly contains `resource.type`. Fields
- not specified in `group_by_fields` are
- aggregated away. If `group_by_fields`
- is not specified and all the time series
- have the same resource type, then the
- time series are aggregated into a single
- output time series. If `cross_series_reducer`
- is not defined, this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes how
- to bring the data points in a single
- time series into temporal alignment.
- Except for `ALIGN_NONE`, all alignments
- cause all the data points in an `alignment_period`
- to be mathematically grouped together,
- resulting in a single data point for
- each `alignment_period` with end timestamp
- at the end of the period. Not all alignment
- operations may be applied to all time
- series. The valid choices depend on
- the `metric_kind` and `value_type` of
- the original time series. Alignment
- can change the `metric_kind` or the
- `value_type` of the time series. Time
- series data must be aligned in order
- to perform cross-time series reduction.
- If `cross_series_reducer` is specified,
- then `per_series_aligner` must be specified
- and not equal to `ALIGN_NONE` and `alignment_period`
- must be specified; otherwise, an error
- is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- filter:
- type: string
- x-dcl-go-name: Filter
- description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
- that identifies the metric types, resources,
- and projects to query.
- numerator:
- type: object
- x-dcl-go-name: Numerator
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
- description: The numerator of the ratio.
- required:
- - filter
- properties:
- aggregation:
- type: object
- x-dcl-go-name: Aggregation
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- description: By default, the raw time series
- data is returned. Use this field to combine
- multiple time series for different views
- of the data.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period` specifies
- a time interval, in seconds, that is
- used to divide the data in all the [time
- series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time. This
- will be done before the per-series aligner
- can be applied to the data. The value
- must be at least 60 seconds. If a per-series
- aligner other than `ALIGN_NONE` is specified,
- this field is required or an error is
- returned. If no per-series aligner is
- specified, or the aligner `ALIGN_NONE`
- is specified, then this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum
- description: 'The reduction operation
- to be used to combine time series into
- a single time series, where the value
- of each data point in the resulting
- series is a function of all the already
- aligned values in the input time series. Not
- all reducer operations can be applied
- to all time series. The valid choices
- depend on the `metric_kind` and the
- `value_type` of the original time series.
- Reduction can yield a time series with
- a different `metric_kind` or `value_type`
- than the input time series. Time series
- data must first be aligned (see `per_series_aligner`)
- in order to perform cross-time series
- reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified, and must not be `ALIGN_NONE`.
- An `alignment_period` must also be specified;
- otherwise, an error is returned. Possible
- values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
- REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
- REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
- REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
- REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
- REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
- REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to preserve
- when `cross_series_reducer` is specified.
- The `group_by_fields` determine how
- the time series are partitioned into
- subsets prior to applying the aggregation
- operation. Each subset contains time
- series that have the same value for
- each of the grouping fields. Each individual
- time series is a member of exactly one
- subset. The `cross_series_reducer` is
- applied to each subset of time series.
- It is not possible to reduce across
- different resource types, so this field
- implicitly contains `resource.type`. Fields
- not specified in `group_by_fields` are
- aggregated away. If `group_by_fields`
- is not specified and all the time series
- have the same resource type, then the
- time series are aggregated into a single
- output time series. If `cross_series_reducer`
- is not defined, this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes how
- to bring the data points in a single
- time series into temporal alignment.
- Except for `ALIGN_NONE`, all alignments
- cause all the data points in an `alignment_period`
- to be mathematically grouped together,
- resulting in a single data point for
- each `alignment_period` with end timestamp
- at the end of the period. Not all alignment
- operations may be applied to all time
- series. The valid choices depend on
- the `metric_kind` and `value_type` of
- the original time series. Alignment
- can change the `metric_kind` or the
- `value_type` of the time series. Time
- series data must be aligned in order
- to perform cross-time series reduction.
- If `cross_series_reducer` is specified,
- then `per_series_aligner` must be specified
- and not equal to `ALIGN_NONE` and `alignment_period`
- must be specified; otherwise, an error
- is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- filter:
- type: string
- x-dcl-go-name: Filter
- description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
- that identifies the metric types, resources,
- and projects to query.
- pickTimeSeriesFilter:
- type: object
- x-dcl-go-name: PickTimeSeriesFilter
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- description: Ranking based time series filter.
- properties:
- direction:
- type: string
- x-dcl-go-name: Direction
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum
- description: 'How to use the ranking to select
- time series that pass through the filter.
- Possible values: DIRECTION_UNSPECIFIED,
- TOP, BOTTOM'
- enum:
- - DIRECTION_UNSPECIFIED
- - TOP
- - BOTTOM
- numTimeSeries:
- type: integer
- format: int64
- x-dcl-go-name: NumTimeSeries
- description: How many time series to allow
- to pass through the filter.
- rankingMethod:
- type: string
- x-dcl-go-name: RankingMethod
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum
- description: '`ranking_method` is applied
- to each time series independently to produce
- the value which will be used to compare
- the time series to other time series. Possible
- values: METHOD_UNSPECIFIED, METHOD_MEAN,
- METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST'
- enum:
- - METHOD_UNSPECIFIED
- - METHOD_MEAN
- - METHOD_MAX
- - METHOD_MIN
- - METHOD_SUM
- - METHOD_LATEST
- secondaryAggregation:
- type: object
- x-dcl-go-name: SecondaryAggregation
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- description: Apply a second aggregation after
- the ratio is computed.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period` specifies
- a time interval, in seconds, that is used
- to divide the data in all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time. This will
- be done before the per-series aligner can
- be applied to the data. The value must
- be at least 60 seconds. If a per-series
- aligner other than `ALIGN_NONE` is specified,
- this field is required or an error is returned.
- If no per-series aligner is specified, or
- the aligner `ALIGN_NONE` is specified, then
- this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum
- description: 'The reduction operation to be
- used to combine time series into a single
- time series, where the value of each data
- point in the resulting series is a function
- of all the already aligned values in the
- input time series. Not all reducer operations
- can be applied to all time series. The valid
- choices depend on the `metric_kind` and
- the `value_type` of the original time series.
- Reduction can yield a time series with a
- different `metric_kind` or `value_type`
- than the input time series. Time series
- data must first be aligned (see `per_series_aligner`)
- in order to perform cross-time series reduction.
- If `cross_series_reducer` is specified,
- then `per_series_aligner` must be specified,
- and must not be `ALIGN_NONE`. An `alignment_period`
- must also be specified; otherwise, an error
- is returned. Possible values: REDUCE_NONE,
- REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,
- REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,
- REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,
- REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,
- REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,
- REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to preserve
- when `cross_series_reducer` is specified.
- The `group_by_fields` determine how the
- time series are partitioned into subsets
- prior to applying the aggregation operation.
- Each subset contains time series that have
- the same value for each of the grouping
- fields. Each individual time series is a
- member of exactly one subset. The `cross_series_reducer`
- is applied to each subset of time series.
- It is not possible to reduce across different
- resource types, so this field implicitly
- contains `resource.type`. Fields not specified
- in `group_by_fields` are aggregated away. If
- `group_by_fields` is not specified and all
- the time series have the same resource type,
- then the time series are aggregated into
- a single output time series. If `cross_series_reducer`
- is not defined, this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes how to
- bring the data points in a single time series
- into temporal alignment. Except for `ALIGN_NONE`,
- all alignments cause all the data points
- in an `alignment_period` to be mathematically
- grouped together, resulting in a single
- data point for each `alignment_period` with
- end timestamp at the end of the period. Not
- all alignment operations may be applied
- to all time series. The valid choices depend
- on the `metric_kind` and `value_type` of
- the original time series. Alignment can
- change the `metric_kind` or the `value_type`
- of the time series. Time series data must
- be aligned in order to perform cross-time
- series reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified and not equal to `ALIGN_NONE`
- and `alignment_period` must be specified;
- otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- timeSeriesQueryLanguage:
- type: string
- x-dcl-go-name: TimeSeriesQueryLanguage
- description: A query used to fetch time series.
- unitOverride:
- type: string
- x-dcl-go-name: UnitOverride
- description: The unit of data contained in fetched
- time series. If non-empty, this unit will override
- any unit that accompanies fetched data. The format
- is the same as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors)
- field in `MetricDescriptor`.
- text:
- type: object
- x-dcl-go-name: Text
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetText
- description: A raw string or markdown displaying textual content.
- x-dcl-conflicts:
- - xyChart
- - scorecard
- - blank
- - logsPanel
- properties:
- content:
- type: string
- x-dcl-go-name: Content
- description: The text content to be displayed.
- format:
- type: string
- x-dcl-go-name: Format
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetTextFormatEnum
- description: 'How the text content is formatted. Possible
- values: FORMAT_UNSPECIFIED, MARKDOWN, RAW'
- enum:
- - FORMAT_UNSPECIFIED
- - MARKDOWN
- - RAW
- title:
- type: string
- x-dcl-go-name: Title
- description: Optional. The title of the widget.
- xyChart:
- type: object
- x-dcl-go-name: XyChart
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChart
- description: A chart of time series data.
- x-dcl-conflicts:
- - scorecard
- - text
- - blank
- - logsPanel
- required:
- - dataSets
- properties:
- chartOptions:
- type: object
- x-dcl-go-name: ChartOptions
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartChartOptions
- description: Display options for the chart.
- properties:
- mode:
- type: string
- x-dcl-go-name: Mode
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnum
- description: 'The chart mode. Possible values: MODE_UNSPECIFIED,
- COLOR, X_RAY, STATS'
- enum:
- - MODE_UNSPECIFIED
- - COLOR
- - X_RAY
- - STATS
- dataSets:
- type: array
- x-dcl-go-name: DataSets
- description: Required. The data displayed in this chart.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: object
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSets
- required:
- - timeSeriesQuery
- properties:
- legendTemplate:
- type: string
- x-dcl-go-name: LegendTemplate
- description: 'A template string for naming `TimeSeries`
- in the resulting data set. This should be a string
- with interpolations of the form `${label_name}`,
- which will resolve to the label''s value. '
- minAlignmentPeriod:
- type: string
- x-dcl-go-name: MinAlignmentPeriod
- description: Optional. The lower bound on data point
- frequency for this data set, implemented by specifying
- the minimum alignment period to use in a time
- series query For example, if the data is published
- once every 10 minutes, the `min_alignment_period`
- should be at least 10 minutes. It would not make
- sense to fetch and align data at one minute intervals.
- plotType:
- type: string
- x-dcl-go-name: PlotType
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnum
- description: 'How this data should be plotted on
- the chart. Possible values: PLOT_TYPE_UNSPECIFIED,
- LINE, STACKED_AREA, STACKED_BAR, HEATMAP'
- enum:
- - PLOT_TYPE_UNSPECIFIED
- - LINE
- - STACKED_AREA
- - STACKED_BAR
- - HEATMAP
- timeSeriesQuery:
- type: object
- x-dcl-go-name: TimeSeriesQuery
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery
- description: Required. Fields for querying time
- series data from the Stackdriver metrics API.
- properties:
- timeSeriesFilter:
- type: object
- x-dcl-go-name: TimeSeriesFilter
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
- description: Filter parameters to fetch time
- series.
- required:
- - filter
- properties:
- aggregation:
- type: object
- x-dcl-go-name: Aggregation
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
- description: By default, the raw time series
- data is returned. Use this field to combine
- multiple time series for different views
- of the data.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period`
- specifies a time interval, in seconds,
- that is used to divide the data in
- all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time. This
- will be done before the per-series
- aligner can be applied to the data. The
- value must be at least 60 seconds.
- If a per-series aligner other than
- `ALIGN_NONE` is specified, this field
- is required or an error is returned.
- If no per-series aligner is specified,
- or the aligner `ALIGN_NONE` is specified,
- then this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum
- description: 'The reduction operation
- to be used to combine time series
- into a single time series, where the
- value of each data point in the resulting
- series is a function of all the already
- aligned values in the input time series. Not
- all reducer operations can be applied
- to all time series. The valid choices
- depend on the `metric_kind` and the
- `value_type` of the original time
- series. Reduction can yield a time
- series with a different `metric_kind`
- or `value_type` than the input time
- series. Time series data must first
- be aligned (see `per_series_aligner`)
- in order to perform cross-time series
- reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified, and must not be
- `ALIGN_NONE`. An `alignment_period`
- must also be specified; otherwise,
- an error is returned. Possible values:
- REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
- REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
- REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
- REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
- REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
- REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
- REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to preserve
- when `cross_series_reducer` is specified.
- The `group_by_fields` determine how
- the time series are partitioned into
- subsets prior to applying the aggregation
- operation. Each subset contains time
- series that have the same value for
- each of the grouping fields. Each
- individual time series is a member
- of exactly one subset. The `cross_series_reducer`
- is applied to each subset of time
- series. It is not possible to reduce
- across different resource types, so
- this field implicitly contains `resource.type`. Fields
- not specified in `group_by_fields`
- are aggregated away. If `group_by_fields`
- is not specified and all the time
- series have the same resource type,
- then the time series are aggregated
- into a single output time series.
- If `cross_series_reducer` is not defined,
- this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes
- how to bring the data points in a
- single time series into temporal alignment.
- Except for `ALIGN_NONE`, all alignments
- cause all the data points in an `alignment_period`
- to be mathematically grouped together,
- resulting in a single data point for
- each `alignment_period` with end timestamp
- at the end of the period. Not all
- alignment operations may be applied
- to all time series. The valid choices
- depend on the `metric_kind` and `value_type`
- of the original time series. Alignment
- can change the `metric_kind` or the
- `value_type` of the time series. Time
- series data must be aligned in order
- to perform cross-time series reduction.
- If `cross_series_reducer` is specified,
- then `per_series_aligner` must be
- specified and not equal to `ALIGN_NONE`
- and `alignment_period` must be specified;
- otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- filter:
- type: string
- x-dcl-go-name: Filter
- description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
- that identifies the metric types, resources,
- and projects to query.
- pickTimeSeriesFilter:
- type: object
- x-dcl-go-name: PickTimeSeriesFilter
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- description: Ranking based time series filter.
- properties:
- direction:
- type: string
- x-dcl-go-name: Direction
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum
- description: 'How to use the ranking
- to select time series that pass through
- the filter. Possible values: DIRECTION_UNSPECIFIED,
- TOP, BOTTOM'
- enum:
- - DIRECTION_UNSPECIFIED
- - TOP
- - BOTTOM
- numTimeSeries:
- type: integer
- format: int64
- x-dcl-go-name: NumTimeSeries
- description: How many time series to
- allow to pass through the filter.
- rankingMethod:
- type: string
- x-dcl-go-name: RankingMethod
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum
- description: '`ranking_method` is applied
- to each time series independently
- to produce the value which will be
- used to compare the time series to
- other time series. Possible values:
- METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX,
- METHOD_MIN, METHOD_SUM, METHOD_LATEST'
- enum:
- - METHOD_UNSPECIFIED
- - METHOD_MEAN
- - METHOD_MAX
- - METHOD_MIN
- - METHOD_SUM
- - METHOD_LATEST
- secondaryAggregation:
- type: object
- x-dcl-go-name: SecondaryAggregation
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- description: Apply a second aggregation
- after `aggregation` is applied.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period`
- specifies a time interval, in seconds,
- that is used to divide the data in
- all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time. This
- will be done before the per-series
- aligner can be applied to the data. The
- value must be at least 60 seconds.
- If a per-series aligner other than
- `ALIGN_NONE` is specified, this field
- is required or an error is returned.
- If no per-series aligner is specified,
- or the aligner `ALIGN_NONE` is specified,
- then this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum
- description: 'The reduction operation
- to be used to combine time series
- into a single time series, where the
- value of each data point in the resulting
- series is a function of all the already
- aligned values in the input time series. Not
- all reducer operations can be applied
- to all time series. The valid choices
- depend on the `metric_kind` and the
- `value_type` of the original time
- series. Reduction can yield a time
- series with a different `metric_kind`
- or `value_type` than the input time
- series. Time series data must first
- be aligned (see `per_series_aligner`)
- in order to perform cross-time series
- reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified, and must not be
- `ALIGN_NONE`. An `alignment_period`
- must also be specified; otherwise,
- an error is returned. Possible values:
- REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
- REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
- REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
- REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
- REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
- REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
- REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to preserve
- when `cross_series_reducer` is specified.
- The `group_by_fields` determine how
- the time series are partitioned into
- subsets prior to applying the aggregation
- operation. Each subset contains time
- series that have the same value for
- each of the grouping fields. Each
- individual time series is a member
- of exactly one subset. The `cross_series_reducer`
- is applied to each subset of time
- series. It is not possible to reduce
- across different resource types, so
- this field implicitly contains `resource.type`. Fields
- not specified in `group_by_fields`
- are aggregated away. If `group_by_fields`
- is not specified and all the time
- series have the same resource type,
- then the time series are aggregated
- into a single output time series.
- If `cross_series_reducer` is not defined,
- this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes
- how to bring the data points in a
- single time series into temporal alignment.
- Except for `ALIGN_NONE`, all alignments
- cause all the data points in an `alignment_period`
- to be mathematically grouped together,
- resulting in a single data point for
- each `alignment_period` with end timestamp
- at the end of the period. Not all
- alignment operations may be applied
- to all time series. The valid choices
- depend on the `metric_kind` and `value_type`
- of the original time series. Alignment
- can change the `metric_kind` or the
- `value_type` of the time series. Time
- series data must be aligned in order
- to perform cross-time series reduction.
- If `cross_series_reducer` is specified,
- then `per_series_aligner` must be
- specified and not equal to `ALIGN_NONE`
- and `alignment_period` must be specified;
- otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- timeSeriesFilterRatio:
- type: object
- x-dcl-go-name: TimeSeriesFilterRatio
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
- description: Parameters to fetch a ratio between
- two time series filters.
- properties:
- denominator:
- type: object
- x-dcl-go-name: Denominator
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
- description: The denominator of the ratio.
- required:
- - filter
- properties:
- aggregation:
- type: object
- x-dcl-go-name: Aggregation
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- description: By default, the raw time
- series data is returned. Use this
- field to combine multiple time series
- for different views of the data.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period`
- specifies a time interval, in
- seconds, that is used to divide
- the data in all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time.
- This will be done before the per-series
- aligner can be applied to the
- data. The value must be at least
- 60 seconds. If a per-series aligner
- other than `ALIGN_NONE` is specified,
- this field is required or an error
- is returned. If no per-series
- aligner is specified, or the aligner
- `ALIGN_NONE` is specified, then
- this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum
- description: 'The reduction operation
- to be used to combine time series
- into a single time series, where
- the value of each data point in
- the resulting series is a function
- of all the already aligned values
- in the input time series. Not
- all reducer operations can be
- applied to all time series. The
- valid choices depend on the `metric_kind`
- and the `value_type` of the original
- time series. Reduction can yield
- a time series with a different
- `metric_kind` or `value_type`
- than the input time series. Time
- series data must first be aligned
- (see `per_series_aligner`) in
- order to perform cross-time series
- reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified, and must not
- be `ALIGN_NONE`. An `alignment_period`
- must also be specified; otherwise,
- an error is returned. Possible
- values: REDUCE_NONE, REDUCE_MEAN,
- REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,
- REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,
- REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,
- REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,
- REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,
- REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to
- preserve when `cross_series_reducer`
- is specified. The `group_by_fields`
- determine how the time series
- are partitioned into subsets prior
- to applying the aggregation operation.
- Each subset contains time series
- that have the same value for each
- of the grouping fields. Each individual
- time series is a member of exactly
- one subset. The `cross_series_reducer`
- is applied to each subset of time
- series. It is not possible to
- reduce across different resource
- types, so this field implicitly
- contains `resource.type`. Fields
- not specified in `group_by_fields`
- are aggregated away. If `group_by_fields`
- is not specified and all the time
- series have the same resource
- type, then the time series are
- aggregated into a single output
- time series. If `cross_series_reducer`
- is not defined, this field is
- ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes
- how to bring the data points in
- a single time series into temporal
- alignment. Except for `ALIGN_NONE`,
- all alignments cause all the data
- points in an `alignment_period`
- to be mathematically grouped together,
- resulting in a single data point
- for each `alignment_period` with
- end timestamp at the end of the
- period. Not all alignment operations
- may be applied to all time series.
- The valid choices depend on the
- `metric_kind` and `value_type`
- of the original time series. Alignment
- can change the `metric_kind` or
- the `value_type` of the time series. Time
- series data must be aligned in
- order to perform cross-time series
- reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified and not equal
- to `ALIGN_NONE` and `alignment_period`
- must be specified; otherwise,
- an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- filter:
- type: string
- x-dcl-go-name: Filter
- description: Required. The [monitoring
- filter](https://cloud.google.com/monitoring/api/v3/filters)
- that identifies the metric types,
- resources, and projects to query.
- numerator:
- type: object
- x-dcl-go-name: Numerator
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
- description: The numerator of the ratio.
- required:
- - filter
- properties:
- aggregation:
- type: object
- x-dcl-go-name: Aggregation
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- description: By default, the raw time
- series data is returned. Use this
- field to combine multiple time series
- for different views of the data.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period`
- specifies a time interval, in
- seconds, that is used to divide
- the data in all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time.
- This will be done before the per-series
- aligner can be applied to the
- data. The value must be at least
- 60 seconds. If a per-series aligner
- other than `ALIGN_NONE` is specified,
- this field is required or an error
- is returned. If no per-series
- aligner is specified, or the aligner
- `ALIGN_NONE` is specified, then
- this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum
- description: 'The reduction operation
- to be used to combine time series
- into a single time series, where
- the value of each data point in
- the resulting series is a function
- of all the already aligned values
- in the input time series. Not
- all reducer operations can be
- applied to all time series. The
- valid choices depend on the `metric_kind`
- and the `value_type` of the original
- time series. Reduction can yield
- a time series with a different
- `metric_kind` or `value_type`
- than the input time series. Time
- series data must first be aligned
- (see `per_series_aligner`) in
- order to perform cross-time series
- reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified, and must not
- be `ALIGN_NONE`. An `alignment_period`
- must also be specified; otherwise,
- an error is returned. Possible
- values: REDUCE_NONE, REDUCE_MEAN,
- REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,
- REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,
- REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,
- REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,
- REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,
- REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to
- preserve when `cross_series_reducer`
- is specified. The `group_by_fields`
- determine how the time series
- are partitioned into subsets prior
- to applying the aggregation operation.
- Each subset contains time series
- that have the same value for each
- of the grouping fields. Each individual
- time series is a member of exactly
- one subset. The `cross_series_reducer`
- is applied to each subset of time
- series. It is not possible to
- reduce across different resource
- types, so this field implicitly
- contains `resource.type`. Fields
- not specified in `group_by_fields`
- are aggregated away. If `group_by_fields`
- is not specified and all the time
- series have the same resource
- type, then the time series are
- aggregated into a single output
- time series. If `cross_series_reducer`
- is not defined, this field is
- ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes
- how to bring the data points in
- a single time series into temporal
- alignment. Except for `ALIGN_NONE`,
- all alignments cause all the data
- points in an `alignment_period`
- to be mathematically grouped together,
- resulting in a single data point
- for each `alignment_period` with
- end timestamp at the end of the
- period. Not all alignment operations
- may be applied to all time series.
- The valid choices depend on the
- `metric_kind` and `value_type`
- of the original time series. Alignment
- can change the `metric_kind` or
- the `value_type` of the time series. Time
- series data must be aligned in
- order to perform cross-time series
- reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified and not equal
- to `ALIGN_NONE` and `alignment_period`
- must be specified; otherwise,
- an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- filter:
- type: string
- x-dcl-go-name: Filter
- description: Required. The [monitoring
- filter](https://cloud.google.com/monitoring/api/v3/filters)
- that identifies the metric types,
- resources, and projects to query.
- pickTimeSeriesFilter:
- type: object
- x-dcl-go-name: PickTimeSeriesFilter
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- description: Ranking based time series filter.
- properties:
- direction:
- type: string
- x-dcl-go-name: Direction
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum
- description: 'How to use the ranking
- to select time series that pass through
- the filter. Possible values: DIRECTION_UNSPECIFIED,
- TOP, BOTTOM'
- enum:
- - DIRECTION_UNSPECIFIED
- - TOP
- - BOTTOM
- numTimeSeries:
- type: integer
- format: int64
- x-dcl-go-name: NumTimeSeries
- description: How many time series to
- allow to pass through the filter.
- rankingMethod:
- type: string
- x-dcl-go-name: RankingMethod
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum
- description: '`ranking_method` is applied
- to each time series independently
- to produce the value which will be
- used to compare the time series to
- other time series. Possible values:
- METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX,
- METHOD_MIN, METHOD_SUM, METHOD_LATEST'
- enum:
- - METHOD_UNSPECIFIED
- - METHOD_MEAN
- - METHOD_MAX
- - METHOD_MIN
- - METHOD_SUM
- - METHOD_LATEST
- secondaryAggregation:
- type: object
- x-dcl-go-name: SecondaryAggregation
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- description: Apply a second aggregation
- after the ratio is computed.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period`
- specifies a time interval, in seconds,
- that is used to divide the data in
- all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time. This
- will be done before the per-series
- aligner can be applied to the data. The
- value must be at least 60 seconds.
- If a per-series aligner other than
- `ALIGN_NONE` is specified, this field
- is required or an error is returned.
- If no per-series aligner is specified,
- or the aligner `ALIGN_NONE` is specified,
- then this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum
- description: 'The reduction operation
- to be used to combine time series
- into a single time series, where the
- value of each data point in the resulting
- series is a function of all the already
- aligned values in the input time series. Not
- all reducer operations can be applied
- to all time series. The valid choices
- depend on the `metric_kind` and the
- `value_type` of the original time
- series. Reduction can yield a time
- series with a different `metric_kind`
- or `value_type` than the input time
- series. Time series data must first
- be aligned (see `per_series_aligner`)
- in order to perform cross-time series
- reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified, and must not be
- `ALIGN_NONE`. An `alignment_period`
- must also be specified; otherwise,
- an error is returned. Possible values:
- REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
- REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
- REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
- REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
- REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
- REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
- REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to preserve
- when `cross_series_reducer` is specified.
- The `group_by_fields` determine how
- the time series are partitioned into
- subsets prior to applying the aggregation
- operation. Each subset contains time
- series that have the same value for
- each of the grouping fields. Each
- individual time series is a member
- of exactly one subset. The `cross_series_reducer`
- is applied to each subset of time
- series. It is not possible to reduce
- across different resource types, so
- this field implicitly contains `resource.type`. Fields
- not specified in `group_by_fields`
- are aggregated away. If `group_by_fields`
- is not specified and all the time
- series have the same resource type,
- then the time series are aggregated
- into a single output time series.
- If `cross_series_reducer` is not defined,
- this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes
- how to bring the data points in a
- single time series into temporal alignment.
- Except for `ALIGN_NONE`, all alignments
- cause all the data points in an `alignment_period`
- to be mathematically grouped together,
- resulting in a single data point for
- each `alignment_period` with end timestamp
- at the end of the period. Not all
- alignment operations may be applied
- to all time series. The valid choices
- depend on the `metric_kind` and `value_type`
- of the original time series. Alignment
- can change the `metric_kind` or the
- `value_type` of the time series. Time
- series data must be aligned in order
- to perform cross-time series reduction.
- If `cross_series_reducer` is specified,
- then `per_series_aligner` must be
- specified and not equal to `ALIGN_NONE`
- and `alignment_period` must be specified;
- otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- timeSeriesQueryLanguage:
- type: string
- x-dcl-go-name: TimeSeriesQueryLanguage
- description: A query used to fetch time series.
- unitOverride:
- type: string
- x-dcl-go-name: UnitOverride
- description: The unit of data contained in fetched
- time series. If non-empty, this unit will
- override any unit that accompanies fetched
- data. The format is the same as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors)
- field in `MetricDescriptor`.
- thresholds:
- type: array
- x-dcl-go-name: Thresholds
- description: Threshold lines drawn horizontally across
- the chart.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: object
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartThresholds
- properties:
- color:
- type: string
- x-dcl-go-name: Color
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnum
- description: 'The state color for this threshold.
- Color is not allowed in a XyChart. Possible values:
- COLOR_UNSPECIFIED, GREY, BLUE, GREEN, YELLOW,
- ORANGE, RED'
- enum:
- - COLOR_UNSPECIFIED
- - GREY
- - BLUE
- - GREEN
- - YELLOW
- - ORANGE
- - RED
- direction:
- type: string
- x-dcl-go-name: Direction
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnum
- description: 'The direction for the current threshold.
- Direction is not allowed in a XyChart. Possible
- values: DIRECTION_UNSPECIFIED, ABOVE, BELOW'
- enum:
- - DIRECTION_UNSPECIFIED
- - ABOVE
- - BELOW
- label:
- type: string
- x-dcl-go-name: Label
- description: A label for the threshold.
- value:
- type: number
- format: double
- x-dcl-go-name: Value
- description: The value of the threshold. The value
- should be defined in the native scale of the metric.
- timeshiftDuration:
- type: string
- x-dcl-go-name: TimeshiftDuration
- description: The duration used to display a comparison
- chart. A comparison chart simultaneously shows values
- from two similar-length time periods (e.g., week-over-week
- metrics). The duration must be positive, and it can
- only be applied to charts with data sets of LINE plot
- type.
- xAxis:
- type: object
- x-dcl-go-name: XAxis
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartXAxis
- description: The properties applied to the X axis.
- properties:
- label:
- type: string
- x-dcl-go-name: Label
- description: The label of the axis.
- scale:
- type: string
- x-dcl-go-name: Scale
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnum
- description: 'The axis scale. By default, a linear
- scale is used. Possible values: SCALE_UNSPECIFIED,
- LINEAR, LOG10'
- enum:
- - SCALE_UNSPECIFIED
- - LINEAR
- - LOG10
- yAxis:
- type: object
- x-dcl-go-name: YAxis
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartYAxis
- description: The properties applied to the Y axis.
- properties:
- label:
- type: string
- x-dcl-go-name: Label
- description: The label of the axis.
- scale:
- type: string
- x-dcl-go-name: Scale
- x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnum
- description: 'The axis scale. By default, a linear
- scale is used. Possible values: SCALE_UNSPECIFIED,
- LINEAR, LOG10'
- enum:
- - SCALE_UNSPECIFIED
- - LINEAR
- - LOG10
- width:
- type: integer
- format: int64
- x-dcl-go-name: Width
- description: The width of the tile, measured in grid squares.
- xPos:
- type: integer
- format: int64
- x-dcl-go-name: XPos
- description: The zero-indexed position of the tile in grid squares
- relative to the left edge of the grid.
- yPos:
- type: integer
- format: int64
- x-dcl-go-name: YPos
- description: The zero-indexed position of the tile in grid squares
- relative to the top edge of the grid.
- name:
- type: string
- x-dcl-go-name: Name
- description: Immutable. The resource name of the dashboard.
- x-kubernetes-immutable: true
- project:
- type: string
- x-dcl-go-name: Project
- description: The project id of the resource.
- x-kubernetes-immutable: true
- x-dcl-references:
- - resource: Cloudresourcemanager/Project
- field: name
- parent: true
- rowLayout:
- type: object
- x-dcl-go-name: RowLayout
- x-dcl-go-type: DashboardRowLayout
- description: The content is divided into equally spaced rows and the widgets
- are arranged horizontally.
- x-dcl-conflicts:
- - gridLayout
- - mosaicLayout
- - columnLayout
- properties:
- rows:
- type: array
- x-dcl-go-name: Rows
- description: The rows of content to display.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: object
- x-dcl-go-type: DashboardRowLayoutRows
- properties:
- weight:
- type: integer
- format: int64
- x-dcl-go-name: Weight
- description: The relative weight of this row. The row weight is
- used to adjust the height of rows on the screen (relative to
- peers). Greater the weight, greater the height of the row on
- the screen. If omitted, a value of 1 is used while rendering.
- widgets:
- type: array
- x-dcl-go-name: Widgets
- description: The display widgets arranged horizontally in this
- row.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: object
- x-dcl-go-type: DashboardRowLayoutRowsWidgets
- properties:
- blank:
- type: object
- x-dcl-go-name: Blank
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsBlank
- description: A blank space.
- x-dcl-conflicts:
- - xyChart
- - scorecard
- - text
- - logsPanel
- logsPanel:
- type: object
- x-dcl-go-name: LogsPanel
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsLogsPanel
- x-dcl-conflicts:
- - xyChart
- - scorecard
- - text
- - blank
- properties:
- filter:
- type: string
- x-dcl-go-name: Filter
- description: A filter that chooses which log entries
- to return. See [Advanced Logs Queries](https://cloud.google.com/logging/docs/view/advanced-queries).
- Only log entries that match the filter are returned.
- An empty filter matches all log entries.
- resourceNames:
- type: array
- x-dcl-go-name: ResourceNames
- description: The names of logging resources to collect
- logs for. Currently only projects are supported. If
- empty, the widget will default to the host project.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- x-dcl-references:
- - resource: Cloudresourcemanager/Project
- field: name
- scorecard:
- type: object
- x-dcl-go-name: Scorecard
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecard
- description: A scorecard summarizing time series data.
- x-dcl-conflicts:
- - xyChart
- - text
- - blank
- - logsPanel
- required:
- - timeSeriesQuery
- properties:
- gaugeView:
- type: object
- x-dcl-go-name: GaugeView
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardGaugeView
- description: Will cause the scorecard to show a gauge
- chart.
- properties:
- lowerBound:
- type: number
- format: double
- x-dcl-go-name: LowerBound
- description: The lower bound for this gauge chart.
- The value of the chart should always be greater
- than or equal to this.
- upperBound:
- type: number
- format: double
- x-dcl-go-name: UpperBound
- description: The upper bound for this gauge chart.
- The value of the chart should always be less than
- or equal to this.
- sparkChartView:
- type: object
- x-dcl-go-name: SparkChartView
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardSparkChartView
- description: Will cause the scorecard to show a spark
- chart.
- required:
- - sparkChartType
- properties:
- minAlignmentPeriod:
- type: string
- x-dcl-go-name: MinAlignmentPeriod
- description: The lower bound on data point frequency
- in the chart implemented by specifying the minimum
- alignment period to use in a time series query.
- For example, if the data is published once every
- 10 minutes it would not make sense to fetch and
- align data at one minute intervals. This field
- is optional and exists only as a hint.
- sparkChartType:
- type: string
- x-dcl-go-name: SparkChartType
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnum
- description: 'Required. The type of sparkchart to
- show in this chartView. Possible values: SPARK_CHART_TYPE_UNSPECIFIED,
- SPARK_LINE, SPARK_BAR'
- enum:
- - SPARK_CHART_TYPE_UNSPECIFIED
- - SPARK_LINE
- - SPARK_BAR
- thresholds:
- type: array
- x-dcl-go-name: Thresholds
- description: 'The thresholds used to determine the state
- of the scorecard given the time series'' current value.
- For an actual value x, the scorecard is in a danger
- state if x is less than or equal to a danger threshold
- that triggers below, or greater than or equal to a
- danger threshold that triggers above. Similarly, if
- x is above/below a warning threshold that triggers
- above/below, then the scorecard is in a warning state
- - unless x also puts it in a danger state. (Danger
- trumps warning.) As an example, consider a scorecard
- with the following four thresholds: { value: 90, category:
- ''DANGER'', trigger: ''ABOVE'', },: { value: 70, category:
- ''WARNING'', trigger: ''ABOVE'', }, { value: 10, category:
- ''DANGER'', trigger: ''BELOW'', }, { value: 20, category:
- ''WARNING'', trigger: ''BELOW'', } Then: values
- less than or equal to 10 would put the scorecard in
- a DANGER state, values greater than 10 but less than
- or equal to 20 a WARNING state, values strictly between
- 20 and 70 an OK state, values greater than or equal
- to 70 but less than 90 a WARNING state, and values
- greater than or equal to 90 a DANGER state.'
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: object
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardThresholds
- properties:
- color:
- type: string
- x-dcl-go-name: Color
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnum
- description: 'The state color for this threshold.
- Color is not allowed in a XyChart. Possible
- values: COLOR_UNSPECIFIED, GREY, BLUE, GREEN,
- YELLOW, ORANGE, RED'
- enum:
- - COLOR_UNSPECIFIED
- - GREY
- - BLUE
- - GREEN
- - YELLOW
- - ORANGE
- - RED
- direction:
- type: string
- x-dcl-go-name: Direction
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnum
- description: 'The direction for the current threshold.
- Direction is not allowed in a XyChart. Possible
- values: DIRECTION_UNSPECIFIED, ABOVE, BELOW'
- enum:
- - DIRECTION_UNSPECIFIED
- - ABOVE
- - BELOW
- label:
- type: string
- x-dcl-go-name: Label
- description: A label for the threshold.
- value:
- type: number
- format: double
- x-dcl-go-name: Value
- description: The value of the threshold. The value
- should be defined in the native scale of the
- metric.
- timeSeriesQuery:
- type: object
- x-dcl-go-name: TimeSeriesQuery
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery
- description: Required. Fields for querying time series
- data from the Stackdriver metrics API.
- properties:
- timeSeriesFilter:
- type: object
- x-dcl-go-name: TimeSeriesFilter
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter
- description: Filter parameters to fetch time series.
- required:
- - filter
- properties:
- aggregation:
- type: object
- x-dcl-go-name: Aggregation
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation
- description: By default, the raw time series
- data is returned. Use this field to combine
- multiple time series for different views of
- the data.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period` specifies
- a time interval, in seconds, that is used
- to divide the data in all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time. This will
- be done before the per-series aligner
- can be applied to the data. The value
- must be at least 60 seconds. If a per-series
- aligner other than `ALIGN_NONE` is specified,
- this field is required or an error is
- returned. If no per-series aligner is
- specified, or the aligner `ALIGN_NONE`
- is specified, then this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum
- description: 'The reduction operation to
- be used to combine time series into a
- single time series, where the value of
- each data point in the resulting series
- is a function of all the already aligned
- values in the input time series. Not
- all reducer operations can be applied
- to all time series. The valid choices
- depend on the `metric_kind` and the `value_type`
- of the original time series. Reduction
- can yield a time series with a different
- `metric_kind` or `value_type` than the
- input time series. Time series data must
- first be aligned (see `per_series_aligner`)
- in order to perform cross-time series
- reduction. If `cross_series_reducer` is
- specified, then `per_series_aligner` must
- be specified, and must not be `ALIGN_NONE`.
- An `alignment_period` must also be specified;
- otherwise, an error is returned. Possible
- values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
- REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
- REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
- REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
- REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
- REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
- REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to preserve
- when `cross_series_reducer` is specified.
- The `group_by_fields` determine how the
- time series are partitioned into subsets
- prior to applying the aggregation operation.
- Each subset contains time series that
- have the same value for each of the grouping
- fields. Each individual time series is
- a member of exactly one subset. The `cross_series_reducer`
- is applied to each subset of time series.
- It is not possible to reduce across different
- resource types, so this field implicitly
- contains `resource.type`. Fields not
- specified in `group_by_fields` are aggregated
- away. If `group_by_fields` is not specified
- and all the time series have the same
- resource type, then the time series are
- aggregated into a single output time series.
- If `cross_series_reducer` is not defined,
- this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes how
- to bring the data points in a single time
- series into temporal alignment. Except
- for `ALIGN_NONE`, all alignments cause
- all the data points in an `alignment_period`
- to be mathematically grouped together,
- resulting in a single data point for each
- `alignment_period` with end timestamp
- at the end of the period. Not all alignment
- operations may be applied to all time
- series. The valid choices depend on the
- `metric_kind` and `value_type` of the
- original time series. Alignment can change
- the `metric_kind` or the `value_type`
- of the time series. Time series data
- must be aligned in order to perform cross-time
- series reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified and not equal to `ALIGN_NONE`
- and `alignment_period` must be specified;
- otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- filter:
- type: string
- x-dcl-go-name: Filter
- description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
- that identifies the metric types, resources,
- and projects to query.
- pickTimeSeriesFilter:
- type: object
- x-dcl-go-name: PickTimeSeriesFilter
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- description: Ranking based time series filter.
- properties:
- direction:
- type: string
- x-dcl-go-name: Direction
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum
- description: 'How to use the ranking to
- select time series that pass through the
- filter. Possible values: DIRECTION_UNSPECIFIED,
- TOP, BOTTOM'
- enum:
- - DIRECTION_UNSPECIFIED
- - TOP
- - BOTTOM
- numTimeSeries:
- type: integer
- format: int64
- x-dcl-go-name: NumTimeSeries
- description: How many time series to allow
- to pass through the filter.
- rankingMethod:
- type: string
- x-dcl-go-name: RankingMethod
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum
- description: '`ranking_method` is applied
- to each time series independently to produce
- the value which will be used to compare
- the time series to other time series.
- Possible values: METHOD_UNSPECIFIED, METHOD_MEAN,
- METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST'
- enum:
- - METHOD_UNSPECIFIED
- - METHOD_MEAN
- - METHOD_MAX
- - METHOD_MIN
- - METHOD_SUM
- - METHOD_LATEST
- secondaryAggregation:
- type: object
- x-dcl-go-name: SecondaryAggregation
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- description: Apply a second aggregation after
- `aggregation` is applied.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period` specifies
- a time interval, in seconds, that is used
- to divide the data in all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time. This will
- be done before the per-series aligner
- can be applied to the data. The value
- must be at least 60 seconds. If a per-series
- aligner other than `ALIGN_NONE` is specified,
- this field is required or an error is
- returned. If no per-series aligner is
- specified, or the aligner `ALIGN_NONE`
- is specified, then this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum
- description: 'The reduction operation to
- be used to combine time series into a
- single time series, where the value of
- each data point in the resulting series
- is a function of all the already aligned
- values in the input time series. Not
- all reducer operations can be applied
- to all time series. The valid choices
- depend on the `metric_kind` and the `value_type`
- of the original time series. Reduction
- can yield a time series with a different
- `metric_kind` or `value_type` than the
- input time series. Time series data must
- first be aligned (see `per_series_aligner`)
- in order to perform cross-time series
- reduction. If `cross_series_reducer` is
- specified, then `per_series_aligner` must
- be specified, and must not be `ALIGN_NONE`.
- An `alignment_period` must also be specified;
- otherwise, an error is returned. Possible
- values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
- REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
- REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
- REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
- REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
- REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
- REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to preserve
- when `cross_series_reducer` is specified.
- The `group_by_fields` determine how the
- time series are partitioned into subsets
- prior to applying the aggregation operation.
- Each subset contains time series that
- have the same value for each of the grouping
- fields. Each individual time series is
- a member of exactly one subset. The `cross_series_reducer`
- is applied to each subset of time series.
- It is not possible to reduce across different
- resource types, so this field implicitly
- contains `resource.type`. Fields not
- specified in `group_by_fields` are aggregated
- away. If `group_by_fields` is not specified
- and all the time series have the same
- resource type, then the time series are
- aggregated into a single output time series.
- If `cross_series_reducer` is not defined,
- this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes how
- to bring the data points in a single time
- series into temporal alignment. Except
- for `ALIGN_NONE`, all alignments cause
- all the data points in an `alignment_period`
- to be mathematically grouped together,
- resulting in a single data point for each
- `alignment_period` with end timestamp
- at the end of the period. Not all alignment
- operations may be applied to all time
- series. The valid choices depend on the
- `metric_kind` and `value_type` of the
- original time series. Alignment can change
- the `metric_kind` or the `value_type`
- of the time series. Time series data
- must be aligned in order to perform cross-time
- series reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified and not equal to `ALIGN_NONE`
- and `alignment_period` must be specified;
- otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- timeSeriesFilterRatio:
- type: object
- x-dcl-go-name: TimeSeriesFilterRatio
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio
- description: Parameters to fetch a ratio between
- two time series filters.
- properties:
- denominator:
- type: object
- x-dcl-go-name: Denominator
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
- description: The denominator of the ratio.
- required:
- - filter
- properties:
- aggregation:
- type: object
- x-dcl-go-name: Aggregation
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- description: By default, the raw time series
- data is returned. Use this field to combine
- multiple time series for different views
- of the data.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period`
- specifies a time interval, in seconds,
- that is used to divide the data in
- all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time. This
- will be done before the per-series
- aligner can be applied to the data. The
- value must be at least 60 seconds.
- If a per-series aligner other than
- `ALIGN_NONE` is specified, this field
- is required or an error is returned.
- If no per-series aligner is specified,
- or the aligner `ALIGN_NONE` is specified,
- then this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum
- description: 'The reduction operation
- to be used to combine time series
- into a single time series, where the
- value of each data point in the resulting
- series is a function of all the already
- aligned values in the input time series. Not
- all reducer operations can be applied
- to all time series. The valid choices
- depend on the `metric_kind` and the
- `value_type` of the original time
- series. Reduction can yield a time
- series with a different `metric_kind`
- or `value_type` than the input time
- series. Time series data must first
- be aligned (see `per_series_aligner`)
- in order to perform cross-time series
- reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified, and must not be
- `ALIGN_NONE`. An `alignment_period`
- must also be specified; otherwise,
- an error is returned. Possible values:
- REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
- REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
- REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
- REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
- REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
- REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
- REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to preserve
- when `cross_series_reducer` is specified.
- The `group_by_fields` determine how
- the time series are partitioned into
- subsets prior to applying the aggregation
- operation. Each subset contains time
- series that have the same value for
- each of the grouping fields. Each
- individual time series is a member
- of exactly one subset. The `cross_series_reducer`
- is applied to each subset of time
- series. It is not possible to reduce
- across different resource types, so
- this field implicitly contains `resource.type`. Fields
- not specified in `group_by_fields`
- are aggregated away. If `group_by_fields`
- is not specified and all the time
- series have the same resource type,
- then the time series are aggregated
- into a single output time series.
- If `cross_series_reducer` is not defined,
- this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes
- how to bring the data points in a
- single time series into temporal alignment.
- Except for `ALIGN_NONE`, all alignments
- cause all the data points in an `alignment_period`
- to be mathematically grouped together,
- resulting in a single data point for
- each `alignment_period` with end timestamp
- at the end of the period. Not all
- alignment operations may be applied
- to all time series. The valid choices
- depend on the `metric_kind` and `value_type`
- of the original time series. Alignment
- can change the `metric_kind` or the
- `value_type` of the time series. Time
- series data must be aligned in order
- to perform cross-time series reduction.
- If `cross_series_reducer` is specified,
- then `per_series_aligner` must be
- specified and not equal to `ALIGN_NONE`
- and `alignment_period` must be specified;
- otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- filter:
- type: string
- x-dcl-go-name: Filter
- description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
- that identifies the metric types, resources,
- and projects to query.
- numerator:
- type: object
- x-dcl-go-name: Numerator
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
- description: The numerator of the ratio.
- required:
- - filter
- properties:
- aggregation:
- type: object
- x-dcl-go-name: Aggregation
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- description: By default, the raw time series
- data is returned. Use this field to combine
- multiple time series for different views
- of the data.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period`
- specifies a time interval, in seconds,
- that is used to divide the data in
- all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time. This
- will be done before the per-series
- aligner can be applied to the data. The
- value must be at least 60 seconds.
- If a per-series aligner other than
- `ALIGN_NONE` is specified, this field
- is required or an error is returned.
- If no per-series aligner is specified,
- or the aligner `ALIGN_NONE` is specified,
- then this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum
- description: 'The reduction operation
- to be used to combine time series
- into a single time series, where the
- value of each data point in the resulting
- series is a function of all the already
- aligned values in the input time series. Not
- all reducer operations can be applied
- to all time series. The valid choices
- depend on the `metric_kind` and the
- `value_type` of the original time
- series. Reduction can yield a time
- series with a different `metric_kind`
- or `value_type` than the input time
- series. Time series data must first
- be aligned (see `per_series_aligner`)
- in order to perform cross-time series
- reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified, and must not be
- `ALIGN_NONE`. An `alignment_period`
- must also be specified; otherwise,
- an error is returned. Possible values:
- REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
- REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
- REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
- REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
- REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
- REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
- REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to preserve
- when `cross_series_reducer` is specified.
- The `group_by_fields` determine how
- the time series are partitioned into
- subsets prior to applying the aggregation
- operation. Each subset contains time
- series that have the same value for
- each of the grouping fields. Each
- individual time series is a member
- of exactly one subset. The `cross_series_reducer`
- is applied to each subset of time
- series. It is not possible to reduce
- across different resource types, so
- this field implicitly contains `resource.type`. Fields
- not specified in `group_by_fields`
- are aggregated away. If `group_by_fields`
- is not specified and all the time
- series have the same resource type,
- then the time series are aggregated
- into a single output time series.
- If `cross_series_reducer` is not defined,
- this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes
- how to bring the data points in a
- single time series into temporal alignment.
- Except for `ALIGN_NONE`, all alignments
- cause all the data points in an `alignment_period`
- to be mathematically grouped together,
- resulting in a single data point for
- each `alignment_period` with end timestamp
- at the end of the period. Not all
- alignment operations may be applied
- to all time series. The valid choices
- depend on the `metric_kind` and `value_type`
- of the original time series. Alignment
- can change the `metric_kind` or the
- `value_type` of the time series. Time
- series data must be aligned in order
- to perform cross-time series reduction.
- If `cross_series_reducer` is specified,
- then `per_series_aligner` must be
- specified and not equal to `ALIGN_NONE`
- and `alignment_period` must be specified;
- otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- filter:
- type: string
- x-dcl-go-name: Filter
- description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
- that identifies the metric types, resources,
- and projects to query.
- pickTimeSeriesFilter:
- type: object
- x-dcl-go-name: PickTimeSeriesFilter
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- description: Ranking based time series filter.
- properties:
- direction:
- type: string
- x-dcl-go-name: Direction
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum
- description: 'How to use the ranking to
- select time series that pass through the
- filter. Possible values: DIRECTION_UNSPECIFIED,
- TOP, BOTTOM'
- enum:
- - DIRECTION_UNSPECIFIED
- - TOP
- - BOTTOM
- numTimeSeries:
- type: integer
- format: int64
- x-dcl-go-name: NumTimeSeries
- description: How many time series to allow
- to pass through the filter.
- rankingMethod:
- type: string
- x-dcl-go-name: RankingMethod
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum
- description: '`ranking_method` is applied
- to each time series independently to produce
- the value which will be used to compare
- the time series to other time series.
- Possible values: METHOD_UNSPECIFIED, METHOD_MEAN,
- METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST'
- enum:
- - METHOD_UNSPECIFIED
- - METHOD_MEAN
- - METHOD_MAX
- - METHOD_MIN
- - METHOD_SUM
- - METHOD_LATEST
- secondaryAggregation:
- type: object
- x-dcl-go-name: SecondaryAggregation
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- description: Apply a second aggregation after
- the ratio is computed.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period` specifies
- a time interval, in seconds, that is used
- to divide the data in all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time. This will
- be done before the per-series aligner
- can be applied to the data. The value
- must be at least 60 seconds. If a per-series
- aligner other than `ALIGN_NONE` is specified,
- this field is required or an error is
- returned. If no per-series aligner is
- specified, or the aligner `ALIGN_NONE`
- is specified, then this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum
- description: 'The reduction operation to
- be used to combine time series into a
- single time series, where the value of
- each data point in the resulting series
- is a function of all the already aligned
- values in the input time series. Not
- all reducer operations can be applied
- to all time series. The valid choices
- depend on the `metric_kind` and the `value_type`
- of the original time series. Reduction
- can yield a time series with a different
- `metric_kind` or `value_type` than the
- input time series. Time series data must
- first be aligned (see `per_series_aligner`)
- in order to perform cross-time series
- reduction. If `cross_series_reducer` is
- specified, then `per_series_aligner` must
- be specified, and must not be `ALIGN_NONE`.
- An `alignment_period` must also be specified;
- otherwise, an error is returned. Possible
- values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
- REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
- REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
- REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
- REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
- REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
- REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to preserve
- when `cross_series_reducer` is specified.
- The `group_by_fields` determine how the
- time series are partitioned into subsets
- prior to applying the aggregation operation.
- Each subset contains time series that
- have the same value for each of the grouping
- fields. Each individual time series is
- a member of exactly one subset. The `cross_series_reducer`
- is applied to each subset of time series.
- It is not possible to reduce across different
- resource types, so this field implicitly
- contains `resource.type`. Fields not
- specified in `group_by_fields` are aggregated
- away. If `group_by_fields` is not specified
- and all the time series have the same
- resource type, then the time series are
- aggregated into a single output time series.
- If `cross_series_reducer` is not defined,
- this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes how
- to bring the data points in a single time
- series into temporal alignment. Except
- for `ALIGN_NONE`, all alignments cause
- all the data points in an `alignment_period`
- to be mathematically grouped together,
- resulting in a single data point for each
- `alignment_period` with end timestamp
- at the end of the period. Not all alignment
- operations may be applied to all time
- series. The valid choices depend on the
- `metric_kind` and `value_type` of the
- original time series. Alignment can change
- the `metric_kind` or the `value_type`
- of the time series. Time series data
- must be aligned in order to perform cross-time
- series reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified and not equal to `ALIGN_NONE`
- and `alignment_period` must be specified;
- otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- timeSeriesQueryLanguage:
- type: string
- x-dcl-go-name: TimeSeriesQueryLanguage
- description: A query used to fetch time series.
- unitOverride:
- type: string
- x-dcl-go-name: UnitOverride
- description: The unit of data contained in fetched
- time series. If non-empty, this unit will override
- any unit that accompanies fetched data. The format
- is the same as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors)
- field in `MetricDescriptor`.
- text:
- type: object
- x-dcl-go-name: Text
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsText
- description: A raw string or markdown displaying textual
- content.
- x-dcl-conflicts:
- - xyChart
- - scorecard
- - blank
- - logsPanel
- properties:
- content:
- type: string
- x-dcl-go-name: Content
- description: The text content to be displayed.
- format:
- type: string
- x-dcl-go-name: Format
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsTextFormatEnum
- description: 'How the text content is formatted. Possible
- values: FORMAT_UNSPECIFIED, MARKDOWN, RAW'
- enum:
- - FORMAT_UNSPECIFIED
- - MARKDOWN
- - RAW
- title:
- type: string
- x-dcl-go-name: Title
- description: Optional. The title of the widget.
- xyChart:
- type: object
- x-dcl-go-name: XyChart
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChart
- description: A chart of time series data.
- x-dcl-conflicts:
- - scorecard
- - text
- - blank
- - logsPanel
- required:
- - dataSets
- properties:
- chartOptions:
- type: object
- x-dcl-go-name: ChartOptions
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartChartOptions
- description: Display options for the chart.
- properties:
- mode:
- type: string
- x-dcl-go-name: Mode
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnum
- description: 'The chart mode. Possible values: MODE_UNSPECIFIED,
- COLOR, X_RAY, STATS'
- enum:
- - MODE_UNSPECIFIED
- - COLOR
- - X_RAY
- - STATS
- dataSets:
- type: array
- x-dcl-go-name: DataSets
- description: Required. The data displayed in this chart.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: object
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSets
- required:
- - timeSeriesQuery
- properties:
- legendTemplate:
- type: string
- x-dcl-go-name: LegendTemplate
- description: 'A template string for naming `TimeSeries`
- in the resulting data set. This should be a
- string with interpolations of the form `${label_name}`,
- which will resolve to the label''s value. '
- minAlignmentPeriod:
- type: string
- x-dcl-go-name: MinAlignmentPeriod
- description: Optional. The lower bound on data
- point frequency for this data set, implemented
- by specifying the minimum alignment period to
- use in a time series query For example, if the
- data is published once every 10 minutes, the
- `min_alignment_period` should be at least 10
- minutes. It would not make sense to fetch and
- align data at one minute intervals.
- plotType:
- type: string
- x-dcl-go-name: PlotType
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnum
- description: 'How this data should be plotted
- on the chart. Possible values: PLOT_TYPE_UNSPECIFIED,
- LINE, STACKED_AREA, STACKED_BAR, HEATMAP'
- enum:
- - PLOT_TYPE_UNSPECIFIED
- - LINE
- - STACKED_AREA
- - STACKED_BAR
- - HEATMAP
- timeSeriesQuery:
- type: object
- x-dcl-go-name: TimeSeriesQuery
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery
- description: Required. Fields for querying time
- series data from the Stackdriver metrics API.
- properties:
- timeSeriesFilter:
- type: object
- x-dcl-go-name: TimeSeriesFilter
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
- description: Filter parameters to fetch time
- series.
- required:
- - filter
- properties:
- aggregation:
- type: object
- x-dcl-go-name: Aggregation
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
- description: By default, the raw time
- series data is returned. Use this field
- to combine multiple time series for
- different views of the data.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period`
- specifies a time interval, in seconds,
- that is used to divide the data
- in all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time.
- This will be done before the per-series
- aligner can be applied to the data. The
- value must be at least 60 seconds.
- If a per-series aligner other than
- `ALIGN_NONE` is specified, this
- field is required or an error is
- returned. If no per-series aligner
- is specified, or the aligner `ALIGN_NONE`
- is specified, then this field is
- ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum
- description: 'The reduction operation
- to be used to combine time series
- into a single time series, where
- the value of each data point in
- the resulting series is a function
- of all the already aligned values
- in the input time series. Not all
- reducer operations can be applied
- to all time series. The valid choices
- depend on the `metric_kind` and
- the `value_type` of the original
- time series. Reduction can yield
- a time series with a different `metric_kind`
- or `value_type` than the input time
- series. Time series data must first
- be aligned (see `per_series_aligner`)
- in order to perform cross-time series
- reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified, and must not
- be `ALIGN_NONE`. An `alignment_period`
- must also be specified; otherwise,
- an error is returned. Possible values:
- REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
- REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
- REDUCE_COUNT, REDUCE_COUNT_TRUE,
- REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,
- REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,
- REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,
- REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to
- preserve when `cross_series_reducer`
- is specified. The `group_by_fields`
- determine how the time series are
- partitioned into subsets prior to
- applying the aggregation operation.
- Each subset contains time series
- that have the same value for each
- of the grouping fields. Each individual
- time series is a member of exactly
- one subset. The `cross_series_reducer`
- is applied to each subset of time
- series. It is not possible to reduce
- across different resource types,
- so this field implicitly contains
- `resource.type`. Fields not specified
- in `group_by_fields` are aggregated
- away. If `group_by_fields` is not
- specified and all the time series
- have the same resource type, then
- the time series are aggregated into
- a single output time series. If
- `cross_series_reducer` is not defined,
- this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes
- how to bring the data points in
- a single time series into temporal
- alignment. Except for `ALIGN_NONE`,
- all alignments cause all the data
- points in an `alignment_period`
- to be mathematically grouped together,
- resulting in a single data point
- for each `alignment_period` with
- end timestamp at the end of the
- period. Not all alignment operations
- may be applied to all time series.
- The valid choices depend on the
- `metric_kind` and `value_type` of
- the original time series. Alignment
- can change the `metric_kind` or
- the `value_type` of the time series. Time
- series data must be aligned in order
- to perform cross-time series reduction.
- If `cross_series_reducer` is specified,
- then `per_series_aligner` must be
- specified and not equal to `ALIGN_NONE`
- and `alignment_period` must be specified;
- otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- filter:
- type: string
- x-dcl-go-name: Filter
- description: Required. The [monitoring
- filter](https://cloud.google.com/monitoring/api/v3/filters)
- that identifies the metric types, resources,
- and projects to query.
- pickTimeSeriesFilter:
- type: object
- x-dcl-go-name: PickTimeSeriesFilter
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- description: Ranking based time series
- filter.
- properties:
- direction:
- type: string
- x-dcl-go-name: Direction
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum
- description: 'How to use the ranking
- to select time series that pass
- through the filter. Possible values:
- DIRECTION_UNSPECIFIED, TOP, BOTTOM'
- enum:
- - DIRECTION_UNSPECIFIED
- - TOP
- - BOTTOM
- numTimeSeries:
- type: integer
- format: int64
- x-dcl-go-name: NumTimeSeries
- description: How many time series
- to allow to pass through the filter.
- rankingMethod:
- type: string
- x-dcl-go-name: RankingMethod
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum
- description: '`ranking_method` is
- applied to each time series independently
- to produce the value which will
- be used to compare the time series
- to other time series. Possible values:
- METHOD_UNSPECIFIED, METHOD_MEAN,
- METHOD_MAX, METHOD_MIN, METHOD_SUM,
- METHOD_LATEST'
- enum:
- - METHOD_UNSPECIFIED
- - METHOD_MEAN
- - METHOD_MAX
- - METHOD_MIN
- - METHOD_SUM
- - METHOD_LATEST
- secondaryAggregation:
- type: object
- x-dcl-go-name: SecondaryAggregation
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- description: Apply a second aggregation
- after `aggregation` is applied.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period`
- specifies a time interval, in seconds,
- that is used to divide the data
- in all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time.
- This will be done before the per-series
- aligner can be applied to the data. The
- value must be at least 60 seconds.
- If a per-series aligner other than
- `ALIGN_NONE` is specified, this
- field is required or an error is
- returned. If no per-series aligner
- is specified, or the aligner `ALIGN_NONE`
- is specified, then this field is
- ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum
- description: 'The reduction operation
- to be used to combine time series
- into a single time series, where
- the value of each data point in
- the resulting series is a function
- of all the already aligned values
- in the input time series. Not all
- reducer operations can be applied
- to all time series. The valid choices
- depend on the `metric_kind` and
- the `value_type` of the original
- time series. Reduction can yield
- a time series with a different `metric_kind`
- or `value_type` than the input time
- series. Time series data must first
- be aligned (see `per_series_aligner`)
- in order to perform cross-time series
- reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified, and must not
- be `ALIGN_NONE`. An `alignment_period`
- must also be specified; otherwise,
- an error is returned. Possible values:
- REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
- REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
- REDUCE_COUNT, REDUCE_COUNT_TRUE,
- REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,
- REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,
- REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,
- REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to
- preserve when `cross_series_reducer`
- is specified. The `group_by_fields`
- determine how the time series are
- partitioned into subsets prior to
- applying the aggregation operation.
- Each subset contains time series
- that have the same value for each
- of the grouping fields. Each individual
- time series is a member of exactly
- one subset. The `cross_series_reducer`
- is applied to each subset of time
- series. It is not possible to reduce
- across different resource types,
- so this field implicitly contains
- `resource.type`. Fields not specified
- in `group_by_fields` are aggregated
- away. If `group_by_fields` is not
- specified and all the time series
- have the same resource type, then
- the time series are aggregated into
- a single output time series. If
- `cross_series_reducer` is not defined,
- this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes
- how to bring the data points in
- a single time series into temporal
- alignment. Except for `ALIGN_NONE`,
- all alignments cause all the data
- points in an `alignment_period`
- to be mathematically grouped together,
- resulting in a single data point
- for each `alignment_period` with
- end timestamp at the end of the
- period. Not all alignment operations
- may be applied to all time series.
- The valid choices depend on the
- `metric_kind` and `value_type` of
- the original time series. Alignment
- can change the `metric_kind` or
- the `value_type` of the time series. Time
- series data must be aligned in order
- to perform cross-time series reduction.
- If `cross_series_reducer` is specified,
- then `per_series_aligner` must be
- specified and not equal to `ALIGN_NONE`
- and `alignment_period` must be specified;
- otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- timeSeriesFilterRatio:
- type: object
- x-dcl-go-name: TimeSeriesFilterRatio
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
- description: Parameters to fetch a ratio between
- two time series filters.
- properties:
- denominator:
- type: object
- x-dcl-go-name: Denominator
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
- description: The denominator of the ratio.
- required:
- - filter
- properties:
- aggregation:
- type: object
- x-dcl-go-name: Aggregation
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- description: By default, the raw time
- series data is returned. Use this
- field to combine multiple time series
- for different views of the data.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period`
- specifies a time interval, in
- seconds, that is used to divide
- the data in all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time.
- This will be done before the
- per-series aligner can be applied
- to the data. The value must
- be at least 60 seconds. If a
- per-series aligner other than
- `ALIGN_NONE` is specified, this
- field is required or an error
- is returned. If no per-series
- aligner is specified, or the
- aligner `ALIGN_NONE` is specified,
- then this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum
- description: 'The reduction operation
- to be used to combine time series
- into a single time series, where
- the value of each data point
- in the resulting series is a
- function of all the already
- aligned values in the input
- time series. Not all reducer
- operations can be applied to
- all time series. The valid choices
- depend on the `metric_kind`
- and the `value_type` of the
- original time series. Reduction
- can yield a time series with
- a different `metric_kind` or
- `value_type` than the input
- time series. Time series data
- must first be aligned (see `per_series_aligner`)
- in order to perform cross-time
- series reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified, and must
- not be `ALIGN_NONE`. An `alignment_period`
- must also be specified; otherwise,
- an error is returned. Possible
- values: REDUCE_NONE, REDUCE_MEAN,
- REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,
- REDUCE_STDDEV, REDUCE_COUNT,
- REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
- REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
- REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
- REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
- REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields
- to preserve when `cross_series_reducer`
- is specified. The `group_by_fields`
- determine how the time series
- are partitioned into subsets
- prior to applying the aggregation
- operation. Each subset contains
- time series that have the same
- value for each of the grouping
- fields. Each individual time
- series is a member of exactly
- one subset. The `cross_series_reducer`
- is applied to each subset of
- time series. It is not possible
- to reduce across different resource
- types, so this field implicitly
- contains `resource.type`. Fields
- not specified in `group_by_fields`
- are aggregated away. If `group_by_fields`
- is not specified and all the
- time series have the same resource
- type, then the time series are
- aggregated into a single output
- time series. If `cross_series_reducer`
- is not defined, this field is
- ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes
- how to bring the data points
- in a single time series into
- temporal alignment. Except for
- `ALIGN_NONE`, all alignments
- cause all the data points in
- an `alignment_period` to be
- mathematically grouped together,
- resulting in a single data point
- for each `alignment_period`
- with end timestamp at the end
- of the period. Not all alignment
- operations may be applied to
- all time series. The valid choices
- depend on the `metric_kind`
- and `value_type` of the original
- time series. Alignment can change
- the `metric_kind` or the `value_type`
- of the time series. Time series
- data must be aligned in order
- to perform cross-time series
- reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified and not equal
- to `ALIGN_NONE` and `alignment_period`
- must be specified; otherwise,
- an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- filter:
- type: string
- x-dcl-go-name: Filter
- description: Required. The [monitoring
- filter](https://cloud.google.com/monitoring/api/v3/filters)
- that identifies the metric types,
- resources, and projects to query.
- numerator:
- type: object
- x-dcl-go-name: Numerator
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
- description: The numerator of the ratio.
- required:
- - filter
- properties:
- aggregation:
- type: object
- x-dcl-go-name: Aggregation
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- description: By default, the raw time
- series data is returned. Use this
- field to combine multiple time series
- for different views of the data.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period`
- specifies a time interval, in
- seconds, that is used to divide
- the data in all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time.
- This will be done before the
- per-series aligner can be applied
- to the data. The value must
- be at least 60 seconds. If a
- per-series aligner other than
- `ALIGN_NONE` is specified, this
- field is required or an error
- is returned. If no per-series
- aligner is specified, or the
- aligner `ALIGN_NONE` is specified,
- then this field is ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum
- description: 'The reduction operation
- to be used to combine time series
- into a single time series, where
- the value of each data point
- in the resulting series is a
- function of all the already
- aligned values in the input
- time series. Not all reducer
- operations can be applied to
- all time series. The valid choices
- depend on the `metric_kind`
- and the `value_type` of the
- original time series. Reduction
- can yield a time series with
- a different `metric_kind` or
- `value_type` than the input
- time series. Time series data
- must first be aligned (see `per_series_aligner`)
- in order to perform cross-time
- series reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified, and must
- not be `ALIGN_NONE`. An `alignment_period`
- must also be specified; otherwise,
- an error is returned. Possible
- values: REDUCE_NONE, REDUCE_MEAN,
- REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,
- REDUCE_STDDEV, REDUCE_COUNT,
- REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
- REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
- REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
- REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
- REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields
- to preserve when `cross_series_reducer`
- is specified. The `group_by_fields`
- determine how the time series
- are partitioned into subsets
- prior to applying the aggregation
- operation. Each subset contains
- time series that have the same
- value for each of the grouping
- fields. Each individual time
- series is a member of exactly
- one subset. The `cross_series_reducer`
- is applied to each subset of
- time series. It is not possible
- to reduce across different resource
- types, so this field implicitly
- contains `resource.type`. Fields
- not specified in `group_by_fields`
- are aggregated away. If `group_by_fields`
- is not specified and all the
- time series have the same resource
- type, then the time series are
- aggregated into a single output
- time series. If `cross_series_reducer`
- is not defined, this field is
- ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes
- how to bring the data points
- in a single time series into
- temporal alignment. Except for
- `ALIGN_NONE`, all alignments
- cause all the data points in
- an `alignment_period` to be
- mathematically grouped together,
- resulting in a single data point
- for each `alignment_period`
- with end timestamp at the end
- of the period. Not all alignment
- operations may be applied to
- all time series. The valid choices
- depend on the `metric_kind`
- and `value_type` of the original
- time series. Alignment can change
- the `metric_kind` or the `value_type`
- of the time series. Time series
- data must be aligned in order
- to perform cross-time series
- reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified and not equal
- to `ALIGN_NONE` and `alignment_period`
- must be specified; otherwise,
- an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- filter:
- type: string
- x-dcl-go-name: Filter
- description: Required. The [monitoring
- filter](https://cloud.google.com/monitoring/api/v3/filters)
- that identifies the metric types,
- resources, and projects to query.
- pickTimeSeriesFilter:
- type: object
- x-dcl-go-name: PickTimeSeriesFilter
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- description: Ranking based time series
- filter.
- properties:
- direction:
- type: string
- x-dcl-go-name: Direction
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum
- description: 'How to use the ranking
- to select time series that pass
- through the filter. Possible values:
- DIRECTION_UNSPECIFIED, TOP, BOTTOM'
- enum:
- - DIRECTION_UNSPECIFIED
- - TOP
- - BOTTOM
- numTimeSeries:
- type: integer
- format: int64
- x-dcl-go-name: NumTimeSeries
- description: How many time series
- to allow to pass through the filter.
- rankingMethod:
- type: string
- x-dcl-go-name: RankingMethod
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum
- description: '`ranking_method` is
- applied to each time series independently
- to produce the value which will
- be used to compare the time series
- to other time series. Possible values:
- METHOD_UNSPECIFIED, METHOD_MEAN,
- METHOD_MAX, METHOD_MIN, METHOD_SUM,
- METHOD_LATEST'
- enum:
- - METHOD_UNSPECIFIED
- - METHOD_MEAN
- - METHOD_MAX
- - METHOD_MIN
- - METHOD_SUM
- - METHOD_LATEST
- secondaryAggregation:
- type: object
- x-dcl-go-name: SecondaryAggregation
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- description: Apply a second aggregation
- after the ratio is computed.
- properties:
- alignmentPeriod:
- type: string
- x-dcl-go-name: AlignmentPeriod
- description: The `alignment_period`
- specifies a time interval, in seconds,
- that is used to divide the data
- in all the [time series][google.monitoring.v3.TimeSeries]
- into consistent blocks of time.
- This will be done before the per-series
- aligner can be applied to the data. The
- value must be at least 60 seconds.
- If a per-series aligner other than
- `ALIGN_NONE` is specified, this
- field is required or an error is
- returned. If no per-series aligner
- is specified, or the aligner `ALIGN_NONE`
- is specified, then this field is
- ignored.
- crossSeriesReducer:
- type: string
- x-dcl-go-name: CrossSeriesReducer
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum
- description: 'The reduction operation
- to be used to combine time series
- into a single time series, where
- the value of each data point in
- the resulting series is a function
- of all the already aligned values
- in the input time series. Not all
- reducer operations can be applied
- to all time series. The valid choices
- depend on the `metric_kind` and
- the `value_type` of the original
- time series. Reduction can yield
- a time series with a different `metric_kind`
- or `value_type` than the input time
- series. Time series data must first
- be aligned (see `per_series_aligner`)
- in order to perform cross-time series
- reduction. If `cross_series_reducer`
- is specified, then `per_series_aligner`
- must be specified, and must not
- be `ALIGN_NONE`. An `alignment_period`
- must also be specified; otherwise,
- an error is returned. Possible values:
- REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
- REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
- REDUCE_COUNT, REDUCE_COUNT_TRUE,
- REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,
- REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,
- REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,
- REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'
- enum:
- - REDUCE_NONE
- - REDUCE_MEAN
- - REDUCE_MIN
- - REDUCE_MAX
- - REDUCE_SUM
- - REDUCE_STDDEV
- - REDUCE_COUNT
- - REDUCE_COUNT_TRUE
- - REDUCE_COUNT_FALSE
- - REDUCE_FRACTION_TRUE
- - REDUCE_PERCENTILE_99
- - REDUCE_PERCENTILE_95
- - REDUCE_PERCENTILE_50
- - REDUCE_PERCENTILE_05
- - REDUCE_FRACTION_LESS_THAN
- - REDUCE_MAKE_DISTRIBUTION
- groupByFields:
- type: array
- x-dcl-go-name: GroupByFields
- description: The set of fields to
- preserve when `cross_series_reducer`
- is specified. The `group_by_fields`
- determine how the time series are
- partitioned into subsets prior to
- applying the aggregation operation.
- Each subset contains time series
- that have the same value for each
- of the grouping fields. Each individual
- time series is a member of exactly
- one subset. The `cross_series_reducer`
- is applied to each subset of time
- series. It is not possible to reduce
- across different resource types,
- so this field implicitly contains
- `resource.type`. Fields not specified
- in `group_by_fields` are aggregated
- away. If `group_by_fields` is not
- specified and all the time series
- have the same resource type, then
- the time series are aggregated into
- a single output time series. If
- `cross_series_reducer` is not defined,
- this field is ignored.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- perSeriesAligner:
- type: string
- x-dcl-go-name: PerSeriesAligner
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum
- description: An `Aligner` describes
- how to bring the data points in
- a single time series into temporal
- alignment. Except for `ALIGN_NONE`,
- all alignments cause all the data
- points in an `alignment_period`
- to be mathematically grouped together,
- resulting in a single data point
- for each `alignment_period` with
- end timestamp at the end of the
- period. Not all alignment operations
- may be applied to all time series.
- The valid choices depend on the
- `metric_kind` and `value_type` of
- the original time series. Alignment
- can change the `metric_kind` or
- the `value_type` of the time series. Time
- series data must be aligned in order
- to perform cross-time series reduction.
- If `cross_series_reducer` is specified,
- then `per_series_aligner` must be
- specified and not equal to `ALIGN_NONE`
- and `alignment_period` must be specified;
- otherwise, an error is returned.
- enum:
- - ALIGN_NONE
- - ALIGN_DELTA
- - ALIGN_RATE
- - ALIGN_INTERPOLATE
- - ALIGN_NEXT_OLDER
- - ALIGN_MIN
- - ALIGN_MAX
- - ALIGN_MEAN
- - ALIGN_COUNT
- - ALIGN_SUM
- - ALIGN_STDDEV
- - ALIGN_COUNT_TRUE
- - ALIGN_COUNT_FALSE
- - ALIGN_FRACTION_TRUE
- - ALIGN_PERCENTILE_99
- - ALIGN_PERCENTILE_95
- - ALIGN_PERCENTILE_50
- - ALIGN_PERCENTILE_05
- - ALIGN_MAKE_DISTRIBUTION
- - ALIGN_PERCENT_CHANGE
- timeSeriesQueryLanguage:
- type: string
- x-dcl-go-name: TimeSeriesQueryLanguage
- description: A query used to fetch time series.
- unitOverride:
- type: string
- x-dcl-go-name: UnitOverride
- description: The unit of data contained in
- fetched time series. If non-empty, this
- unit will override any unit that accompanies
- fetched data. The format is the same as
- the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors)
- field in `MetricDescriptor`.
- thresholds:
- type: array
- x-dcl-go-name: Thresholds
- description: Threshold lines drawn horizontally across
- the chart.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: object
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartThresholds
- properties:
- color:
- type: string
- x-dcl-go-name: Color
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnum
- description: 'The state color for this threshold.
- Color is not allowed in a XyChart. Possible
- values: COLOR_UNSPECIFIED, GREY, BLUE, GREEN,
- YELLOW, ORANGE, RED'
- enum:
- - COLOR_UNSPECIFIED
- - GREY
- - BLUE
- - GREEN
- - YELLOW
- - ORANGE
- - RED
- direction:
- type: string
- x-dcl-go-name: Direction
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnum
- description: 'The direction for the current threshold.
- Direction is not allowed in a XyChart. Possible
- values: DIRECTION_UNSPECIFIED, ABOVE, BELOW'
- enum:
- - DIRECTION_UNSPECIFIED
- - ABOVE
- - BELOW
- label:
- type: string
- x-dcl-go-name: Label
- description: A label for the threshold.
- value:
- type: number
- format: double
- x-dcl-go-name: Value
- description: The value of the threshold. The value
- should be defined in the native scale of the
- metric.
- timeshiftDuration:
- type: string
- x-dcl-go-name: TimeshiftDuration
- description: The duration used to display a comparison
- chart. A comparison chart simultaneously shows values
- from two similar-length time periods (e.g., week-over-week
- metrics). The duration must be positive, and it can
- only be applied to charts with data sets of LINE plot
- type.
- xAxis:
- type: object
- x-dcl-go-name: XAxis
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartXAxis
- description: The properties applied to the X axis.
- properties:
- label:
- type: string
- x-dcl-go-name: Label
- description: The label of the axis.
- scale:
- type: string
- x-dcl-go-name: Scale
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnum
- description: 'The axis scale. By default, a linear
- scale is used. Possible values: SCALE_UNSPECIFIED,
- LINEAR, LOG10'
- enum:
- - SCALE_UNSPECIFIED
- - LINEAR
- - LOG10
- yAxis:
- type: object
- x-dcl-go-name: YAxis
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartYAxis
- description: The properties applied to the Y axis.
- properties:
- label:
- type: string
- x-dcl-go-name: Label
- description: The label of the axis.
- scale:
- type: string
- x-dcl-go-name: Scale
- x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnum
- description: 'The axis scale. By default, a linear
- scale is used. Possible values: SCALE_UNSPECIFIED,
- LINEAR, LOG10'
- enum:
- - SCALE_UNSPECIFIED
- - LINEAR
- - LOG10
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/dashboard_internal.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/dashboard_internal.go
deleted file mode 100644
index dd6309bdad..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/dashboard_internal.go
+++ /dev/null
@@ -1,61359 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 monitoring
-
-import (
- "bytes"
- "context"
- "encoding/json"
- "fmt"
- "io/ioutil"
- "strings"
-
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-func (r *Dashboard) validate() error {
-
- if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"GridLayout", "MosaicLayout", "RowLayout", "ColumnLayout"}, r.GridLayout, r.MosaicLayout, r.RowLayout, r.ColumnLayout); err != nil {
- return err
- }
- if err := dcl.RequiredParameter(r.Name, "Name"); err != nil {
- return err
- }
- if err := dcl.Required(r, "displayName"); err != nil {
- return err
- }
- if err := dcl.RequiredParameter(r.Project, "Project"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.GridLayout) {
- if err := r.GridLayout.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.MosaicLayout) {
- if err := r.MosaicLayout.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.RowLayout) {
- if err := r.RowLayout.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.ColumnLayout) {
- if err := r.ColumnLayout.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardGridLayout) validate() error {
- return nil
-}
-func (r *DashboardGridLayoutWidgets) validate() error {
- if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"XyChart", "Scorecard", "Text", "Blank", "LogsPanel"}, r.XyChart, r.Scorecard, r.Text, r.Blank, r.LogsPanel); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.XyChart) {
- if err := r.XyChart.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Scorecard) {
- if err := r.Scorecard.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Text) {
- if err := r.Text.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Blank) {
- if err := r.Blank.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.LogsPanel) {
- if err := r.LogsPanel.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardGridLayoutWidgetsXyChart) validate() error {
- if err := dcl.Required(r, "dataSets"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.XAxis) {
- if err := r.XAxis.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.YAxis) {
- if err := r.YAxis.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.ChartOptions) {
- if err := r.ChartOptions.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardGridLayoutWidgetsXyChartDataSets) validate() error {
- if err := dcl.Required(r, "timeSeriesQuery"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.TimeSeriesQuery) {
- if err := r.TimeSeriesQuery.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery) validate() error {
- if !dcl.IsEmptyValueIndirect(r.TimeSeriesFilter) {
- if err := r.TimeSeriesFilter.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.TimeSeriesFilterRatio) {
- if err := r.TimeSeriesFilterRatio.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) validate() error {
- if err := dcl.Required(r, "filter"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Aggregation) {
- if err := r.Aggregation.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.SecondaryAggregation) {
- if err := r.SecondaryAggregation.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.PickTimeSeriesFilter) {
- if err := r.PickTimeSeriesFilter.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) validate() error {
- return nil
-}
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) validate() error {
- return nil
-}
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) validate() error {
- return nil
-}
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) validate() error {
- if !dcl.IsEmptyValueIndirect(r.Numerator) {
- if err := r.Numerator.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Denominator) {
- if err := r.Denominator.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.SecondaryAggregation) {
- if err := r.SecondaryAggregation.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.PickTimeSeriesFilter) {
- if err := r.PickTimeSeriesFilter.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) validate() error {
- if err := dcl.Required(r, "filter"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Aggregation) {
- if err := r.Aggregation.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) validate() error {
- return nil
-}
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) validate() error {
- if err := dcl.Required(r, "filter"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Aggregation) {
- if err := r.Aggregation.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) validate() error {
- return nil
-}
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) validate() error {
- return nil
-}
-func (r *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) validate() error {
- return nil
-}
-func (r *DashboardGridLayoutWidgetsXyChartThresholds) validate() error {
- return nil
-}
-func (r *DashboardGridLayoutWidgetsXyChartXAxis) validate() error {
- return nil
-}
-func (r *DashboardGridLayoutWidgetsXyChartYAxis) validate() error {
- return nil
-}
-func (r *DashboardGridLayoutWidgetsXyChartChartOptions) validate() error {
- return nil
-}
-func (r *DashboardGridLayoutWidgetsScorecard) validate() error {
- if err := dcl.Required(r, "timeSeriesQuery"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.TimeSeriesQuery) {
- if err := r.TimeSeriesQuery.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.GaugeView) {
- if err := r.GaugeView.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.SparkChartView) {
- if err := r.SparkChartView.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQuery) validate() error {
- if !dcl.IsEmptyValueIndirect(r.TimeSeriesFilter) {
- if err := r.TimeSeriesFilter.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.TimeSeriesFilterRatio) {
- if err := r.TimeSeriesFilterRatio.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter) validate() error {
- if err := dcl.Required(r, "filter"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Aggregation) {
- if err := r.Aggregation.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.SecondaryAggregation) {
- if err := r.SecondaryAggregation.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.PickTimeSeriesFilter) {
- if err := r.PickTimeSeriesFilter.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation) validate() error {
- return nil
-}
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) validate() error {
- return nil
-}
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) validate() error {
- return nil
-}
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio) validate() error {
- if !dcl.IsEmptyValueIndirect(r.Numerator) {
- if err := r.Numerator.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Denominator) {
- if err := r.Denominator.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.SecondaryAggregation) {
- if err := r.SecondaryAggregation.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.PickTimeSeriesFilter) {
- if err := r.PickTimeSeriesFilter.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) validate() error {
- if err := dcl.Required(r, "filter"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Aggregation) {
- if err := r.Aggregation.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) validate() error {
- return nil
-}
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) validate() error {
- if err := dcl.Required(r, "filter"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Aggregation) {
- if err := r.Aggregation.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) validate() error {
- return nil
-}
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) validate() error {
- return nil
-}
-func (r *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) validate() error {
- return nil
-}
-func (r *DashboardGridLayoutWidgetsScorecardGaugeView) validate() error {
- return nil
-}
-func (r *DashboardGridLayoutWidgetsScorecardSparkChartView) validate() error {
- if err := dcl.Required(r, "sparkChartType"); err != nil {
- return err
- }
- return nil
-}
-func (r *DashboardGridLayoutWidgetsScorecardThresholds) validate() error {
- return nil
-}
-func (r *DashboardGridLayoutWidgetsText) validate() error {
- return nil
-}
-func (r *DashboardGridLayoutWidgetsBlank) validate() error {
- return nil
-}
-func (r *DashboardGridLayoutWidgetsLogsPanel) validate() error {
- return nil
-}
-func (r *DashboardMosaicLayout) validate() error {
- return nil
-}
-func (r *DashboardMosaicLayoutTiles) validate() error {
- if !dcl.IsEmptyValueIndirect(r.Widget) {
- if err := r.Widget.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidget) validate() error {
- if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"XyChart", "Scorecard", "Text", "Blank", "LogsPanel"}, r.XyChart, r.Scorecard, r.Text, r.Blank, r.LogsPanel); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.XyChart) {
- if err := r.XyChart.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Scorecard) {
- if err := r.Scorecard.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Text) {
- if err := r.Text.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Blank) {
- if err := r.Blank.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.LogsPanel) {
- if err := r.LogsPanel.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetXyChart) validate() error {
- if err := dcl.Required(r, "dataSets"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.XAxis) {
- if err := r.XAxis.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.YAxis) {
- if err := r.YAxis.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.ChartOptions) {
- if err := r.ChartOptions.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSets) validate() error {
- if err := dcl.Required(r, "timeSeriesQuery"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.TimeSeriesQuery) {
- if err := r.TimeSeriesQuery.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery) validate() error {
- if !dcl.IsEmptyValueIndirect(r.TimeSeriesFilter) {
- if err := r.TimeSeriesFilter.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.TimeSeriesFilterRatio) {
- if err := r.TimeSeriesFilterRatio.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) validate() error {
- if err := dcl.Required(r, "filter"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Aggregation) {
- if err := r.Aggregation.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.SecondaryAggregation) {
- if err := r.SecondaryAggregation.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.PickTimeSeriesFilter) {
- if err := r.PickTimeSeriesFilter.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) validate() error {
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) validate() error {
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) validate() error {
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) validate() error {
- if !dcl.IsEmptyValueIndirect(r.Numerator) {
- if err := r.Numerator.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Denominator) {
- if err := r.Denominator.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.SecondaryAggregation) {
- if err := r.SecondaryAggregation.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.PickTimeSeriesFilter) {
- if err := r.PickTimeSeriesFilter.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) validate() error {
- if err := dcl.Required(r, "filter"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Aggregation) {
- if err := r.Aggregation.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) validate() error {
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) validate() error {
- if err := dcl.Required(r, "filter"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Aggregation) {
- if err := r.Aggregation.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) validate() error {
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) validate() error {
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) validate() error {
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetXyChartThresholds) validate() error {
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetXyChartXAxis) validate() error {
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetXyChartYAxis) validate() error {
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetXyChartChartOptions) validate() error {
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetScorecard) validate() error {
- if err := dcl.Required(r, "timeSeriesQuery"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.TimeSeriesQuery) {
- if err := r.TimeSeriesQuery.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.GaugeView) {
- if err := r.GaugeView.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.SparkChartView) {
- if err := r.SparkChartView.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery) validate() error {
- if !dcl.IsEmptyValueIndirect(r.TimeSeriesFilter) {
- if err := r.TimeSeriesFilter.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.TimeSeriesFilterRatio) {
- if err := r.TimeSeriesFilterRatio.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter) validate() error {
- if err := dcl.Required(r, "filter"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Aggregation) {
- if err := r.Aggregation.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.SecondaryAggregation) {
- if err := r.SecondaryAggregation.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.PickTimeSeriesFilter) {
- if err := r.PickTimeSeriesFilter.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation) validate() error {
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) validate() error {
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) validate() error {
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio) validate() error {
- if !dcl.IsEmptyValueIndirect(r.Numerator) {
- if err := r.Numerator.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Denominator) {
- if err := r.Denominator.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.SecondaryAggregation) {
- if err := r.SecondaryAggregation.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.PickTimeSeriesFilter) {
- if err := r.PickTimeSeriesFilter.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) validate() error {
- if err := dcl.Required(r, "filter"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Aggregation) {
- if err := r.Aggregation.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) validate() error {
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) validate() error {
- if err := dcl.Required(r, "filter"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Aggregation) {
- if err := r.Aggregation.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) validate() error {
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) validate() error {
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) validate() error {
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetScorecardGaugeView) validate() error {
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetScorecardSparkChartView) validate() error {
- if err := dcl.Required(r, "sparkChartType"); err != nil {
- return err
- }
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetScorecardThresholds) validate() error {
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetText) validate() error {
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetBlank) validate() error {
- return nil
-}
-func (r *DashboardMosaicLayoutTilesWidgetLogsPanel) validate() error {
- return nil
-}
-func (r *DashboardRowLayout) validate() error {
- return nil
-}
-func (r *DashboardRowLayoutRows) validate() error {
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgets) validate() error {
- if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"XyChart", "Scorecard", "Text", "Blank", "LogsPanel"}, r.XyChart, r.Scorecard, r.Text, r.Blank, r.LogsPanel); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.XyChart) {
- if err := r.XyChart.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Scorecard) {
- if err := r.Scorecard.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Text) {
- if err := r.Text.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Blank) {
- if err := r.Blank.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.LogsPanel) {
- if err := r.LogsPanel.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsXyChart) validate() error {
- if err := dcl.Required(r, "dataSets"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.XAxis) {
- if err := r.XAxis.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.YAxis) {
- if err := r.YAxis.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.ChartOptions) {
- if err := r.ChartOptions.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSets) validate() error {
- if err := dcl.Required(r, "timeSeriesQuery"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.TimeSeriesQuery) {
- if err := r.TimeSeriesQuery.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery) validate() error {
- if !dcl.IsEmptyValueIndirect(r.TimeSeriesFilter) {
- if err := r.TimeSeriesFilter.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.TimeSeriesFilterRatio) {
- if err := r.TimeSeriesFilterRatio.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) validate() error {
- if err := dcl.Required(r, "filter"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Aggregation) {
- if err := r.Aggregation.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.SecondaryAggregation) {
- if err := r.SecondaryAggregation.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.PickTimeSeriesFilter) {
- if err := r.PickTimeSeriesFilter.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) validate() error {
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) validate() error {
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) validate() error {
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) validate() error {
- if !dcl.IsEmptyValueIndirect(r.Numerator) {
- if err := r.Numerator.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Denominator) {
- if err := r.Denominator.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.SecondaryAggregation) {
- if err := r.SecondaryAggregation.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.PickTimeSeriesFilter) {
- if err := r.PickTimeSeriesFilter.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) validate() error {
- if err := dcl.Required(r, "filter"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Aggregation) {
- if err := r.Aggregation.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) validate() error {
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) validate() error {
- if err := dcl.Required(r, "filter"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Aggregation) {
- if err := r.Aggregation.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) validate() error {
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) validate() error {
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) validate() error {
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsXyChartThresholds) validate() error {
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsXyChartXAxis) validate() error {
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsXyChartYAxis) validate() error {
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsXyChartChartOptions) validate() error {
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsScorecard) validate() error {
- if err := dcl.Required(r, "timeSeriesQuery"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.TimeSeriesQuery) {
- if err := r.TimeSeriesQuery.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.GaugeView) {
- if err := r.GaugeView.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.SparkChartView) {
- if err := r.SparkChartView.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery) validate() error {
- if !dcl.IsEmptyValueIndirect(r.TimeSeriesFilter) {
- if err := r.TimeSeriesFilter.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.TimeSeriesFilterRatio) {
- if err := r.TimeSeriesFilterRatio.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter) validate() error {
- if err := dcl.Required(r, "filter"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Aggregation) {
- if err := r.Aggregation.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.SecondaryAggregation) {
- if err := r.SecondaryAggregation.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.PickTimeSeriesFilter) {
- if err := r.PickTimeSeriesFilter.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation) validate() error {
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) validate() error {
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) validate() error {
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio) validate() error {
- if !dcl.IsEmptyValueIndirect(r.Numerator) {
- if err := r.Numerator.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Denominator) {
- if err := r.Denominator.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.SecondaryAggregation) {
- if err := r.SecondaryAggregation.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.PickTimeSeriesFilter) {
- if err := r.PickTimeSeriesFilter.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) validate() error {
- if err := dcl.Required(r, "filter"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Aggregation) {
- if err := r.Aggregation.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) validate() error {
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) validate() error {
- if err := dcl.Required(r, "filter"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Aggregation) {
- if err := r.Aggregation.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) validate() error {
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) validate() error {
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) validate() error {
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsScorecardGaugeView) validate() error {
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsScorecardSparkChartView) validate() error {
- if err := dcl.Required(r, "sparkChartType"); err != nil {
- return err
- }
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsScorecardThresholds) validate() error {
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsText) validate() error {
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsBlank) validate() error {
- return nil
-}
-func (r *DashboardRowLayoutRowsWidgetsLogsPanel) validate() error {
- return nil
-}
-func (r *DashboardColumnLayout) validate() error {
- return nil
-}
-func (r *DashboardColumnLayoutColumns) validate() error {
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgets) validate() error {
- if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"XyChart", "Scorecard", "Text", "Blank", "LogsPanel"}, r.XyChart, r.Scorecard, r.Text, r.Blank, r.LogsPanel); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.XyChart) {
- if err := r.XyChart.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Scorecard) {
- if err := r.Scorecard.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Text) {
- if err := r.Text.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Blank) {
- if err := r.Blank.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.LogsPanel) {
- if err := r.LogsPanel.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsXyChart) validate() error {
- if err := dcl.Required(r, "dataSets"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.XAxis) {
- if err := r.XAxis.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.YAxis) {
- if err := r.YAxis.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.ChartOptions) {
- if err := r.ChartOptions.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSets) validate() error {
- if err := dcl.Required(r, "timeSeriesQuery"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.TimeSeriesQuery) {
- if err := r.TimeSeriesQuery.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery) validate() error {
- if !dcl.IsEmptyValueIndirect(r.TimeSeriesFilter) {
- if err := r.TimeSeriesFilter.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.TimeSeriesFilterRatio) {
- if err := r.TimeSeriesFilterRatio.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) validate() error {
- if err := dcl.Required(r, "filter"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Aggregation) {
- if err := r.Aggregation.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.SecondaryAggregation) {
- if err := r.SecondaryAggregation.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.PickTimeSeriesFilter) {
- if err := r.PickTimeSeriesFilter.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) validate() error {
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) validate() error {
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) validate() error {
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) validate() error {
- if !dcl.IsEmptyValueIndirect(r.Numerator) {
- if err := r.Numerator.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Denominator) {
- if err := r.Denominator.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.SecondaryAggregation) {
- if err := r.SecondaryAggregation.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.PickTimeSeriesFilter) {
- if err := r.PickTimeSeriesFilter.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) validate() error {
- if err := dcl.Required(r, "filter"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Aggregation) {
- if err := r.Aggregation.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) validate() error {
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) validate() error {
- if err := dcl.Required(r, "filter"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Aggregation) {
- if err := r.Aggregation.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) validate() error {
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) validate() error {
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) validate() error {
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartThresholds) validate() error {
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartXAxis) validate() error {
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartYAxis) validate() error {
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsXyChartChartOptions) validate() error {
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsScorecard) validate() error {
- if err := dcl.Required(r, "timeSeriesQuery"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.TimeSeriesQuery) {
- if err := r.TimeSeriesQuery.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.GaugeView) {
- if err := r.GaugeView.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.SparkChartView) {
- if err := r.SparkChartView.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery) validate() error {
- if !dcl.IsEmptyValueIndirect(r.TimeSeriesFilter) {
- if err := r.TimeSeriesFilter.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.TimeSeriesFilterRatio) {
- if err := r.TimeSeriesFilterRatio.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter) validate() error {
- if err := dcl.Required(r, "filter"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Aggregation) {
- if err := r.Aggregation.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.SecondaryAggregation) {
- if err := r.SecondaryAggregation.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.PickTimeSeriesFilter) {
- if err := r.PickTimeSeriesFilter.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation) validate() error {
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) validate() error {
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) validate() error {
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio) validate() error {
- if !dcl.IsEmptyValueIndirect(r.Numerator) {
- if err := r.Numerator.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Denominator) {
- if err := r.Denominator.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.SecondaryAggregation) {
- if err := r.SecondaryAggregation.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.PickTimeSeriesFilter) {
- if err := r.PickTimeSeriesFilter.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) validate() error {
- if err := dcl.Required(r, "filter"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Aggregation) {
- if err := r.Aggregation.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) validate() error {
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) validate() error {
- if err := dcl.Required(r, "filter"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Aggregation) {
- if err := r.Aggregation.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) validate() error {
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) validate() error {
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) validate() error {
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardGaugeView) validate() error {
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView) validate() error {
- if err := dcl.Required(r, "sparkChartType"); err != nil {
- return err
- }
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsScorecardThresholds) validate() error {
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsText) validate() error {
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsBlank) validate() error {
- return nil
-}
-func (r *DashboardColumnLayoutColumnsWidgetsLogsPanel) validate() error {
- return nil
-}
-func (r *Dashboard) basePath() string {
- params := map[string]interface{}{}
- return dcl.Nprintf("https://monitoring.googleapis.com/v1/", params)
-}
-
-func (r *Dashboard) getURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("projects/{{project}}/dashboards/{{name}}", nr.basePath(), userBasePath, params), nil
-}
-
-func (r *Dashboard) listURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- }
- return dcl.URL("projects/{{project}}/dashboards", nr.basePath(), userBasePath, params), nil
-
-}
-
-func (r *Dashboard) createURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- }
- return dcl.URL("projects/{{project}}/dashboards", nr.basePath(), userBasePath, params), nil
-
-}
-
-func (r *Dashboard) deleteURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("projects/{{project}}/dashboards/{{name}}", nr.basePath(), userBasePath, params), nil
-}
-
-// dashboardApiOperation represents a mutable operation in the underlying REST
-// API such as Create, Update, or Delete.
-type dashboardApiOperation interface {
- do(context.Context, *Dashboard, *Client) error
-}
-
-// newUpdateDashboardUpdateDashboardRequest creates a request for an
-// Dashboard resource's UpdateDashboard update type by filling in the update
-// fields based on the intended state of the resource.
-func newUpdateDashboardUpdateDashboardRequest(ctx context.Context, f *Dashboard, c *Client) (map[string]interface{}, error) {
- req := map[string]interface{}{}
- res := f
- _ = res
-
- if v := f.DisplayName; !dcl.IsEmptyValueIndirect(v) {
- req["displayName"] = v
- }
- if v, err := expandDashboardGridLayout(c, f.GridLayout, res); err != nil {
- return nil, fmt.Errorf("error expanding GridLayout into gridLayout: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- req["gridLayout"] = v
- }
- if v, err := expandDashboardMosaicLayout(c, f.MosaicLayout, res); err != nil {
- return nil, fmt.Errorf("error expanding MosaicLayout into mosaicLayout: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- req["mosaicLayout"] = v
- }
- if v, err := expandDashboardRowLayout(c, f.RowLayout, res); err != nil {
- return nil, fmt.Errorf("error expanding RowLayout into rowLayout: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- req["rowLayout"] = v
- }
- if v, err := expandDashboardColumnLayout(c, f.ColumnLayout, res); err != nil {
- return nil, fmt.Errorf("error expanding ColumnLayout into columnLayout: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- req["columnLayout"] = v
- }
- b, err := c.getDashboardRaw(ctx, f)
- if err != nil {
- return nil, err
- }
- var m map[string]interface{}
- if err := json.Unmarshal(b, &m); err != nil {
- return nil, err
- }
- rawEtag, err := dcl.GetMapEntry(
- m,
- []string{"etag"},
- )
- if err != nil {
- c.Config.Logger.WarningWithContextf(ctx, "Failed to fetch from JSON Path: %v", err)
- } else {
- req["etag"] = rawEtag.(string)
- }
- req["name"] = fmt.Sprintf("projects/%s/dashboards/%s", *f.Project, *f.Name)
-
- return req, nil
-}
-
-// marshalUpdateDashboardUpdateDashboardRequest converts the update into
-// the final JSON request body.
-func marshalUpdateDashboardUpdateDashboardRequest(c *Client, m map[string]interface{}) ([]byte, error) {
-
- return json.Marshal(m)
-}
-
-type updateDashboardUpdateDashboardOperation struct {
- // If the update operation has the REQUIRES_APPLY_OPTIONS trait, this will be populated.
- // Usually it will be nil - this is to prevent us from accidentally depending on apply
- // options, which should usually be unnecessary.
- ApplyOptions []dcl.ApplyOption
- FieldDiffs []*dcl.FieldDiff
-}
-
-// do creates a request and sends it to the appropriate URL. In most operations,
-// do will transcribe a subset of the resource into a request object and send a
-// PUT request to a single URL.
-
-func (op *updateDashboardUpdateDashboardOperation) do(ctx context.Context, r *Dashboard, c *Client) error {
- _, err := c.GetDashboard(ctx, r)
- if err != nil {
- return err
- }
-
- u, err := r.updateURL(c.Config.BasePath, "UpdateDashboard")
- if err != nil {
- return err
- }
-
- req, err := newUpdateDashboardUpdateDashboardRequest(ctx, r, c)
- if err != nil {
- return err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Created update: %#v", req)
- body, err := marshalUpdateDashboardUpdateDashboardRequest(c, req)
- if err != nil {
- return err
- }
- _, err = dcl.SendRequest(ctx, c.Config, "PATCH", u, bytes.NewBuffer(body), c.Config.RetryProvider)
- if err != nil {
- return err
- }
-
- return nil
-}
-
-func (c *Client) listDashboardRaw(ctx context.Context, r *Dashboard, pageToken string, pageSize int32) ([]byte, error) {
- u, err := r.urlNormalized().listURL(c.Config.BasePath)
- if err != nil {
- return nil, err
- }
-
- m := make(map[string]string)
- if pageToken != "" {
- m["pageToken"] = pageToken
- }
-
- if pageSize != DashboardMaxPage {
- m["pageSize"] = fmt.Sprintf("%v", pageSize)
- }
-
- u, err = dcl.AddQueryParams(u, m)
- if err != nil {
- return nil, err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
- if err != nil {
- return nil, err
- }
- defer resp.Response.Body.Close()
- return ioutil.ReadAll(resp.Response.Body)
-}
-
-type listDashboardOperation struct {
- Dashboards []map[string]interface{} `json:"dashboards"`
- Token string `json:"nextPageToken"`
-}
-
-func (c *Client) listDashboard(ctx context.Context, r *Dashboard, pageToken string, pageSize int32) ([]*Dashboard, string, error) {
- b, err := c.listDashboardRaw(ctx, r, pageToken, pageSize)
- if err != nil {
- return nil, "", err
- }
-
- var m listDashboardOperation
- if err := json.Unmarshal(b, &m); err != nil {
- return nil, "", err
- }
-
- var l []*Dashboard
- for _, v := range m.Dashboards {
- res, err := unmarshalMapDashboard(v, c, r)
- if err != nil {
- return nil, m.Token, err
- }
- res.Project = r.Project
- l = append(l, res)
- }
-
- return l, m.Token, nil
-}
-
-func (c *Client) deleteAllDashboard(ctx context.Context, f func(*Dashboard) bool, resources []*Dashboard) error {
- var errors []string
- for _, res := range resources {
- if f(res) {
- // We do not want deleteAll to fail on a deletion or else it will stop deleting other resources.
- err := c.DeleteDashboard(ctx, res)
- if err != nil {
- errors = append(errors, err.Error())
- }
- }
- }
- if len(errors) > 0 {
- return fmt.Errorf("%v", strings.Join(errors, "\n"))
- } else {
- return nil
- }
-}
-
-type deleteDashboardOperation struct{}
-
-func (op *deleteDashboardOperation) do(ctx context.Context, r *Dashboard, c *Client) error {
- r, err := c.GetDashboard(ctx, r)
- if err != nil {
- if dcl.IsNotFound(err) {
- c.Config.Logger.InfoWithContextf(ctx, "Dashboard not found, returning. Original error: %v", err)
- return nil
- }
- c.Config.Logger.WarningWithContextf(ctx, "GetDashboard checking for existence. error: %v", err)
- return err
- }
-
- u, err := r.deleteURL(c.Config.BasePath)
- if err != nil {
- return err
- }
-
- // Delete should never have a body
- body := &bytes.Buffer{}
- _, err = dcl.SendRequest(ctx, c.Config, "DELETE", u, body, c.Config.RetryProvider)
- if err != nil {
- return fmt.Errorf("failed to delete Dashboard: %w", err)
- }
-
- // We saw a race condition where for some successful delete operation, the Get calls returned resources for a short duration.
- // This is the reason we are adding retry to handle that case.
- retriesRemaining := 10
- dcl.Do(ctx, func(ctx context.Context) (*dcl.RetryDetails, error) {
- _, err := c.GetDashboard(ctx, r)
- if dcl.IsNotFound(err) {
- return nil, nil
- }
- if retriesRemaining > 0 {
- retriesRemaining--
- return &dcl.RetryDetails{}, dcl.OperationNotDone{}
- }
- return nil, dcl.NotDeletedError{ExistingResource: r}
- }, c.Config.RetryProvider)
- return nil
-}
-
-// Create operations are similar to Update operations, although they do not have
-// specific request objects. The Create request object is the json encoding of
-// the resource, which is modified by res.marshal to form the base request body.
-type createDashboardOperation struct {
- response map[string]interface{}
-}
-
-func (op *createDashboardOperation) FirstResponse() (map[string]interface{}, bool) {
- return op.response, len(op.response) > 0
-}
-
-func (op *createDashboardOperation) do(ctx context.Context, r *Dashboard, c *Client) error {
- c.Config.Logger.InfoWithContextf(ctx, "Attempting to create %v", r)
- u, err := r.createURL(c.Config.BasePath)
- if err != nil {
- return err
- }
-
- req, err := r.marshal(c)
- if err != nil {
- return err
- }
- var m map[string]interface{}
- if err := json.Unmarshal(req, &m); err != nil {
- return err
- }
- normalized := r.urlNormalized()
- m["name"] = fmt.Sprintf("projects/%s/dashboards/%s", *normalized.Project, *normalized.Name)
-
- req, err = json.Marshal(m)
- if err != nil {
- return err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "POST", u, bytes.NewBuffer(req), c.Config.RetryProvider)
- if err != nil {
- return err
- }
-
- o, err := dcl.ResponseBodyAsJSON(resp)
- if err != nil {
- return fmt.Errorf("error decoding response body into JSON: %w", err)
- }
- op.response = o
-
- if _, err := c.GetDashboard(ctx, r); err != nil {
- c.Config.Logger.WarningWithContextf(ctx, "get returned error: %v", err)
- return err
- }
-
- return nil
-}
-
-func (c *Client) getDashboardRaw(ctx context.Context, r *Dashboard) ([]byte, error) {
-
- u, err := r.getURL(c.Config.BasePath)
- if err != nil {
- return nil, err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
- if err != nil {
- return nil, err
- }
- defer resp.Response.Body.Close()
- b, err := ioutil.ReadAll(resp.Response.Body)
- if err != nil {
- return nil, err
- }
-
- return b, nil
-}
-
-func (c *Client) dashboardDiffsForRawDesired(ctx context.Context, rawDesired *Dashboard, opts ...dcl.ApplyOption) (initial, desired *Dashboard, diffs []*dcl.FieldDiff, err error) {
- c.Config.Logger.InfoWithContext(ctx, "Fetching initial state...")
- // First, let us see if the user provided a state hint. If they did, we will start fetching based on that.
- var fetchState *Dashboard
- if sh := dcl.FetchStateHint(opts); sh != nil {
- if r, ok := sh.(*Dashboard); !ok {
- c.Config.Logger.WarningWithContextf(ctx, "Initial state hint was of the wrong type; expected Dashboard, got %T", sh)
- } else {
- fetchState = r
- }
- }
- if fetchState == nil {
- fetchState = rawDesired
- }
-
- // 1.2: Retrieval of raw initial state from API
- rawInitial, err := c.GetDashboard(ctx, fetchState)
- if rawInitial == nil {
- if !dcl.IsNotFound(err) {
- c.Config.Logger.WarningWithContextf(ctx, "Failed to retrieve whether a Dashboard resource already exists: %s", err)
- return nil, nil, nil, fmt.Errorf("failed to retrieve Dashboard resource: %v", err)
- }
- c.Config.Logger.InfoWithContext(ctx, "Found that Dashboard resource did not exist.")
- // Perform canonicalization to pick up defaults.
- desired, err = canonicalizeDashboardDesiredState(rawDesired, rawInitial)
- return nil, desired, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Found initial state for Dashboard: %v", rawInitial)
- c.Config.Logger.InfoWithContextf(ctx, "Initial desired state for Dashboard: %v", rawDesired)
-
- // The Get call applies postReadExtract and so the result may contain fields that are not part of API version.
- if err := extractDashboardFields(rawInitial); err != nil {
- return nil, nil, nil, err
- }
-
- // 1.3: Canonicalize raw initial state into initial state.
- initial, err = canonicalizeDashboardInitialState(rawInitial, rawDesired)
- if err != nil {
- return nil, nil, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalized initial state for Dashboard: %v", initial)
-
- // 1.4: Canonicalize raw desired state into desired state.
- desired, err = canonicalizeDashboardDesiredState(rawDesired, rawInitial, opts...)
- if err != nil {
- return nil, nil, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalized desired state for Dashboard: %v", desired)
-
- // 2.1: Comparison of initial and desired state.
- diffs, err = diffDashboard(c, desired, initial, opts...)
- return initial, desired, diffs, err
-}
-
-func canonicalizeDashboardInitialState(rawInitial, rawDesired *Dashboard) (*Dashboard, error) {
- // TODO(magic-modules-eng): write canonicalizer once relevant traits are added.
-
- if !dcl.IsZeroValue(rawInitial.GridLayout) {
- // Check if anything else is set.
- if dcl.AnySet(rawInitial.MosaicLayout, rawInitial.RowLayout, rawInitial.ColumnLayout) {
- rawInitial.GridLayout = EmptyDashboardGridLayout
- }
- }
-
- if !dcl.IsZeroValue(rawInitial.MosaicLayout) {
- // Check if anything else is set.
- if dcl.AnySet(rawInitial.GridLayout, rawInitial.RowLayout, rawInitial.ColumnLayout) {
- rawInitial.MosaicLayout = EmptyDashboardMosaicLayout
- }
- }
-
- if !dcl.IsZeroValue(rawInitial.RowLayout) {
- // Check if anything else is set.
- if dcl.AnySet(rawInitial.GridLayout, rawInitial.MosaicLayout, rawInitial.ColumnLayout) {
- rawInitial.RowLayout = EmptyDashboardRowLayout
- }
- }
-
- if !dcl.IsZeroValue(rawInitial.ColumnLayout) {
- // Check if anything else is set.
- if dcl.AnySet(rawInitial.GridLayout, rawInitial.MosaicLayout, rawInitial.RowLayout) {
- rawInitial.ColumnLayout = EmptyDashboardColumnLayout
- }
- }
-
- return rawInitial, nil
-}
-
-/*
-* Canonicalizers
-*
-* These are responsible for converting either a user-specified config or a
-* GCP API response to a standard format that can be used for difference checking.
-* */
-
-func canonicalizeDashboardDesiredState(rawDesired, rawInitial *Dashboard, opts ...dcl.ApplyOption) (*Dashboard, error) {
-
- if rawInitial == nil {
- // Since the initial state is empty, the desired state is all we have.
- // We canonicalize the remaining nested objects with nil to pick up defaults.
- rawDesired.GridLayout = canonicalizeDashboardGridLayout(rawDesired.GridLayout, nil, opts...)
- rawDesired.MosaicLayout = canonicalizeDashboardMosaicLayout(rawDesired.MosaicLayout, nil, opts...)
- rawDesired.RowLayout = canonicalizeDashboardRowLayout(rawDesired.RowLayout, nil, opts...)
- rawDesired.ColumnLayout = canonicalizeDashboardColumnLayout(rawDesired.ColumnLayout, nil, opts...)
-
- return rawDesired, nil
- }
- canonicalDesired := &Dashboard{}
- if dcl.NameToSelfLink(rawDesired.Name, rawInitial.Name) {
- canonicalDesired.Name = rawInitial.Name
- } else {
- canonicalDesired.Name = rawDesired.Name
- }
- if dcl.StringCanonicalize(rawDesired.DisplayName, rawInitial.DisplayName) {
- canonicalDesired.DisplayName = rawInitial.DisplayName
- } else {
- canonicalDesired.DisplayName = rawDesired.DisplayName
- }
- canonicalDesired.GridLayout = canonicalizeDashboardGridLayout(rawDesired.GridLayout, rawInitial.GridLayout, opts...)
- canonicalDesired.MosaicLayout = canonicalizeDashboardMosaicLayout(rawDesired.MosaicLayout, rawInitial.MosaicLayout, opts...)
- canonicalDesired.RowLayout = canonicalizeDashboardRowLayout(rawDesired.RowLayout, rawInitial.RowLayout, opts...)
- canonicalDesired.ColumnLayout = canonicalizeDashboardColumnLayout(rawDesired.ColumnLayout, rawInitial.ColumnLayout, opts...)
- if dcl.NameToSelfLink(rawDesired.Project, rawInitial.Project) {
- canonicalDesired.Project = rawInitial.Project
- } else {
- canonicalDesired.Project = rawDesired.Project
- }
-
- if canonicalDesired.GridLayout != nil {
- // Check if anything else is set.
- if dcl.AnySet(rawDesired.MosaicLayout, rawDesired.RowLayout, rawDesired.ColumnLayout) {
- canonicalDesired.GridLayout = EmptyDashboardGridLayout
- }
- }
-
- if canonicalDesired.MosaicLayout != nil {
- // Check if anything else is set.
- if dcl.AnySet(rawDesired.GridLayout, rawDesired.RowLayout, rawDesired.ColumnLayout) {
- canonicalDesired.MosaicLayout = EmptyDashboardMosaicLayout
- }
- }
-
- if canonicalDesired.RowLayout != nil {
- // Check if anything else is set.
- if dcl.AnySet(rawDesired.GridLayout, rawDesired.MosaicLayout, rawDesired.ColumnLayout) {
- canonicalDesired.RowLayout = EmptyDashboardRowLayout
- }
- }
-
- if canonicalDesired.ColumnLayout != nil {
- // Check if anything else is set.
- if dcl.AnySet(rawDesired.GridLayout, rawDesired.MosaicLayout, rawDesired.RowLayout) {
- canonicalDesired.ColumnLayout = EmptyDashboardColumnLayout
- }
- }
-
- return canonicalDesired, nil
-}
-
-func canonicalizeDashboardNewState(c *Client, rawNew, rawDesired *Dashboard) (*Dashboard, error) {
-
- rawNew.Name = rawDesired.Name
-
- if dcl.IsEmptyValueIndirect(rawNew.DisplayName) && dcl.IsEmptyValueIndirect(rawDesired.DisplayName) {
- rawNew.DisplayName = rawDesired.DisplayName
- } else {
- if dcl.StringCanonicalize(rawDesired.DisplayName, rawNew.DisplayName) {
- rawNew.DisplayName = rawDesired.DisplayName
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.GridLayout) && dcl.IsEmptyValueIndirect(rawDesired.GridLayout) {
- rawNew.GridLayout = rawDesired.GridLayout
- } else {
- rawNew.GridLayout = canonicalizeNewDashboardGridLayout(c, rawDesired.GridLayout, rawNew.GridLayout)
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.MosaicLayout) && dcl.IsEmptyValueIndirect(rawDesired.MosaicLayout) {
- rawNew.MosaicLayout = rawDesired.MosaicLayout
- } else {
- rawNew.MosaicLayout = canonicalizeNewDashboardMosaicLayout(c, rawDesired.MosaicLayout, rawNew.MosaicLayout)
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.RowLayout) && dcl.IsEmptyValueIndirect(rawDesired.RowLayout) {
- rawNew.RowLayout = rawDesired.RowLayout
- } else {
- rawNew.RowLayout = canonicalizeNewDashboardRowLayout(c, rawDesired.RowLayout, rawNew.RowLayout)
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.ColumnLayout) && dcl.IsEmptyValueIndirect(rawDesired.ColumnLayout) {
- rawNew.ColumnLayout = rawDesired.ColumnLayout
- } else {
- rawNew.ColumnLayout = canonicalizeNewDashboardColumnLayout(c, rawDesired.ColumnLayout, rawNew.ColumnLayout)
- }
-
- rawNew.Project = rawDesired.Project
-
- if dcl.IsEmptyValueIndirect(rawNew.Etag) && dcl.IsEmptyValueIndirect(rawDesired.Etag) {
- rawNew.Etag = rawDesired.Etag
- } else {
- if dcl.StringCanonicalize(rawDesired.Etag, rawNew.Etag) {
- rawNew.Etag = rawDesired.Etag
- }
- }
-
- return rawNew, nil
-}
-
-func canonicalizeDashboardGridLayout(des, initial *DashboardGridLayout, opts ...dcl.ApplyOption) *DashboardGridLayout {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayout{}
-
- if dcl.IsZeroValue(des.Columns) || (dcl.IsEmptyValueIndirect(des.Columns) && dcl.IsEmptyValueIndirect(initial.Columns)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Columns = initial.Columns
- } else {
- cDes.Columns = des.Columns
- }
- cDes.Widgets = canonicalizeDashboardGridLayoutWidgetsSlice(des.Widgets, initial.Widgets, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutSlice(des, initial []DashboardGridLayout, opts ...dcl.ApplyOption) []DashboardGridLayout {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayout, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayout(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayout, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayout(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayout(c *Client, des, nw *DashboardGridLayout) *DashboardGridLayout {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayout while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.Widgets = canonicalizeNewDashboardGridLayoutWidgetsSlice(c, des.Widgets, nw.Widgets)
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutSet(c *Client, des, nw []DashboardGridLayout) []DashboardGridLayout {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayout
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayout(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutSlice(c *Client, des, nw []DashboardGridLayout) []DashboardGridLayout {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayout
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayout(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgets(des, initial *DashboardGridLayoutWidgets, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgets {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if des.XyChart != nil || (initial != nil && initial.XyChart != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Scorecard, des.Text, des.Blank, des.LogsPanel) {
- des.XyChart = nil
- if initial != nil {
- initial.XyChart = nil
- }
- }
- }
-
- if des.Scorecard != nil || (initial != nil && initial.Scorecard != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.XyChart, des.Text, des.Blank, des.LogsPanel) {
- des.Scorecard = nil
- if initial != nil {
- initial.Scorecard = nil
- }
- }
- }
-
- if des.Text != nil || (initial != nil && initial.Text != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.XyChart, des.Scorecard, des.Blank, des.LogsPanel) {
- des.Text = nil
- if initial != nil {
- initial.Text = nil
- }
- }
- }
-
- if des.Blank != nil || (initial != nil && initial.Blank != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.XyChart, des.Scorecard, des.Text, des.LogsPanel) {
- des.Blank = nil
- if initial != nil {
- initial.Blank = nil
- }
- }
- }
-
- if des.LogsPanel != nil || (initial != nil && initial.LogsPanel != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.XyChart, des.Scorecard, des.Text, des.Blank) {
- des.LogsPanel = nil
- if initial != nil {
- initial.LogsPanel = nil
- }
- }
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgets{}
-
- if dcl.StringCanonicalize(des.Title, initial.Title) || dcl.IsZeroValue(des.Title) {
- cDes.Title = initial.Title
- } else {
- cDes.Title = des.Title
- }
- cDes.XyChart = canonicalizeDashboardGridLayoutWidgetsXyChart(des.XyChart, initial.XyChart, opts...)
- cDes.Scorecard = canonicalizeDashboardGridLayoutWidgetsScorecard(des.Scorecard, initial.Scorecard, opts...)
- cDes.Text = canonicalizeDashboardGridLayoutWidgetsText(des.Text, initial.Text, opts...)
- cDes.Blank = canonicalizeDashboardGridLayoutWidgetsBlank(des.Blank, initial.Blank, opts...)
- cDes.LogsPanel = canonicalizeDashboardGridLayoutWidgetsLogsPanel(des.LogsPanel, initial.LogsPanel, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsSlice(des, initial []DashboardGridLayoutWidgets, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgets {
- if des == nil {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgets, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgets(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgets, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgets(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgets(c *Client, des, nw *DashboardGridLayoutWidgets) *DashboardGridLayoutWidgets {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgets while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Title, nw.Title) {
- nw.Title = des.Title
- }
- nw.XyChart = canonicalizeNewDashboardGridLayoutWidgetsXyChart(c, des.XyChart, nw.XyChart)
- nw.Scorecard = canonicalizeNewDashboardGridLayoutWidgetsScorecard(c, des.Scorecard, nw.Scorecard)
- nw.Text = canonicalizeNewDashboardGridLayoutWidgetsText(c, des.Text, nw.Text)
- nw.Blank = canonicalizeNewDashboardGridLayoutWidgetsBlank(c, des.Blank, nw.Blank)
- nw.LogsPanel = canonicalizeNewDashboardGridLayoutWidgetsLogsPanel(c, des.LogsPanel, nw.LogsPanel)
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsSet(c *Client, des, nw []DashboardGridLayoutWidgets) []DashboardGridLayoutWidgets {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgets
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgets(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsSlice(c *Client, des, nw []DashboardGridLayoutWidgets) []DashboardGridLayoutWidgets {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgets
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgets(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChart(des, initial *DashboardGridLayoutWidgetsXyChart, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsXyChart {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsXyChart{}
-
- cDes.DataSets = canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsSlice(des.DataSets, initial.DataSets, opts...)
- if dcl.StringCanonicalize(des.TimeshiftDuration, initial.TimeshiftDuration) || dcl.IsZeroValue(des.TimeshiftDuration) {
- cDes.TimeshiftDuration = initial.TimeshiftDuration
- } else {
- cDes.TimeshiftDuration = des.TimeshiftDuration
- }
- cDes.Thresholds = canonicalizeDashboardGridLayoutWidgetsXyChartThresholdsSlice(des.Thresholds, initial.Thresholds, opts...)
- cDes.XAxis = canonicalizeDashboardGridLayoutWidgetsXyChartXAxis(des.XAxis, initial.XAxis, opts...)
- cDes.YAxis = canonicalizeDashboardGridLayoutWidgetsXyChartYAxis(des.YAxis, initial.YAxis, opts...)
- cDes.ChartOptions = canonicalizeDashboardGridLayoutWidgetsXyChartChartOptions(des.ChartOptions, initial.ChartOptions, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartSlice(des, initial []DashboardGridLayoutWidgetsXyChart, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsXyChart {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsXyChart, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChart(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChart, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChart(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChart(c *Client, des, nw *DashboardGridLayoutWidgetsXyChart) *DashboardGridLayoutWidgetsXyChart {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsXyChart while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.DataSets = canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsSlice(c, des.DataSets, nw.DataSets)
- if dcl.StringCanonicalize(des.TimeshiftDuration, nw.TimeshiftDuration) {
- nw.TimeshiftDuration = des.TimeshiftDuration
- }
- nw.Thresholds = canonicalizeNewDashboardGridLayoutWidgetsXyChartThresholdsSlice(c, des.Thresholds, nw.Thresholds)
- nw.XAxis = canonicalizeNewDashboardGridLayoutWidgetsXyChartXAxis(c, des.XAxis, nw.XAxis)
- nw.YAxis = canonicalizeNewDashboardGridLayoutWidgetsXyChartYAxis(c, des.YAxis, nw.YAxis)
- nw.ChartOptions = canonicalizeNewDashboardGridLayoutWidgetsXyChartChartOptions(c, des.ChartOptions, nw.ChartOptions)
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartSet(c *Client, des, nw []DashboardGridLayoutWidgetsXyChart) []DashboardGridLayoutWidgetsXyChart {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsXyChart
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsXyChartNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChart(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartSlice(c *Client, des, nw []DashboardGridLayoutWidgetsXyChart) []DashboardGridLayoutWidgetsXyChart {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsXyChart
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChart(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartDataSets(des, initial *DashboardGridLayoutWidgetsXyChartDataSets, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsXyChartDataSets {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsXyChartDataSets{}
-
- cDes.TimeSeriesQuery = canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery(des.TimeSeriesQuery, initial.TimeSeriesQuery, opts...)
- if dcl.IsZeroValue(des.PlotType) || (dcl.IsEmptyValueIndirect(des.PlotType) && dcl.IsEmptyValueIndirect(initial.PlotType)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PlotType = initial.PlotType
- } else {
- cDes.PlotType = des.PlotType
- }
- if dcl.StringCanonicalize(des.LegendTemplate, initial.LegendTemplate) || dcl.IsZeroValue(des.LegendTemplate) {
- cDes.LegendTemplate = initial.LegendTemplate
- } else {
- cDes.LegendTemplate = des.LegendTemplate
- }
- if dcl.StringCanonicalize(des.MinAlignmentPeriod, initial.MinAlignmentPeriod) || dcl.IsZeroValue(des.MinAlignmentPeriod) {
- cDes.MinAlignmentPeriod = initial.MinAlignmentPeriod
- } else {
- cDes.MinAlignmentPeriod = des.MinAlignmentPeriod
- }
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsSlice(des, initial []DashboardGridLayoutWidgetsXyChartDataSets, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsXyChartDataSets {
- if des == nil {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSets, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartDataSets(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSets, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartDataSets(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSets(c *Client, des, nw *DashboardGridLayoutWidgetsXyChartDataSets) *DashboardGridLayoutWidgetsXyChartDataSets {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsXyChartDataSets while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.TimeSeriesQuery = canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery(c, des.TimeSeriesQuery, nw.TimeSeriesQuery)
- if dcl.StringCanonicalize(des.LegendTemplate, nw.LegendTemplate) {
- nw.LegendTemplate = des.LegendTemplate
- }
- if dcl.StringCanonicalize(des.MinAlignmentPeriod, nw.MinAlignmentPeriod) {
- nw.MinAlignmentPeriod = des.MinAlignmentPeriod
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsSet(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartDataSets) []DashboardGridLayoutWidgetsXyChartDataSets {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsXyChartDataSets
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsXyChartDataSetsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSets(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsSlice(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartDataSets) []DashboardGridLayoutWidgetsXyChartDataSets {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsXyChartDataSets
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSets(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery(des, initial *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery{}
-
- cDes.TimeSeriesFilter = canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(des.TimeSeriesFilter, initial.TimeSeriesFilter, opts...)
- cDes.TimeSeriesFilterRatio = canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(des.TimeSeriesFilterRatio, initial.TimeSeriesFilterRatio, opts...)
- if dcl.StringCanonicalize(des.TimeSeriesQueryLanguage, initial.TimeSeriesQueryLanguage) || dcl.IsZeroValue(des.TimeSeriesQueryLanguage) {
- cDes.TimeSeriesQueryLanguage = initial.TimeSeriesQueryLanguage
- } else {
- cDes.TimeSeriesQueryLanguage = des.TimeSeriesQueryLanguage
- }
- if dcl.StringCanonicalize(des.UnitOverride, initial.UnitOverride) || dcl.IsZeroValue(des.UnitOverride) {
- cDes.UnitOverride = initial.UnitOverride
- } else {
- cDes.UnitOverride = des.UnitOverride
- }
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuerySlice(des, initial []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery(c *Client, des, nw *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.TimeSeriesFilter = canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, des.TimeSeriesFilter, nw.TimeSeriesFilter)
- nw.TimeSeriesFilterRatio = canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, des.TimeSeriesFilterRatio, nw.TimeSeriesFilterRatio)
- if dcl.StringCanonicalize(des.TimeSeriesQueryLanguage, nw.TimeSeriesQueryLanguage) {
- nw.TimeSeriesQueryLanguage = des.TimeSeriesQueryLanguage
- }
- if dcl.StringCanonicalize(des.UnitOverride, nw.UnitOverride) {
- nw.UnitOverride = des.UnitOverride
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuerySet(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuerySlice(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(des, initial *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
-
- if dcl.StringCanonicalize(des.Filter, initial.Filter) || dcl.IsZeroValue(des.Filter) {
- cDes.Filter = initial.Filter
- } else {
- cDes.Filter = des.Filter
- }
- cDes.Aggregation = canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(des.Aggregation, initial.Aggregation, opts...)
- cDes.SecondaryAggregation = canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(des.SecondaryAggregation, initial.SecondaryAggregation, opts...)
- cDes.PickTimeSeriesFilter = canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(des.PickTimeSeriesFilter, initial.PickTimeSeriesFilter, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSlice(des, initial []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c *Client, des, nw *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Filter, nw.Filter) {
- nw.Filter = des.Filter
- }
- nw.Aggregation = canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, des.Aggregation, nw.Aggregation)
- nw.SecondaryAggregation = canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, des.SecondaryAggregation, nw.SecondaryAggregation)
- nw.PickTimeSeriesFilter = canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, des.PickTimeSeriesFilter, nw.PickTimeSeriesFilter)
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSet(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSlice(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(des, initial *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationSlice(des, initial []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c *Client, des, nw *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationSet(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationSlice(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(des, initial *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(des, initial []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c *Client, des, nw *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSet(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(des, initial *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
-
- if dcl.IsZeroValue(des.RankingMethod) || (dcl.IsEmptyValueIndirect(des.RankingMethod) && dcl.IsEmptyValueIndirect(initial.RankingMethod)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.RankingMethod = initial.RankingMethod
- } else {
- cDes.RankingMethod = des.RankingMethod
- }
- if dcl.IsZeroValue(des.NumTimeSeries) || (dcl.IsEmptyValueIndirect(des.NumTimeSeries) && dcl.IsEmptyValueIndirect(initial.NumTimeSeries)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.NumTimeSeries = initial.NumTimeSeries
- } else {
- cDes.NumTimeSeries = des.NumTimeSeries
- }
- if dcl.IsZeroValue(des.Direction) || (dcl.IsEmptyValueIndirect(des.Direction) && dcl.IsEmptyValueIndirect(initial.Direction)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Direction = initial.Direction
- } else {
- cDes.Direction = des.Direction
- }
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(des, initial []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c *Client, des, nw *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSet(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(des, initial *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
-
- cDes.Numerator = canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(des.Numerator, initial.Numerator, opts...)
- cDes.Denominator = canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(des.Denominator, initial.Denominator, opts...)
- cDes.SecondaryAggregation = canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(des.SecondaryAggregation, initial.SecondaryAggregation, opts...)
- cDes.PickTimeSeriesFilter = canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(des.PickTimeSeriesFilter, initial.PickTimeSeriesFilter, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSlice(des, initial []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c *Client, des, nw *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.Numerator = canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, des.Numerator, nw.Numerator)
- nw.Denominator = canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, des.Denominator, nw.Denominator)
- nw.SecondaryAggregation = canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, des.SecondaryAggregation, nw.SecondaryAggregation)
- nw.PickTimeSeriesFilter = canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, des.PickTimeSeriesFilter, nw.PickTimeSeriesFilter)
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSet(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSlice(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(des, initial *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
-
- if dcl.StringCanonicalize(des.Filter, initial.Filter) || dcl.IsZeroValue(des.Filter) {
- cDes.Filter = initial.Filter
- } else {
- cDes.Filter = des.Filter
- }
- cDes.Aggregation = canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(des.Aggregation, initial.Aggregation, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(des, initial []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c *Client, des, nw *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Filter, nw.Filter) {
- nw.Filter = des.Filter
- }
- nw.Aggregation = canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, des.Aggregation, nw.Aggregation)
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorSet(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(des, initial *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(des, initial []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c *Client, des, nw *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSet(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(des, initial *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
-
- if dcl.StringCanonicalize(des.Filter, initial.Filter) || dcl.IsZeroValue(des.Filter) {
- cDes.Filter = initial.Filter
- } else {
- cDes.Filter = des.Filter
- }
- cDes.Aggregation = canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(des.Aggregation, initial.Aggregation, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(des, initial []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c *Client, des, nw *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Filter, nw.Filter) {
- nw.Filter = des.Filter
- }
- nw.Aggregation = canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, des.Aggregation, nw.Aggregation)
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorSet(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(des, initial *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(des, initial []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c *Client, des, nw *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSet(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(des, initial *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(des, initial []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c *Client, des, nw *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSet(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(des, initial *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
-
- if dcl.IsZeroValue(des.RankingMethod) || (dcl.IsEmptyValueIndirect(des.RankingMethod) && dcl.IsEmptyValueIndirect(initial.RankingMethod)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.RankingMethod = initial.RankingMethod
- } else {
- cDes.RankingMethod = des.RankingMethod
- }
- if dcl.IsZeroValue(des.NumTimeSeries) || (dcl.IsEmptyValueIndirect(des.NumTimeSeries) && dcl.IsEmptyValueIndirect(initial.NumTimeSeries)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.NumTimeSeries = initial.NumTimeSeries
- } else {
- cDes.NumTimeSeries = des.NumTimeSeries
- }
- if dcl.IsZeroValue(des.Direction) || (dcl.IsEmptyValueIndirect(des.Direction) && dcl.IsEmptyValueIndirect(initial.Direction)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Direction = initial.Direction
- } else {
- cDes.Direction = des.Direction
- }
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(des, initial []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c *Client, des, nw *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSet(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartThresholds(des, initial *DashboardGridLayoutWidgetsXyChartThresholds, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsXyChartThresholds {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsXyChartThresholds{}
-
- if dcl.StringCanonicalize(des.Label, initial.Label) || dcl.IsZeroValue(des.Label) {
- cDes.Label = initial.Label
- } else {
- cDes.Label = des.Label
- }
- if dcl.IsZeroValue(des.Value) || (dcl.IsEmptyValueIndirect(des.Value) && dcl.IsEmptyValueIndirect(initial.Value)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Value = initial.Value
- } else {
- cDes.Value = des.Value
- }
- if dcl.IsZeroValue(des.Color) || (dcl.IsEmptyValueIndirect(des.Color) && dcl.IsEmptyValueIndirect(initial.Color)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Color = initial.Color
- } else {
- cDes.Color = des.Color
- }
- if dcl.IsZeroValue(des.Direction) || (dcl.IsEmptyValueIndirect(des.Direction) && dcl.IsEmptyValueIndirect(initial.Direction)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Direction = initial.Direction
- } else {
- cDes.Direction = des.Direction
- }
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartThresholdsSlice(des, initial []DashboardGridLayoutWidgetsXyChartThresholds, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsXyChartThresholds {
- if des == nil {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsXyChartThresholds, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartThresholds(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartThresholds, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartThresholds(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartThresholds(c *Client, des, nw *DashboardGridLayoutWidgetsXyChartThresholds) *DashboardGridLayoutWidgetsXyChartThresholds {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsXyChartThresholds while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Label, nw.Label) {
- nw.Label = des.Label
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartThresholdsSet(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartThresholds) []DashboardGridLayoutWidgetsXyChartThresholds {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsXyChartThresholds
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsXyChartThresholdsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartThresholds(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartThresholdsSlice(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartThresholds) []DashboardGridLayoutWidgetsXyChartThresholds {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsXyChartThresholds
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartThresholds(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartXAxis(des, initial *DashboardGridLayoutWidgetsXyChartXAxis, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsXyChartXAxis {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsXyChartXAxis{}
-
- if dcl.StringCanonicalize(des.Label, initial.Label) || dcl.IsZeroValue(des.Label) {
- cDes.Label = initial.Label
- } else {
- cDes.Label = des.Label
- }
- if dcl.IsZeroValue(des.Scale) || (dcl.IsEmptyValueIndirect(des.Scale) && dcl.IsEmptyValueIndirect(initial.Scale)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Scale = initial.Scale
- } else {
- cDes.Scale = des.Scale
- }
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartXAxisSlice(des, initial []DashboardGridLayoutWidgetsXyChartXAxis, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsXyChartXAxis {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsXyChartXAxis, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartXAxis(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartXAxis, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartXAxis(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartXAxis(c *Client, des, nw *DashboardGridLayoutWidgetsXyChartXAxis) *DashboardGridLayoutWidgetsXyChartXAxis {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsXyChartXAxis while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Label, nw.Label) {
- nw.Label = des.Label
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartXAxisSet(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartXAxis) []DashboardGridLayoutWidgetsXyChartXAxis {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsXyChartXAxis
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsXyChartXAxisNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartXAxis(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartXAxisSlice(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartXAxis) []DashboardGridLayoutWidgetsXyChartXAxis {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsXyChartXAxis
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartXAxis(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartYAxis(des, initial *DashboardGridLayoutWidgetsXyChartYAxis, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsXyChartYAxis {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsXyChartYAxis{}
-
- if dcl.StringCanonicalize(des.Label, initial.Label) || dcl.IsZeroValue(des.Label) {
- cDes.Label = initial.Label
- } else {
- cDes.Label = des.Label
- }
- if dcl.IsZeroValue(des.Scale) || (dcl.IsEmptyValueIndirect(des.Scale) && dcl.IsEmptyValueIndirect(initial.Scale)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Scale = initial.Scale
- } else {
- cDes.Scale = des.Scale
- }
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartYAxisSlice(des, initial []DashboardGridLayoutWidgetsXyChartYAxis, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsXyChartYAxis {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsXyChartYAxis, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartYAxis(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartYAxis, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartYAxis(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartYAxis(c *Client, des, nw *DashboardGridLayoutWidgetsXyChartYAxis) *DashboardGridLayoutWidgetsXyChartYAxis {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsXyChartYAxis while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Label, nw.Label) {
- nw.Label = des.Label
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartYAxisSet(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartYAxis) []DashboardGridLayoutWidgetsXyChartYAxis {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsXyChartYAxis
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsXyChartYAxisNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartYAxis(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartYAxisSlice(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartYAxis) []DashboardGridLayoutWidgetsXyChartYAxis {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsXyChartYAxis
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartYAxis(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartChartOptions(des, initial *DashboardGridLayoutWidgetsXyChartChartOptions, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsXyChartChartOptions {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsXyChartChartOptions{}
-
- if dcl.IsZeroValue(des.Mode) || (dcl.IsEmptyValueIndirect(des.Mode) && dcl.IsEmptyValueIndirect(initial.Mode)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Mode = initial.Mode
- } else {
- cDes.Mode = des.Mode
- }
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsXyChartChartOptionsSlice(des, initial []DashboardGridLayoutWidgetsXyChartChartOptions, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsXyChartChartOptions {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsXyChartChartOptions, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartChartOptions(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartChartOptions, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsXyChartChartOptions(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartChartOptions(c *Client, des, nw *DashboardGridLayoutWidgetsXyChartChartOptions) *DashboardGridLayoutWidgetsXyChartChartOptions {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsXyChartChartOptions while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartChartOptionsSet(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartChartOptions) []DashboardGridLayoutWidgetsXyChartChartOptions {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsXyChartChartOptions
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsXyChartChartOptionsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartChartOptions(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsXyChartChartOptionsSlice(c *Client, des, nw []DashboardGridLayoutWidgetsXyChartChartOptions) []DashboardGridLayoutWidgetsXyChartChartOptions {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsXyChartChartOptions
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsXyChartChartOptions(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecard(des, initial *DashboardGridLayoutWidgetsScorecard, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsScorecard {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsScorecard{}
-
- cDes.TimeSeriesQuery = canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQuery(des.TimeSeriesQuery, initial.TimeSeriesQuery, opts...)
- cDes.GaugeView = canonicalizeDashboardGridLayoutWidgetsScorecardGaugeView(des.GaugeView, initial.GaugeView, opts...)
- cDes.SparkChartView = canonicalizeDashboardGridLayoutWidgetsScorecardSparkChartView(des.SparkChartView, initial.SparkChartView, opts...)
- cDes.Thresholds = canonicalizeDashboardGridLayoutWidgetsScorecardThresholdsSlice(des.Thresholds, initial.Thresholds, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecardSlice(des, initial []DashboardGridLayoutWidgetsScorecard, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsScorecard {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsScorecard, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecard(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecard, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecard(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecard(c *Client, des, nw *DashboardGridLayoutWidgetsScorecard) *DashboardGridLayoutWidgetsScorecard {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsScorecard while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.TimeSeriesQuery = canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQuery(c, des.TimeSeriesQuery, nw.TimeSeriesQuery)
- nw.GaugeView = canonicalizeNewDashboardGridLayoutWidgetsScorecardGaugeView(c, des.GaugeView, nw.GaugeView)
- nw.SparkChartView = canonicalizeNewDashboardGridLayoutWidgetsScorecardSparkChartView(c, des.SparkChartView, nw.SparkChartView)
- nw.Thresholds = canonicalizeNewDashboardGridLayoutWidgetsScorecardThresholdsSlice(c, des.Thresholds, nw.Thresholds)
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardSet(c *Client, des, nw []DashboardGridLayoutWidgetsScorecard) []DashboardGridLayoutWidgetsScorecard {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsScorecard
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsScorecardNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecard(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardSlice(c *Client, des, nw []DashboardGridLayoutWidgetsScorecard) []DashboardGridLayoutWidgetsScorecard {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsScorecard
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecard(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQuery(des, initial *DashboardGridLayoutWidgetsScorecardTimeSeriesQuery, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsScorecardTimeSeriesQuery {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsScorecardTimeSeriesQuery{}
-
- cDes.TimeSeriesFilter = canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(des.TimeSeriesFilter, initial.TimeSeriesFilter, opts...)
- cDes.TimeSeriesFilterRatio = canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(des.TimeSeriesFilterRatio, initial.TimeSeriesFilterRatio, opts...)
- if dcl.StringCanonicalize(des.TimeSeriesQueryLanguage, initial.TimeSeriesQueryLanguage) || dcl.IsZeroValue(des.TimeSeriesQueryLanguage) {
- cDes.TimeSeriesQueryLanguage = initial.TimeSeriesQueryLanguage
- } else {
- cDes.TimeSeriesQueryLanguage = des.TimeSeriesQueryLanguage
- }
- if dcl.StringCanonicalize(des.UnitOverride, initial.UnitOverride) || dcl.IsZeroValue(des.UnitOverride) {
- cDes.UnitOverride = initial.UnitOverride
- } else {
- cDes.UnitOverride = des.UnitOverride
- }
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQuerySlice(des, initial []DashboardGridLayoutWidgetsScorecardTimeSeriesQuery, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsScorecardTimeSeriesQuery {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQuery, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQuery(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQuery, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQuery(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQuery(c *Client, des, nw *DashboardGridLayoutWidgetsScorecardTimeSeriesQuery) *DashboardGridLayoutWidgetsScorecardTimeSeriesQuery {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsScorecardTimeSeriesQuery while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.TimeSeriesFilter = canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c, des.TimeSeriesFilter, nw.TimeSeriesFilter)
- nw.TimeSeriesFilterRatio = canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, des.TimeSeriesFilterRatio, nw.TimeSeriesFilterRatio)
- if dcl.StringCanonicalize(des.TimeSeriesQueryLanguage, nw.TimeSeriesQueryLanguage) {
- nw.TimeSeriesQueryLanguage = des.TimeSeriesQueryLanguage
- }
- if dcl.StringCanonicalize(des.UnitOverride, nw.UnitOverride) {
- nw.UnitOverride = des.UnitOverride
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQuerySet(c *Client, des, nw []DashboardGridLayoutWidgetsScorecardTimeSeriesQuery) []DashboardGridLayoutWidgetsScorecardTimeSeriesQuery {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsScorecardTimeSeriesQuery
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQuery(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQuerySlice(c *Client, des, nw []DashboardGridLayoutWidgetsScorecardTimeSeriesQuery) []DashboardGridLayoutWidgetsScorecardTimeSeriesQuery {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsScorecardTimeSeriesQuery
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQuery(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(des, initial *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter{}
-
- if dcl.StringCanonicalize(des.Filter, initial.Filter) || dcl.IsZeroValue(des.Filter) {
- cDes.Filter = initial.Filter
- } else {
- cDes.Filter = des.Filter
- }
- cDes.Aggregation = canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(des.Aggregation, initial.Aggregation, opts...)
- cDes.SecondaryAggregation = canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(des.SecondaryAggregation, initial.SecondaryAggregation, opts...)
- cDes.PickTimeSeriesFilter = canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(des.PickTimeSeriesFilter, initial.PickTimeSeriesFilter, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSlice(des, initial []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c *Client, des, nw *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Filter, nw.Filter) {
- nw.Filter = des.Filter
- }
- nw.Aggregation = canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, des.Aggregation, nw.Aggregation)
- nw.SecondaryAggregation = canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, des.SecondaryAggregation, nw.SecondaryAggregation)
- nw.PickTimeSeriesFilter = canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, des.PickTimeSeriesFilter, nw.PickTimeSeriesFilter)
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSet(c *Client, des, nw []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSlice(c *Client, des, nw []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(des, initial *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationSlice(des, initial []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c *Client, des, nw *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationSet(c *Client, des, nw []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationSlice(c *Client, des, nw []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(des, initial *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(des, initial []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c *Client, des, nw *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSet(c *Client, des, nw []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(c *Client, des, nw []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(des, initial *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
-
- if dcl.IsZeroValue(des.RankingMethod) || (dcl.IsEmptyValueIndirect(des.RankingMethod) && dcl.IsEmptyValueIndirect(initial.RankingMethod)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.RankingMethod = initial.RankingMethod
- } else {
- cDes.RankingMethod = des.RankingMethod
- }
- if dcl.IsZeroValue(des.NumTimeSeries) || (dcl.IsEmptyValueIndirect(des.NumTimeSeries) && dcl.IsEmptyValueIndirect(initial.NumTimeSeries)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.NumTimeSeries = initial.NumTimeSeries
- } else {
- cDes.NumTimeSeries = des.NumTimeSeries
- }
- if dcl.IsZeroValue(des.Direction) || (dcl.IsEmptyValueIndirect(des.Direction) && dcl.IsEmptyValueIndirect(initial.Direction)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Direction = initial.Direction
- } else {
- cDes.Direction = des.Direction
- }
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(des, initial []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c *Client, des, nw *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSet(c *Client, des, nw []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(c *Client, des, nw []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(des, initial *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
-
- cDes.Numerator = canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(des.Numerator, initial.Numerator, opts...)
- cDes.Denominator = canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(des.Denominator, initial.Denominator, opts...)
- cDes.SecondaryAggregation = canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(des.SecondaryAggregation, initial.SecondaryAggregation, opts...)
- cDes.PickTimeSeriesFilter = canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(des.PickTimeSeriesFilter, initial.PickTimeSeriesFilter, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSlice(des, initial []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c *Client, des, nw *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.Numerator = canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, des.Numerator, nw.Numerator)
- nw.Denominator = canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, des.Denominator, nw.Denominator)
- nw.SecondaryAggregation = canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, des.SecondaryAggregation, nw.SecondaryAggregation)
- nw.PickTimeSeriesFilter = canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, des.PickTimeSeriesFilter, nw.PickTimeSeriesFilter)
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSet(c *Client, des, nw []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSlice(c *Client, des, nw []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(des, initial *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
-
- if dcl.StringCanonicalize(des.Filter, initial.Filter) || dcl.IsZeroValue(des.Filter) {
- cDes.Filter = initial.Filter
- } else {
- cDes.Filter = des.Filter
- }
- cDes.Aggregation = canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(des.Aggregation, initial.Aggregation, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(des, initial []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c *Client, des, nw *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Filter, nw.Filter) {
- nw.Filter = des.Filter
- }
- nw.Aggregation = canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, des.Aggregation, nw.Aggregation)
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorSet(c *Client, des, nw []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(c *Client, des, nw []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(des, initial *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(des, initial []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c *Client, des, nw *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSet(c *Client, des, nw []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(c *Client, des, nw []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(des, initial *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
-
- if dcl.StringCanonicalize(des.Filter, initial.Filter) || dcl.IsZeroValue(des.Filter) {
- cDes.Filter = initial.Filter
- } else {
- cDes.Filter = des.Filter
- }
- cDes.Aggregation = canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(des.Aggregation, initial.Aggregation, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(des, initial []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c *Client, des, nw *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Filter, nw.Filter) {
- nw.Filter = des.Filter
- }
- nw.Aggregation = canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, des.Aggregation, nw.Aggregation)
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorSet(c *Client, des, nw []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(c *Client, des, nw []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(des, initial *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(des, initial []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c *Client, des, nw *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSet(c *Client, des, nw []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(c *Client, des, nw []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(des, initial *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(des, initial []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c *Client, des, nw *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSet(c *Client, des, nw []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(c *Client, des, nw []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(des, initial *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
-
- if dcl.IsZeroValue(des.RankingMethod) || (dcl.IsEmptyValueIndirect(des.RankingMethod) && dcl.IsEmptyValueIndirect(initial.RankingMethod)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.RankingMethod = initial.RankingMethod
- } else {
- cDes.RankingMethod = des.RankingMethod
- }
- if dcl.IsZeroValue(des.NumTimeSeries) || (dcl.IsEmptyValueIndirect(des.NumTimeSeries) && dcl.IsEmptyValueIndirect(initial.NumTimeSeries)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.NumTimeSeries = initial.NumTimeSeries
- } else {
- cDes.NumTimeSeries = des.NumTimeSeries
- }
- if dcl.IsZeroValue(des.Direction) || (dcl.IsEmptyValueIndirect(des.Direction) && dcl.IsEmptyValueIndirect(initial.Direction)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Direction = initial.Direction
- } else {
- cDes.Direction = des.Direction
- }
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(des, initial []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c *Client, des, nw *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSet(c *Client, des, nw []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(c *Client, des, nw []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecardGaugeView(des, initial *DashboardGridLayoutWidgetsScorecardGaugeView, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsScorecardGaugeView {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsScorecardGaugeView{}
-
- if dcl.IsZeroValue(des.LowerBound) || (dcl.IsEmptyValueIndirect(des.LowerBound) && dcl.IsEmptyValueIndirect(initial.LowerBound)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.LowerBound = initial.LowerBound
- } else {
- cDes.LowerBound = des.LowerBound
- }
- if dcl.IsZeroValue(des.UpperBound) || (dcl.IsEmptyValueIndirect(des.UpperBound) && dcl.IsEmptyValueIndirect(initial.UpperBound)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.UpperBound = initial.UpperBound
- } else {
- cDes.UpperBound = des.UpperBound
- }
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecardGaugeViewSlice(des, initial []DashboardGridLayoutWidgetsScorecardGaugeView, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsScorecardGaugeView {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsScorecardGaugeView, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecardGaugeView(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardGaugeView, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecardGaugeView(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardGaugeView(c *Client, des, nw *DashboardGridLayoutWidgetsScorecardGaugeView) *DashboardGridLayoutWidgetsScorecardGaugeView {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsScorecardGaugeView while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardGaugeViewSet(c *Client, des, nw []DashboardGridLayoutWidgetsScorecardGaugeView) []DashboardGridLayoutWidgetsScorecardGaugeView {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsScorecardGaugeView
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsScorecardGaugeViewNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecardGaugeView(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardGaugeViewSlice(c *Client, des, nw []DashboardGridLayoutWidgetsScorecardGaugeView) []DashboardGridLayoutWidgetsScorecardGaugeView {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsScorecardGaugeView
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecardGaugeView(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecardSparkChartView(des, initial *DashboardGridLayoutWidgetsScorecardSparkChartView, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsScorecardSparkChartView {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsScorecardSparkChartView{}
-
- if dcl.IsZeroValue(des.SparkChartType) || (dcl.IsEmptyValueIndirect(des.SparkChartType) && dcl.IsEmptyValueIndirect(initial.SparkChartType)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.SparkChartType = initial.SparkChartType
- } else {
- cDes.SparkChartType = des.SparkChartType
- }
- if dcl.StringCanonicalize(des.MinAlignmentPeriod, initial.MinAlignmentPeriod) || dcl.IsZeroValue(des.MinAlignmentPeriod) {
- cDes.MinAlignmentPeriod = initial.MinAlignmentPeriod
- } else {
- cDes.MinAlignmentPeriod = des.MinAlignmentPeriod
- }
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecardSparkChartViewSlice(des, initial []DashboardGridLayoutWidgetsScorecardSparkChartView, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsScorecardSparkChartView {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsScorecardSparkChartView, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecardSparkChartView(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardSparkChartView, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecardSparkChartView(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardSparkChartView(c *Client, des, nw *DashboardGridLayoutWidgetsScorecardSparkChartView) *DashboardGridLayoutWidgetsScorecardSparkChartView {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsScorecardSparkChartView while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.MinAlignmentPeriod, nw.MinAlignmentPeriod) {
- nw.MinAlignmentPeriod = des.MinAlignmentPeriod
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardSparkChartViewSet(c *Client, des, nw []DashboardGridLayoutWidgetsScorecardSparkChartView) []DashboardGridLayoutWidgetsScorecardSparkChartView {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsScorecardSparkChartView
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsScorecardSparkChartViewNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecardSparkChartView(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardSparkChartViewSlice(c *Client, des, nw []DashboardGridLayoutWidgetsScorecardSparkChartView) []DashboardGridLayoutWidgetsScorecardSparkChartView {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsScorecardSparkChartView
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecardSparkChartView(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecardThresholds(des, initial *DashboardGridLayoutWidgetsScorecardThresholds, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsScorecardThresholds {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsScorecardThresholds{}
-
- if dcl.StringCanonicalize(des.Label, initial.Label) || dcl.IsZeroValue(des.Label) {
- cDes.Label = initial.Label
- } else {
- cDes.Label = des.Label
- }
- if dcl.IsZeroValue(des.Value) || (dcl.IsEmptyValueIndirect(des.Value) && dcl.IsEmptyValueIndirect(initial.Value)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Value = initial.Value
- } else {
- cDes.Value = des.Value
- }
- if dcl.IsZeroValue(des.Color) || (dcl.IsEmptyValueIndirect(des.Color) && dcl.IsEmptyValueIndirect(initial.Color)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Color = initial.Color
- } else {
- cDes.Color = des.Color
- }
- if dcl.IsZeroValue(des.Direction) || (dcl.IsEmptyValueIndirect(des.Direction) && dcl.IsEmptyValueIndirect(initial.Direction)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Direction = initial.Direction
- } else {
- cDes.Direction = des.Direction
- }
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsScorecardThresholdsSlice(des, initial []DashboardGridLayoutWidgetsScorecardThresholds, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsScorecardThresholds {
- if des == nil {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsScorecardThresholds, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecardThresholds(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardThresholds, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsScorecardThresholds(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardThresholds(c *Client, des, nw *DashboardGridLayoutWidgetsScorecardThresholds) *DashboardGridLayoutWidgetsScorecardThresholds {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsScorecardThresholds while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Label, nw.Label) {
- nw.Label = des.Label
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardThresholdsSet(c *Client, des, nw []DashboardGridLayoutWidgetsScorecardThresholds) []DashboardGridLayoutWidgetsScorecardThresholds {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsScorecardThresholds
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsScorecardThresholdsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecardThresholds(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsScorecardThresholdsSlice(c *Client, des, nw []DashboardGridLayoutWidgetsScorecardThresholds) []DashboardGridLayoutWidgetsScorecardThresholds {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsScorecardThresholds
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsScorecardThresholds(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsText(des, initial *DashboardGridLayoutWidgetsText, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsText {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsText{}
-
- if dcl.StringCanonicalize(des.Content, initial.Content) || dcl.IsZeroValue(des.Content) {
- cDes.Content = initial.Content
- } else {
- cDes.Content = des.Content
- }
- if dcl.IsZeroValue(des.Format) || (dcl.IsEmptyValueIndirect(des.Format) && dcl.IsEmptyValueIndirect(initial.Format)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Format = initial.Format
- } else {
- cDes.Format = des.Format
- }
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsTextSlice(des, initial []DashboardGridLayoutWidgetsText, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsText {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsText, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsText(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsText, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsText(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsText(c *Client, des, nw *DashboardGridLayoutWidgetsText) *DashboardGridLayoutWidgetsText {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsText while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Content, nw.Content) {
- nw.Content = des.Content
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsTextSet(c *Client, des, nw []DashboardGridLayoutWidgetsText) []DashboardGridLayoutWidgetsText {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsText
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsTextNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsText(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsTextSlice(c *Client, des, nw []DashboardGridLayoutWidgetsText) []DashboardGridLayoutWidgetsText {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsText
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsText(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsBlank(des, initial *DashboardGridLayoutWidgetsBlank, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsBlank {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsBlank{}
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsBlankSlice(des, initial []DashboardGridLayoutWidgetsBlank, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsBlank {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsBlank, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsBlank(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsBlank, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsBlank(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsBlank(c *Client, des, nw *DashboardGridLayoutWidgetsBlank) *DashboardGridLayoutWidgetsBlank {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsBlank while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsBlankSet(c *Client, des, nw []DashboardGridLayoutWidgetsBlank) []DashboardGridLayoutWidgetsBlank {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsBlank
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsBlankNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsBlank(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsBlankSlice(c *Client, des, nw []DashboardGridLayoutWidgetsBlank) []DashboardGridLayoutWidgetsBlank {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsBlank
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsBlank(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardGridLayoutWidgetsLogsPanel(des, initial *DashboardGridLayoutWidgetsLogsPanel, opts ...dcl.ApplyOption) *DashboardGridLayoutWidgetsLogsPanel {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardGridLayoutWidgetsLogsPanel{}
-
- if dcl.StringCanonicalize(des.Filter, initial.Filter) || dcl.IsZeroValue(des.Filter) {
- cDes.Filter = initial.Filter
- } else {
- cDes.Filter = des.Filter
- }
- if dcl.StringArrayCanonicalize(des.ResourceNames, initial.ResourceNames) {
- cDes.ResourceNames = initial.ResourceNames
- } else {
- cDes.ResourceNames = des.ResourceNames
- }
-
- return cDes
-}
-
-func canonicalizeDashboardGridLayoutWidgetsLogsPanelSlice(des, initial []DashboardGridLayoutWidgetsLogsPanel, opts ...dcl.ApplyOption) []DashboardGridLayoutWidgetsLogsPanel {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardGridLayoutWidgetsLogsPanel, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsLogsPanel(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardGridLayoutWidgetsLogsPanel, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardGridLayoutWidgetsLogsPanel(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsLogsPanel(c *Client, des, nw *DashboardGridLayoutWidgetsLogsPanel) *DashboardGridLayoutWidgetsLogsPanel {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardGridLayoutWidgetsLogsPanel while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Filter, nw.Filter) {
- nw.Filter = des.Filter
- }
- if dcl.StringArrayCanonicalize(des.ResourceNames, nw.ResourceNames) {
- nw.ResourceNames = des.ResourceNames
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsLogsPanelSet(c *Client, des, nw []DashboardGridLayoutWidgetsLogsPanel) []DashboardGridLayoutWidgetsLogsPanel {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardGridLayoutWidgetsLogsPanel
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardGridLayoutWidgetsLogsPanelNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsLogsPanel(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardGridLayoutWidgetsLogsPanelSlice(c *Client, des, nw []DashboardGridLayoutWidgetsLogsPanel) []DashboardGridLayoutWidgetsLogsPanel {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardGridLayoutWidgetsLogsPanel
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardGridLayoutWidgetsLogsPanel(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayout(des, initial *DashboardMosaicLayout, opts ...dcl.ApplyOption) *DashboardMosaicLayout {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayout{}
-
- if dcl.IsZeroValue(des.Columns) || (dcl.IsEmptyValueIndirect(des.Columns) && dcl.IsEmptyValueIndirect(initial.Columns)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Columns = initial.Columns
- } else {
- cDes.Columns = des.Columns
- }
- cDes.Tiles = canonicalizeDashboardMosaicLayoutTilesSlice(des.Tiles, initial.Tiles, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutSlice(des, initial []DashboardMosaicLayout, opts ...dcl.ApplyOption) []DashboardMosaicLayout {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayout, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayout(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayout, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayout(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayout(c *Client, des, nw *DashboardMosaicLayout) *DashboardMosaicLayout {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayout while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.Tiles = canonicalizeNewDashboardMosaicLayoutTilesSlice(c, des.Tiles, nw.Tiles)
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutSet(c *Client, des, nw []DashboardMosaicLayout) []DashboardMosaicLayout {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayout
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayout(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutSlice(c *Client, des, nw []DashboardMosaicLayout) []DashboardMosaicLayout {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayout
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayout(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTiles(des, initial *DashboardMosaicLayoutTiles, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTiles {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTiles{}
-
- if dcl.IsZeroValue(des.XPos) || (dcl.IsEmptyValueIndirect(des.XPos) && dcl.IsEmptyValueIndirect(initial.XPos)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.XPos = initial.XPos
- } else {
- cDes.XPos = des.XPos
- }
- if dcl.IsZeroValue(des.YPos) || (dcl.IsEmptyValueIndirect(des.YPos) && dcl.IsEmptyValueIndirect(initial.YPos)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.YPos = initial.YPos
- } else {
- cDes.YPos = des.YPos
- }
- if dcl.IsZeroValue(des.Width) || (dcl.IsEmptyValueIndirect(des.Width) && dcl.IsEmptyValueIndirect(initial.Width)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Width = initial.Width
- } else {
- cDes.Width = des.Width
- }
- if dcl.IsZeroValue(des.Height) || (dcl.IsEmptyValueIndirect(des.Height) && dcl.IsEmptyValueIndirect(initial.Height)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Height = initial.Height
- } else {
- cDes.Height = des.Height
- }
- cDes.Widget = canonicalizeDashboardMosaicLayoutTilesWidget(des.Widget, initial.Widget, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesSlice(des, initial []DashboardMosaicLayoutTiles, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTiles {
- if des == nil {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTiles, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTiles(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTiles, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTiles(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTiles(c *Client, des, nw *DashboardMosaicLayoutTiles) *DashboardMosaicLayoutTiles {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTiles while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.Widget = canonicalizeNewDashboardMosaicLayoutTilesWidget(c, des.Widget, nw.Widget)
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesSet(c *Client, des, nw []DashboardMosaicLayoutTiles) []DashboardMosaicLayoutTiles {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTiles
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTiles(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesSlice(c *Client, des, nw []DashboardMosaicLayoutTiles) []DashboardMosaicLayoutTiles {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTiles
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTiles(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidget(des, initial *DashboardMosaicLayoutTilesWidget, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidget {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if des.XyChart != nil || (initial != nil && initial.XyChart != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Scorecard, des.Text, des.Blank, des.LogsPanel) {
- des.XyChart = nil
- if initial != nil {
- initial.XyChart = nil
- }
- }
- }
-
- if des.Scorecard != nil || (initial != nil && initial.Scorecard != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.XyChart, des.Text, des.Blank, des.LogsPanel) {
- des.Scorecard = nil
- if initial != nil {
- initial.Scorecard = nil
- }
- }
- }
-
- if des.Text != nil || (initial != nil && initial.Text != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.XyChart, des.Scorecard, des.Blank, des.LogsPanel) {
- des.Text = nil
- if initial != nil {
- initial.Text = nil
- }
- }
- }
-
- if des.Blank != nil || (initial != nil && initial.Blank != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.XyChart, des.Scorecard, des.Text, des.LogsPanel) {
- des.Blank = nil
- if initial != nil {
- initial.Blank = nil
- }
- }
- }
-
- if des.LogsPanel != nil || (initial != nil && initial.LogsPanel != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.XyChart, des.Scorecard, des.Text, des.Blank) {
- des.LogsPanel = nil
- if initial != nil {
- initial.LogsPanel = nil
- }
- }
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidget{}
-
- if dcl.StringCanonicalize(des.Title, initial.Title) || dcl.IsZeroValue(des.Title) {
- cDes.Title = initial.Title
- } else {
- cDes.Title = des.Title
- }
- cDes.XyChart = canonicalizeDashboardMosaicLayoutTilesWidgetXyChart(des.XyChart, initial.XyChart, opts...)
- cDes.Scorecard = canonicalizeDashboardMosaicLayoutTilesWidgetScorecard(des.Scorecard, initial.Scorecard, opts...)
- cDes.Text = canonicalizeDashboardMosaicLayoutTilesWidgetText(des.Text, initial.Text, opts...)
- cDes.Blank = canonicalizeDashboardMosaicLayoutTilesWidgetBlank(des.Blank, initial.Blank, opts...)
- cDes.LogsPanel = canonicalizeDashboardMosaicLayoutTilesWidgetLogsPanel(des.LogsPanel, initial.LogsPanel, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetSlice(des, initial []DashboardMosaicLayoutTilesWidget, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidget {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidget, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidget(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidget, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidget(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidget(c *Client, des, nw *DashboardMosaicLayoutTilesWidget) *DashboardMosaicLayoutTilesWidget {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidget while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Title, nw.Title) {
- nw.Title = des.Title
- }
- nw.XyChart = canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChart(c, des.XyChart, nw.XyChart)
- nw.Scorecard = canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecard(c, des.Scorecard, nw.Scorecard)
- nw.Text = canonicalizeNewDashboardMosaicLayoutTilesWidgetText(c, des.Text, nw.Text)
- nw.Blank = canonicalizeNewDashboardMosaicLayoutTilesWidgetBlank(c, des.Blank, nw.Blank)
- nw.LogsPanel = canonicalizeNewDashboardMosaicLayoutTilesWidgetLogsPanel(c, des.LogsPanel, nw.LogsPanel)
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidget) []DashboardMosaicLayoutTilesWidget {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidget
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidget(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidget) []DashboardMosaicLayoutTilesWidget {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidget
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidget(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChart(des, initial *DashboardMosaicLayoutTilesWidgetXyChart, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetXyChart {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetXyChart{}
-
- cDes.DataSets = canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsSlice(des.DataSets, initial.DataSets, opts...)
- if dcl.StringCanonicalize(des.TimeshiftDuration, initial.TimeshiftDuration) || dcl.IsZeroValue(des.TimeshiftDuration) {
- cDes.TimeshiftDuration = initial.TimeshiftDuration
- } else {
- cDes.TimeshiftDuration = des.TimeshiftDuration
- }
- cDes.Thresholds = canonicalizeDashboardMosaicLayoutTilesWidgetXyChartThresholdsSlice(des.Thresholds, initial.Thresholds, opts...)
- cDes.XAxis = canonicalizeDashboardMosaicLayoutTilesWidgetXyChartXAxis(des.XAxis, initial.XAxis, opts...)
- cDes.YAxis = canonicalizeDashboardMosaicLayoutTilesWidgetXyChartYAxis(des.YAxis, initial.YAxis, opts...)
- cDes.ChartOptions = canonicalizeDashboardMosaicLayoutTilesWidgetXyChartChartOptions(des.ChartOptions, initial.ChartOptions, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartSlice(des, initial []DashboardMosaicLayoutTilesWidgetXyChart, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetXyChart {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChart, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChart(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChart, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChart(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChart(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetXyChart) *DashboardMosaicLayoutTilesWidgetXyChart {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetXyChart while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.DataSets = canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsSlice(c, des.DataSets, nw.DataSets)
- if dcl.StringCanonicalize(des.TimeshiftDuration, nw.TimeshiftDuration) {
- nw.TimeshiftDuration = des.TimeshiftDuration
- }
- nw.Thresholds = canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartThresholdsSlice(c, des.Thresholds, nw.Thresholds)
- nw.XAxis = canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartXAxis(c, des.XAxis, nw.XAxis)
- nw.YAxis = canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartYAxis(c, des.YAxis, nw.YAxis)
- nw.ChartOptions = canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartChartOptions(c, des.ChartOptions, nw.ChartOptions)
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChart) []DashboardMosaicLayoutTilesWidgetXyChart {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetXyChart
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetXyChartNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChart(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChart) []DashboardMosaicLayoutTilesWidgetXyChart {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetXyChart
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChart(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSets(des, initial *DashboardMosaicLayoutTilesWidgetXyChartDataSets, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetXyChartDataSets {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetXyChartDataSets{}
-
- cDes.TimeSeriesQuery = canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery(des.TimeSeriesQuery, initial.TimeSeriesQuery, opts...)
- if dcl.IsZeroValue(des.PlotType) || (dcl.IsEmptyValueIndirect(des.PlotType) && dcl.IsEmptyValueIndirect(initial.PlotType)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PlotType = initial.PlotType
- } else {
- cDes.PlotType = des.PlotType
- }
- if dcl.StringCanonicalize(des.LegendTemplate, initial.LegendTemplate) || dcl.IsZeroValue(des.LegendTemplate) {
- cDes.LegendTemplate = initial.LegendTemplate
- } else {
- cDes.LegendTemplate = des.LegendTemplate
- }
- if dcl.StringCanonicalize(des.MinAlignmentPeriod, initial.MinAlignmentPeriod) || dcl.IsZeroValue(des.MinAlignmentPeriod) {
- cDes.MinAlignmentPeriod = initial.MinAlignmentPeriod
- } else {
- cDes.MinAlignmentPeriod = des.MinAlignmentPeriod
- }
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsSlice(des, initial []DashboardMosaicLayoutTilesWidgetXyChartDataSets, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetXyChartDataSets {
- if des == nil {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSets, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSets(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSets, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSets(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSets(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetXyChartDataSets) *DashboardMosaicLayoutTilesWidgetXyChartDataSets {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetXyChartDataSets while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.TimeSeriesQuery = canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery(c, des.TimeSeriesQuery, nw.TimeSeriesQuery)
- if dcl.StringCanonicalize(des.LegendTemplate, nw.LegendTemplate) {
- nw.LegendTemplate = des.LegendTemplate
- }
- if dcl.StringCanonicalize(des.MinAlignmentPeriod, nw.MinAlignmentPeriod) {
- nw.MinAlignmentPeriod = des.MinAlignmentPeriod
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartDataSets) []DashboardMosaicLayoutTilesWidgetXyChartDataSets {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetXyChartDataSets
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSets(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartDataSets) []DashboardMosaicLayoutTilesWidgetXyChartDataSets {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetXyChartDataSets
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSets(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery(des, initial *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery{}
-
- cDes.TimeSeriesFilter = canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(des.TimeSeriesFilter, initial.TimeSeriesFilter, opts...)
- cDes.TimeSeriesFilterRatio = canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(des.TimeSeriesFilterRatio, initial.TimeSeriesFilterRatio, opts...)
- if dcl.StringCanonicalize(des.TimeSeriesQueryLanguage, initial.TimeSeriesQueryLanguage) || dcl.IsZeroValue(des.TimeSeriesQueryLanguage) {
- cDes.TimeSeriesQueryLanguage = initial.TimeSeriesQueryLanguage
- } else {
- cDes.TimeSeriesQueryLanguage = des.TimeSeriesQueryLanguage
- }
- if dcl.StringCanonicalize(des.UnitOverride, initial.UnitOverride) || dcl.IsZeroValue(des.UnitOverride) {
- cDes.UnitOverride = initial.UnitOverride
- } else {
- cDes.UnitOverride = des.UnitOverride
- }
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuerySlice(des, initial []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.TimeSeriesFilter = canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, des.TimeSeriesFilter, nw.TimeSeriesFilter)
- nw.TimeSeriesFilterRatio = canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, des.TimeSeriesFilterRatio, nw.TimeSeriesFilterRatio)
- if dcl.StringCanonicalize(des.TimeSeriesQueryLanguage, nw.TimeSeriesQueryLanguage) {
- nw.TimeSeriesQueryLanguage = des.TimeSeriesQueryLanguage
- }
- if dcl.StringCanonicalize(des.UnitOverride, nw.UnitOverride) {
- nw.UnitOverride = des.UnitOverride
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuerySet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuerySlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(des, initial *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
-
- if dcl.StringCanonicalize(des.Filter, initial.Filter) || dcl.IsZeroValue(des.Filter) {
- cDes.Filter = initial.Filter
- } else {
- cDes.Filter = des.Filter
- }
- cDes.Aggregation = canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(des.Aggregation, initial.Aggregation, opts...)
- cDes.SecondaryAggregation = canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(des.SecondaryAggregation, initial.SecondaryAggregation, opts...)
- cDes.PickTimeSeriesFilter = canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(des.PickTimeSeriesFilter, initial.PickTimeSeriesFilter, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSlice(des, initial []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Filter, nw.Filter) {
- nw.Filter = des.Filter
- }
- nw.Aggregation = canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, des.Aggregation, nw.Aggregation)
- nw.SecondaryAggregation = canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, des.SecondaryAggregation, nw.SecondaryAggregation)
- nw.PickTimeSeriesFilter = canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, des.PickTimeSeriesFilter, nw.PickTimeSeriesFilter)
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(des, initial *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationSlice(des, initial []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(des, initial *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(des, initial []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(des, initial *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
-
- if dcl.IsZeroValue(des.RankingMethod) || (dcl.IsEmptyValueIndirect(des.RankingMethod) && dcl.IsEmptyValueIndirect(initial.RankingMethod)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.RankingMethod = initial.RankingMethod
- } else {
- cDes.RankingMethod = des.RankingMethod
- }
- if dcl.IsZeroValue(des.NumTimeSeries) || (dcl.IsEmptyValueIndirect(des.NumTimeSeries) && dcl.IsEmptyValueIndirect(initial.NumTimeSeries)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.NumTimeSeries = initial.NumTimeSeries
- } else {
- cDes.NumTimeSeries = des.NumTimeSeries
- }
- if dcl.IsZeroValue(des.Direction) || (dcl.IsEmptyValueIndirect(des.Direction) && dcl.IsEmptyValueIndirect(initial.Direction)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Direction = initial.Direction
- } else {
- cDes.Direction = des.Direction
- }
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(des, initial []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(des, initial *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
-
- cDes.Numerator = canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(des.Numerator, initial.Numerator, opts...)
- cDes.Denominator = canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(des.Denominator, initial.Denominator, opts...)
- cDes.SecondaryAggregation = canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(des.SecondaryAggregation, initial.SecondaryAggregation, opts...)
- cDes.PickTimeSeriesFilter = canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(des.PickTimeSeriesFilter, initial.PickTimeSeriesFilter, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSlice(des, initial []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.Numerator = canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, des.Numerator, nw.Numerator)
- nw.Denominator = canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, des.Denominator, nw.Denominator)
- nw.SecondaryAggregation = canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, des.SecondaryAggregation, nw.SecondaryAggregation)
- nw.PickTimeSeriesFilter = canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, des.PickTimeSeriesFilter, nw.PickTimeSeriesFilter)
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(des, initial *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
-
- if dcl.StringCanonicalize(des.Filter, initial.Filter) || dcl.IsZeroValue(des.Filter) {
- cDes.Filter = initial.Filter
- } else {
- cDes.Filter = des.Filter
- }
- cDes.Aggregation = canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(des.Aggregation, initial.Aggregation, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(des, initial []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Filter, nw.Filter) {
- nw.Filter = des.Filter
- }
- nw.Aggregation = canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, des.Aggregation, nw.Aggregation)
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(des, initial *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(des, initial []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(des, initial *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
-
- if dcl.StringCanonicalize(des.Filter, initial.Filter) || dcl.IsZeroValue(des.Filter) {
- cDes.Filter = initial.Filter
- } else {
- cDes.Filter = des.Filter
- }
- cDes.Aggregation = canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(des.Aggregation, initial.Aggregation, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(des, initial []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Filter, nw.Filter) {
- nw.Filter = des.Filter
- }
- nw.Aggregation = canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, des.Aggregation, nw.Aggregation)
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(des, initial *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(des, initial []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(des, initial *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(des, initial []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(des, initial *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
-
- if dcl.IsZeroValue(des.RankingMethod) || (dcl.IsEmptyValueIndirect(des.RankingMethod) && dcl.IsEmptyValueIndirect(initial.RankingMethod)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.RankingMethod = initial.RankingMethod
- } else {
- cDes.RankingMethod = des.RankingMethod
- }
- if dcl.IsZeroValue(des.NumTimeSeries) || (dcl.IsEmptyValueIndirect(des.NumTimeSeries) && dcl.IsEmptyValueIndirect(initial.NumTimeSeries)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.NumTimeSeries = initial.NumTimeSeries
- } else {
- cDes.NumTimeSeries = des.NumTimeSeries
- }
- if dcl.IsZeroValue(des.Direction) || (dcl.IsEmptyValueIndirect(des.Direction) && dcl.IsEmptyValueIndirect(initial.Direction)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Direction = initial.Direction
- } else {
- cDes.Direction = des.Direction
- }
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(des, initial []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartThresholds(des, initial *DashboardMosaicLayoutTilesWidgetXyChartThresholds, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetXyChartThresholds {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetXyChartThresholds{}
-
- if dcl.StringCanonicalize(des.Label, initial.Label) || dcl.IsZeroValue(des.Label) {
- cDes.Label = initial.Label
- } else {
- cDes.Label = des.Label
- }
- if dcl.IsZeroValue(des.Value) || (dcl.IsEmptyValueIndirect(des.Value) && dcl.IsEmptyValueIndirect(initial.Value)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Value = initial.Value
- } else {
- cDes.Value = des.Value
- }
- if dcl.IsZeroValue(des.Color) || (dcl.IsEmptyValueIndirect(des.Color) && dcl.IsEmptyValueIndirect(initial.Color)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Color = initial.Color
- } else {
- cDes.Color = des.Color
- }
- if dcl.IsZeroValue(des.Direction) || (dcl.IsEmptyValueIndirect(des.Direction) && dcl.IsEmptyValueIndirect(initial.Direction)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Direction = initial.Direction
- } else {
- cDes.Direction = des.Direction
- }
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartThresholdsSlice(des, initial []DashboardMosaicLayoutTilesWidgetXyChartThresholds, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetXyChartThresholds {
- if des == nil {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartThresholds, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartThresholds(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartThresholds, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartThresholds(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartThresholds(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetXyChartThresholds) *DashboardMosaicLayoutTilesWidgetXyChartThresholds {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetXyChartThresholds while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Label, nw.Label) {
- nw.Label = des.Label
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartThresholdsSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartThresholds) []DashboardMosaicLayoutTilesWidgetXyChartThresholds {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetXyChartThresholds
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetXyChartThresholdsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartThresholds(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartThresholdsSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartThresholds) []DashboardMosaicLayoutTilesWidgetXyChartThresholds {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetXyChartThresholds
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartThresholds(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartXAxis(des, initial *DashboardMosaicLayoutTilesWidgetXyChartXAxis, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetXyChartXAxis {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetXyChartXAxis{}
-
- if dcl.StringCanonicalize(des.Label, initial.Label) || dcl.IsZeroValue(des.Label) {
- cDes.Label = initial.Label
- } else {
- cDes.Label = des.Label
- }
- if dcl.IsZeroValue(des.Scale) || (dcl.IsEmptyValueIndirect(des.Scale) && dcl.IsEmptyValueIndirect(initial.Scale)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Scale = initial.Scale
- } else {
- cDes.Scale = des.Scale
- }
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartXAxisSlice(des, initial []DashboardMosaicLayoutTilesWidgetXyChartXAxis, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetXyChartXAxis {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartXAxis, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartXAxis(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartXAxis, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartXAxis(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartXAxis(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetXyChartXAxis) *DashboardMosaicLayoutTilesWidgetXyChartXAxis {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetXyChartXAxis while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Label, nw.Label) {
- nw.Label = des.Label
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartXAxisSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartXAxis) []DashboardMosaicLayoutTilesWidgetXyChartXAxis {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetXyChartXAxis
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetXyChartXAxisNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartXAxis(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartXAxisSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartXAxis) []DashboardMosaicLayoutTilesWidgetXyChartXAxis {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetXyChartXAxis
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartXAxis(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartYAxis(des, initial *DashboardMosaicLayoutTilesWidgetXyChartYAxis, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetXyChartYAxis {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetXyChartYAxis{}
-
- if dcl.StringCanonicalize(des.Label, initial.Label) || dcl.IsZeroValue(des.Label) {
- cDes.Label = initial.Label
- } else {
- cDes.Label = des.Label
- }
- if dcl.IsZeroValue(des.Scale) || (dcl.IsEmptyValueIndirect(des.Scale) && dcl.IsEmptyValueIndirect(initial.Scale)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Scale = initial.Scale
- } else {
- cDes.Scale = des.Scale
- }
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartYAxisSlice(des, initial []DashboardMosaicLayoutTilesWidgetXyChartYAxis, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetXyChartYAxis {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartYAxis, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartYAxis(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartYAxis, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartYAxis(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartYAxis(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetXyChartYAxis) *DashboardMosaicLayoutTilesWidgetXyChartYAxis {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetXyChartYAxis while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Label, nw.Label) {
- nw.Label = des.Label
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartYAxisSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartYAxis) []DashboardMosaicLayoutTilesWidgetXyChartYAxis {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetXyChartYAxis
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetXyChartYAxisNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartYAxis(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartYAxisSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartYAxis) []DashboardMosaicLayoutTilesWidgetXyChartYAxis {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetXyChartYAxis
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartYAxis(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartChartOptions(des, initial *DashboardMosaicLayoutTilesWidgetXyChartChartOptions, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetXyChartChartOptions {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetXyChartChartOptions{}
-
- if dcl.IsZeroValue(des.Mode) || (dcl.IsEmptyValueIndirect(des.Mode) && dcl.IsEmptyValueIndirect(initial.Mode)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Mode = initial.Mode
- } else {
- cDes.Mode = des.Mode
- }
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetXyChartChartOptionsSlice(des, initial []DashboardMosaicLayoutTilesWidgetXyChartChartOptions, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetXyChartChartOptions {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartChartOptions, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartChartOptions(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartChartOptions, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetXyChartChartOptions(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartChartOptions(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetXyChartChartOptions) *DashboardMosaicLayoutTilesWidgetXyChartChartOptions {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetXyChartChartOptions while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartChartOptionsSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartChartOptions) []DashboardMosaicLayoutTilesWidgetXyChartChartOptions {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetXyChartChartOptions
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetXyChartChartOptionsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartChartOptions(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartChartOptionsSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetXyChartChartOptions) []DashboardMosaicLayoutTilesWidgetXyChartChartOptions {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetXyChartChartOptions
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetXyChartChartOptions(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecard(des, initial *DashboardMosaicLayoutTilesWidgetScorecard, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetScorecard {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetScorecard{}
-
- cDes.TimeSeriesQuery = canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery(des.TimeSeriesQuery, initial.TimeSeriesQuery, opts...)
- cDes.GaugeView = canonicalizeDashboardMosaicLayoutTilesWidgetScorecardGaugeView(des.GaugeView, initial.GaugeView, opts...)
- cDes.SparkChartView = canonicalizeDashboardMosaicLayoutTilesWidgetScorecardSparkChartView(des.SparkChartView, initial.SparkChartView, opts...)
- cDes.Thresholds = canonicalizeDashboardMosaicLayoutTilesWidgetScorecardThresholdsSlice(des.Thresholds, initial.Thresholds, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecardSlice(des, initial []DashboardMosaicLayoutTilesWidgetScorecard, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetScorecard {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecard, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecard(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecard, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecard(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecard(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetScorecard) *DashboardMosaicLayoutTilesWidgetScorecard {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetScorecard while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.TimeSeriesQuery = canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery(c, des.TimeSeriesQuery, nw.TimeSeriesQuery)
- nw.GaugeView = canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardGaugeView(c, des.GaugeView, nw.GaugeView)
- nw.SparkChartView = canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardSparkChartView(c, des.SparkChartView, nw.SparkChartView)
- nw.Thresholds = canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardThresholdsSlice(c, des.Thresholds, nw.Thresholds)
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecard) []DashboardMosaicLayoutTilesWidgetScorecard {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetScorecard
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetScorecardNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecard(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecard) []DashboardMosaicLayoutTilesWidgetScorecard {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetScorecard
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecard(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery(des, initial *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery{}
-
- cDes.TimeSeriesFilter = canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter(des.TimeSeriesFilter, initial.TimeSeriesFilter, opts...)
- cDes.TimeSeriesFilterRatio = canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio(des.TimeSeriesFilterRatio, initial.TimeSeriesFilterRatio, opts...)
- if dcl.StringCanonicalize(des.TimeSeriesQueryLanguage, initial.TimeSeriesQueryLanguage) || dcl.IsZeroValue(des.TimeSeriesQueryLanguage) {
- cDes.TimeSeriesQueryLanguage = initial.TimeSeriesQueryLanguage
- } else {
- cDes.TimeSeriesQueryLanguage = des.TimeSeriesQueryLanguage
- }
- if dcl.StringCanonicalize(des.UnitOverride, initial.UnitOverride) || dcl.IsZeroValue(des.UnitOverride) {
- cDes.UnitOverride = initial.UnitOverride
- } else {
- cDes.UnitOverride = des.UnitOverride
- }
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuerySlice(des, initial []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.TimeSeriesFilter = canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter(c, des.TimeSeriesFilter, nw.TimeSeriesFilter)
- nw.TimeSeriesFilterRatio = canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, des.TimeSeriesFilterRatio, nw.TimeSeriesFilterRatio)
- if dcl.StringCanonicalize(des.TimeSeriesQueryLanguage, nw.TimeSeriesQueryLanguage) {
- nw.TimeSeriesQueryLanguage = des.TimeSeriesQueryLanguage
- }
- if dcl.StringCanonicalize(des.UnitOverride, nw.UnitOverride) {
- nw.UnitOverride = des.UnitOverride
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuerySet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuerySlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter(des, initial *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter{}
-
- if dcl.StringCanonicalize(des.Filter, initial.Filter) || dcl.IsZeroValue(des.Filter) {
- cDes.Filter = initial.Filter
- } else {
- cDes.Filter = des.Filter
- }
- cDes.Aggregation = canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation(des.Aggregation, initial.Aggregation, opts...)
- cDes.SecondaryAggregation = canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(des.SecondaryAggregation, initial.SecondaryAggregation, opts...)
- cDes.PickTimeSeriesFilter = canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(des.PickTimeSeriesFilter, initial.PickTimeSeriesFilter, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSlice(des, initial []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Filter, nw.Filter) {
- nw.Filter = des.Filter
- }
- nw.Aggregation = canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, des.Aggregation, nw.Aggregation)
- nw.SecondaryAggregation = canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, des.SecondaryAggregation, nw.SecondaryAggregation)
- nw.PickTimeSeriesFilter = canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, des.PickTimeSeriesFilter, nw.PickTimeSeriesFilter)
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation(des, initial *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationSlice(des, initial []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(des, initial *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(des, initial []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(des, initial *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
-
- if dcl.IsZeroValue(des.RankingMethod) || (dcl.IsEmptyValueIndirect(des.RankingMethod) && dcl.IsEmptyValueIndirect(initial.RankingMethod)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.RankingMethod = initial.RankingMethod
- } else {
- cDes.RankingMethod = des.RankingMethod
- }
- if dcl.IsZeroValue(des.NumTimeSeries) || (dcl.IsEmptyValueIndirect(des.NumTimeSeries) && dcl.IsEmptyValueIndirect(initial.NumTimeSeries)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.NumTimeSeries = initial.NumTimeSeries
- } else {
- cDes.NumTimeSeries = des.NumTimeSeries
- }
- if dcl.IsZeroValue(des.Direction) || (dcl.IsEmptyValueIndirect(des.Direction) && dcl.IsEmptyValueIndirect(initial.Direction)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Direction = initial.Direction
- } else {
- cDes.Direction = des.Direction
- }
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(des, initial []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio(des, initial *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
-
- cDes.Numerator = canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(des.Numerator, initial.Numerator, opts...)
- cDes.Denominator = canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(des.Denominator, initial.Denominator, opts...)
- cDes.SecondaryAggregation = canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(des.SecondaryAggregation, initial.SecondaryAggregation, opts...)
- cDes.PickTimeSeriesFilter = canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(des.PickTimeSeriesFilter, initial.PickTimeSeriesFilter, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSlice(des, initial []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.Numerator = canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, des.Numerator, nw.Numerator)
- nw.Denominator = canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, des.Denominator, nw.Denominator)
- nw.SecondaryAggregation = canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, des.SecondaryAggregation, nw.SecondaryAggregation)
- nw.PickTimeSeriesFilter = canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, des.PickTimeSeriesFilter, nw.PickTimeSeriesFilter)
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(des, initial *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
-
- if dcl.StringCanonicalize(des.Filter, initial.Filter) || dcl.IsZeroValue(des.Filter) {
- cDes.Filter = initial.Filter
- } else {
- cDes.Filter = des.Filter
- }
- cDes.Aggregation = canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(des.Aggregation, initial.Aggregation, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(des, initial []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Filter, nw.Filter) {
- nw.Filter = des.Filter
- }
- nw.Aggregation = canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, des.Aggregation, nw.Aggregation)
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(des, initial *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(des, initial []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(des, initial *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
-
- if dcl.StringCanonicalize(des.Filter, initial.Filter) || dcl.IsZeroValue(des.Filter) {
- cDes.Filter = initial.Filter
- } else {
- cDes.Filter = des.Filter
- }
- cDes.Aggregation = canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(des.Aggregation, initial.Aggregation, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(des, initial []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Filter, nw.Filter) {
- nw.Filter = des.Filter
- }
- nw.Aggregation = canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, des.Aggregation, nw.Aggregation)
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(des, initial *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(des, initial []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(des, initial *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(des, initial []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(des, initial *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
-
- if dcl.IsZeroValue(des.RankingMethod) || (dcl.IsEmptyValueIndirect(des.RankingMethod) && dcl.IsEmptyValueIndirect(initial.RankingMethod)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.RankingMethod = initial.RankingMethod
- } else {
- cDes.RankingMethod = des.RankingMethod
- }
- if dcl.IsZeroValue(des.NumTimeSeries) || (dcl.IsEmptyValueIndirect(des.NumTimeSeries) && dcl.IsEmptyValueIndirect(initial.NumTimeSeries)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.NumTimeSeries = initial.NumTimeSeries
- } else {
- cDes.NumTimeSeries = des.NumTimeSeries
- }
- if dcl.IsZeroValue(des.Direction) || (dcl.IsEmptyValueIndirect(des.Direction) && dcl.IsEmptyValueIndirect(initial.Direction)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Direction = initial.Direction
- } else {
- cDes.Direction = des.Direction
- }
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(des, initial []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecardGaugeView(des, initial *DashboardMosaicLayoutTilesWidgetScorecardGaugeView, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetScorecardGaugeView {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetScorecardGaugeView{}
-
- if dcl.IsZeroValue(des.LowerBound) || (dcl.IsEmptyValueIndirect(des.LowerBound) && dcl.IsEmptyValueIndirect(initial.LowerBound)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.LowerBound = initial.LowerBound
- } else {
- cDes.LowerBound = des.LowerBound
- }
- if dcl.IsZeroValue(des.UpperBound) || (dcl.IsEmptyValueIndirect(des.UpperBound) && dcl.IsEmptyValueIndirect(initial.UpperBound)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.UpperBound = initial.UpperBound
- } else {
- cDes.UpperBound = des.UpperBound
- }
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecardGaugeViewSlice(des, initial []DashboardMosaicLayoutTilesWidgetScorecardGaugeView, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetScorecardGaugeView {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardGaugeView, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecardGaugeView(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardGaugeView, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecardGaugeView(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardGaugeView(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetScorecardGaugeView) *DashboardMosaicLayoutTilesWidgetScorecardGaugeView {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetScorecardGaugeView while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardGaugeViewSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecardGaugeView) []DashboardMosaicLayoutTilesWidgetScorecardGaugeView {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetScorecardGaugeView
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetScorecardGaugeViewNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardGaugeView(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardGaugeViewSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecardGaugeView) []DashboardMosaicLayoutTilesWidgetScorecardGaugeView {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetScorecardGaugeView
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardGaugeView(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecardSparkChartView(des, initial *DashboardMosaicLayoutTilesWidgetScorecardSparkChartView, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetScorecardSparkChartView {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetScorecardSparkChartView{}
-
- if dcl.IsZeroValue(des.SparkChartType) || (dcl.IsEmptyValueIndirect(des.SparkChartType) && dcl.IsEmptyValueIndirect(initial.SparkChartType)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.SparkChartType = initial.SparkChartType
- } else {
- cDes.SparkChartType = des.SparkChartType
- }
- if dcl.StringCanonicalize(des.MinAlignmentPeriod, initial.MinAlignmentPeriod) || dcl.IsZeroValue(des.MinAlignmentPeriod) {
- cDes.MinAlignmentPeriod = initial.MinAlignmentPeriod
- } else {
- cDes.MinAlignmentPeriod = des.MinAlignmentPeriod
- }
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSlice(des, initial []DashboardMosaicLayoutTilesWidgetScorecardSparkChartView, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetScorecardSparkChartView {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardSparkChartView, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecardSparkChartView(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardSparkChartView, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecardSparkChartView(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardSparkChartView(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetScorecardSparkChartView) *DashboardMosaicLayoutTilesWidgetScorecardSparkChartView {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetScorecardSparkChartView while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.MinAlignmentPeriod, nw.MinAlignmentPeriod) {
- nw.MinAlignmentPeriod = des.MinAlignmentPeriod
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecardSparkChartView) []DashboardMosaicLayoutTilesWidgetScorecardSparkChartView {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetScorecardSparkChartView
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetScorecardSparkChartViewNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardSparkChartView(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecardSparkChartView) []DashboardMosaicLayoutTilesWidgetScorecardSparkChartView {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetScorecardSparkChartView
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardSparkChartView(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecardThresholds(des, initial *DashboardMosaicLayoutTilesWidgetScorecardThresholds, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetScorecardThresholds {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetScorecardThresholds{}
-
- if dcl.StringCanonicalize(des.Label, initial.Label) || dcl.IsZeroValue(des.Label) {
- cDes.Label = initial.Label
- } else {
- cDes.Label = des.Label
- }
- if dcl.IsZeroValue(des.Value) || (dcl.IsEmptyValueIndirect(des.Value) && dcl.IsEmptyValueIndirect(initial.Value)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Value = initial.Value
- } else {
- cDes.Value = des.Value
- }
- if dcl.IsZeroValue(des.Color) || (dcl.IsEmptyValueIndirect(des.Color) && dcl.IsEmptyValueIndirect(initial.Color)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Color = initial.Color
- } else {
- cDes.Color = des.Color
- }
- if dcl.IsZeroValue(des.Direction) || (dcl.IsEmptyValueIndirect(des.Direction) && dcl.IsEmptyValueIndirect(initial.Direction)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Direction = initial.Direction
- } else {
- cDes.Direction = des.Direction
- }
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetScorecardThresholdsSlice(des, initial []DashboardMosaicLayoutTilesWidgetScorecardThresholds, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetScorecardThresholds {
- if des == nil {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardThresholds, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecardThresholds(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardThresholds, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetScorecardThresholds(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardThresholds(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetScorecardThresholds) *DashboardMosaicLayoutTilesWidgetScorecardThresholds {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetScorecardThresholds while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Label, nw.Label) {
- nw.Label = des.Label
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardThresholdsSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecardThresholds) []DashboardMosaicLayoutTilesWidgetScorecardThresholds {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetScorecardThresholds
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetScorecardThresholdsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardThresholds(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardThresholdsSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetScorecardThresholds) []DashboardMosaicLayoutTilesWidgetScorecardThresholds {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetScorecardThresholds
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetScorecardThresholds(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetText(des, initial *DashboardMosaicLayoutTilesWidgetText, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetText {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetText{}
-
- if dcl.StringCanonicalize(des.Content, initial.Content) || dcl.IsZeroValue(des.Content) {
- cDes.Content = initial.Content
- } else {
- cDes.Content = des.Content
- }
- if dcl.IsZeroValue(des.Format) || (dcl.IsEmptyValueIndirect(des.Format) && dcl.IsEmptyValueIndirect(initial.Format)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Format = initial.Format
- } else {
- cDes.Format = des.Format
- }
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetTextSlice(des, initial []DashboardMosaicLayoutTilesWidgetText, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetText {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetText, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetText(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetText, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetText(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetText(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetText) *DashboardMosaicLayoutTilesWidgetText {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetText while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Content, nw.Content) {
- nw.Content = des.Content
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetTextSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetText) []DashboardMosaicLayoutTilesWidgetText {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetText
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetTextNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetText(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetTextSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetText) []DashboardMosaicLayoutTilesWidgetText {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetText
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetText(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetBlank(des, initial *DashboardMosaicLayoutTilesWidgetBlank, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetBlank {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetBlank{}
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetBlankSlice(des, initial []DashboardMosaicLayoutTilesWidgetBlank, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetBlank {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetBlank, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetBlank(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetBlank, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetBlank(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetBlank(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetBlank) *DashboardMosaicLayoutTilesWidgetBlank {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetBlank while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetBlankSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetBlank) []DashboardMosaicLayoutTilesWidgetBlank {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetBlank
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetBlankNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetBlank(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetBlankSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetBlank) []DashboardMosaicLayoutTilesWidgetBlank {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetBlank
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetBlank(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetLogsPanel(des, initial *DashboardMosaicLayoutTilesWidgetLogsPanel, opts ...dcl.ApplyOption) *DashboardMosaicLayoutTilesWidgetLogsPanel {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardMosaicLayoutTilesWidgetLogsPanel{}
-
- if dcl.StringCanonicalize(des.Filter, initial.Filter) || dcl.IsZeroValue(des.Filter) {
- cDes.Filter = initial.Filter
- } else {
- cDes.Filter = des.Filter
- }
- if dcl.StringArrayCanonicalize(des.ResourceNames, initial.ResourceNames) {
- cDes.ResourceNames = initial.ResourceNames
- } else {
- cDes.ResourceNames = des.ResourceNames
- }
-
- return cDes
-}
-
-func canonicalizeDashboardMosaicLayoutTilesWidgetLogsPanelSlice(des, initial []DashboardMosaicLayoutTilesWidgetLogsPanel, opts ...dcl.ApplyOption) []DashboardMosaicLayoutTilesWidgetLogsPanel {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardMosaicLayoutTilesWidgetLogsPanel, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetLogsPanel(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetLogsPanel, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardMosaicLayoutTilesWidgetLogsPanel(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetLogsPanel(c *Client, des, nw *DashboardMosaicLayoutTilesWidgetLogsPanel) *DashboardMosaicLayoutTilesWidgetLogsPanel {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardMosaicLayoutTilesWidgetLogsPanel while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Filter, nw.Filter) {
- nw.Filter = des.Filter
- }
- if dcl.StringArrayCanonicalize(des.ResourceNames, nw.ResourceNames) {
- nw.ResourceNames = des.ResourceNames
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetLogsPanelSet(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetLogsPanel) []DashboardMosaicLayoutTilesWidgetLogsPanel {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardMosaicLayoutTilesWidgetLogsPanel
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardMosaicLayoutTilesWidgetLogsPanelNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetLogsPanel(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardMosaicLayoutTilesWidgetLogsPanelSlice(c *Client, des, nw []DashboardMosaicLayoutTilesWidgetLogsPanel) []DashboardMosaicLayoutTilesWidgetLogsPanel {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardMosaicLayoutTilesWidgetLogsPanel
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardMosaicLayoutTilesWidgetLogsPanel(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayout(des, initial *DashboardRowLayout, opts ...dcl.ApplyOption) *DashboardRowLayout {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayout{}
-
- cDes.Rows = canonicalizeDashboardRowLayoutRowsSlice(des.Rows, initial.Rows, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutSlice(des, initial []DashboardRowLayout, opts ...dcl.ApplyOption) []DashboardRowLayout {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayout, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayout(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayout, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayout(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayout(c *Client, des, nw *DashboardRowLayout) *DashboardRowLayout {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayout while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.Rows = canonicalizeNewDashboardRowLayoutRowsSlice(c, des.Rows, nw.Rows)
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutSet(c *Client, des, nw []DashboardRowLayout) []DashboardRowLayout {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayout
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayout(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutSlice(c *Client, des, nw []DashboardRowLayout) []DashboardRowLayout {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayout
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayout(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRows(des, initial *DashboardRowLayoutRows, opts ...dcl.ApplyOption) *DashboardRowLayoutRows {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRows{}
-
- if dcl.IsZeroValue(des.Weight) || (dcl.IsEmptyValueIndirect(des.Weight) && dcl.IsEmptyValueIndirect(initial.Weight)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Weight = initial.Weight
- } else {
- cDes.Weight = des.Weight
- }
- cDes.Widgets = canonicalizeDashboardRowLayoutRowsWidgetsSlice(des.Widgets, initial.Widgets, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsSlice(des, initial []DashboardRowLayoutRows, opts ...dcl.ApplyOption) []DashboardRowLayoutRows {
- if des == nil {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRows, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRows(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRows, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRows(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRows(c *Client, des, nw *DashboardRowLayoutRows) *DashboardRowLayoutRows {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRows while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.Widgets = canonicalizeNewDashboardRowLayoutRowsWidgetsSlice(c, des.Widgets, nw.Widgets)
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsSet(c *Client, des, nw []DashboardRowLayoutRows) []DashboardRowLayoutRows {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRows
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRows(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsSlice(c *Client, des, nw []DashboardRowLayoutRows) []DashboardRowLayoutRows {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRows
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRows(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgets(des, initial *DashboardRowLayoutRowsWidgets, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgets {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if des.XyChart != nil || (initial != nil && initial.XyChart != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Scorecard, des.Text, des.Blank, des.LogsPanel) {
- des.XyChart = nil
- if initial != nil {
- initial.XyChart = nil
- }
- }
- }
-
- if des.Scorecard != nil || (initial != nil && initial.Scorecard != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.XyChart, des.Text, des.Blank, des.LogsPanel) {
- des.Scorecard = nil
- if initial != nil {
- initial.Scorecard = nil
- }
- }
- }
-
- if des.Text != nil || (initial != nil && initial.Text != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.XyChart, des.Scorecard, des.Blank, des.LogsPanel) {
- des.Text = nil
- if initial != nil {
- initial.Text = nil
- }
- }
- }
-
- if des.Blank != nil || (initial != nil && initial.Blank != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.XyChart, des.Scorecard, des.Text, des.LogsPanel) {
- des.Blank = nil
- if initial != nil {
- initial.Blank = nil
- }
- }
- }
-
- if des.LogsPanel != nil || (initial != nil && initial.LogsPanel != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.XyChart, des.Scorecard, des.Text, des.Blank) {
- des.LogsPanel = nil
- if initial != nil {
- initial.LogsPanel = nil
- }
- }
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgets{}
-
- if dcl.StringCanonicalize(des.Title, initial.Title) || dcl.IsZeroValue(des.Title) {
- cDes.Title = initial.Title
- } else {
- cDes.Title = des.Title
- }
- cDes.XyChart = canonicalizeDashboardRowLayoutRowsWidgetsXyChart(des.XyChart, initial.XyChart, opts...)
- cDes.Scorecard = canonicalizeDashboardRowLayoutRowsWidgetsScorecard(des.Scorecard, initial.Scorecard, opts...)
- cDes.Text = canonicalizeDashboardRowLayoutRowsWidgetsText(des.Text, initial.Text, opts...)
- cDes.Blank = canonicalizeDashboardRowLayoutRowsWidgetsBlank(des.Blank, initial.Blank, opts...)
- cDes.LogsPanel = canonicalizeDashboardRowLayoutRowsWidgetsLogsPanel(des.LogsPanel, initial.LogsPanel, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsSlice(des, initial []DashboardRowLayoutRowsWidgets, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgets {
- if des == nil {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgets, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgets(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgets, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgets(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgets(c *Client, des, nw *DashboardRowLayoutRowsWidgets) *DashboardRowLayoutRowsWidgets {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgets while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Title, nw.Title) {
- nw.Title = des.Title
- }
- nw.XyChart = canonicalizeNewDashboardRowLayoutRowsWidgetsXyChart(c, des.XyChart, nw.XyChart)
- nw.Scorecard = canonicalizeNewDashboardRowLayoutRowsWidgetsScorecard(c, des.Scorecard, nw.Scorecard)
- nw.Text = canonicalizeNewDashboardRowLayoutRowsWidgetsText(c, des.Text, nw.Text)
- nw.Blank = canonicalizeNewDashboardRowLayoutRowsWidgetsBlank(c, des.Blank, nw.Blank)
- nw.LogsPanel = canonicalizeNewDashboardRowLayoutRowsWidgetsLogsPanel(c, des.LogsPanel, nw.LogsPanel)
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsSet(c *Client, des, nw []DashboardRowLayoutRowsWidgets) []DashboardRowLayoutRowsWidgets {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgets
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgets(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgets) []DashboardRowLayoutRowsWidgets {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgets
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgets(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChart(des, initial *DashboardRowLayoutRowsWidgetsXyChart, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsXyChart {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsXyChart{}
-
- cDes.DataSets = canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsSlice(des.DataSets, initial.DataSets, opts...)
- if dcl.StringCanonicalize(des.TimeshiftDuration, initial.TimeshiftDuration) || dcl.IsZeroValue(des.TimeshiftDuration) {
- cDes.TimeshiftDuration = initial.TimeshiftDuration
- } else {
- cDes.TimeshiftDuration = des.TimeshiftDuration
- }
- cDes.Thresholds = canonicalizeDashboardRowLayoutRowsWidgetsXyChartThresholdsSlice(des.Thresholds, initial.Thresholds, opts...)
- cDes.XAxis = canonicalizeDashboardRowLayoutRowsWidgetsXyChartXAxis(des.XAxis, initial.XAxis, opts...)
- cDes.YAxis = canonicalizeDashboardRowLayoutRowsWidgetsXyChartYAxis(des.YAxis, initial.YAxis, opts...)
- cDes.ChartOptions = canonicalizeDashboardRowLayoutRowsWidgetsXyChartChartOptions(des.ChartOptions, initial.ChartOptions, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartSlice(des, initial []DashboardRowLayoutRowsWidgetsXyChart, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsXyChart {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChart, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChart(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChart, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChart(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChart(c *Client, des, nw *DashboardRowLayoutRowsWidgetsXyChart) *DashboardRowLayoutRowsWidgetsXyChart {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsXyChart while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.DataSets = canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsSlice(c, des.DataSets, nw.DataSets)
- if dcl.StringCanonicalize(des.TimeshiftDuration, nw.TimeshiftDuration) {
- nw.TimeshiftDuration = des.TimeshiftDuration
- }
- nw.Thresholds = canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartThresholdsSlice(c, des.Thresholds, nw.Thresholds)
- nw.XAxis = canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartXAxis(c, des.XAxis, nw.XAxis)
- nw.YAxis = canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartYAxis(c, des.YAxis, nw.YAxis)
- nw.ChartOptions = canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartChartOptions(c, des.ChartOptions, nw.ChartOptions)
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChart) []DashboardRowLayoutRowsWidgetsXyChart {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsXyChart
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsXyChartNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChart(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChart) []DashboardRowLayoutRowsWidgetsXyChart {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsXyChart
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChart(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSets(des, initial *DashboardRowLayoutRowsWidgetsXyChartDataSets, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsXyChartDataSets {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsXyChartDataSets{}
-
- cDes.TimeSeriesQuery = canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery(des.TimeSeriesQuery, initial.TimeSeriesQuery, opts...)
- if dcl.IsZeroValue(des.PlotType) || (dcl.IsEmptyValueIndirect(des.PlotType) && dcl.IsEmptyValueIndirect(initial.PlotType)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PlotType = initial.PlotType
- } else {
- cDes.PlotType = des.PlotType
- }
- if dcl.StringCanonicalize(des.LegendTemplate, initial.LegendTemplate) || dcl.IsZeroValue(des.LegendTemplate) {
- cDes.LegendTemplate = initial.LegendTemplate
- } else {
- cDes.LegendTemplate = des.LegendTemplate
- }
- if dcl.StringCanonicalize(des.MinAlignmentPeriod, initial.MinAlignmentPeriod) || dcl.IsZeroValue(des.MinAlignmentPeriod) {
- cDes.MinAlignmentPeriod = initial.MinAlignmentPeriod
- } else {
- cDes.MinAlignmentPeriod = des.MinAlignmentPeriod
- }
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsSlice(des, initial []DashboardRowLayoutRowsWidgetsXyChartDataSets, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsXyChartDataSets {
- if des == nil {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSets, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSets(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSets, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSets(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSets(c *Client, des, nw *DashboardRowLayoutRowsWidgetsXyChartDataSets) *DashboardRowLayoutRowsWidgetsXyChartDataSets {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsXyChartDataSets while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.TimeSeriesQuery = canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery(c, des.TimeSeriesQuery, nw.TimeSeriesQuery)
- if dcl.StringCanonicalize(des.LegendTemplate, nw.LegendTemplate) {
- nw.LegendTemplate = des.LegendTemplate
- }
- if dcl.StringCanonicalize(des.MinAlignmentPeriod, nw.MinAlignmentPeriod) {
- nw.MinAlignmentPeriod = des.MinAlignmentPeriod
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartDataSets) []DashboardRowLayoutRowsWidgetsXyChartDataSets {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsXyChartDataSets
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsXyChartDataSetsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSets(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartDataSets) []DashboardRowLayoutRowsWidgetsXyChartDataSets {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsXyChartDataSets
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSets(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery(des, initial *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery{}
-
- cDes.TimeSeriesFilter = canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(des.TimeSeriesFilter, initial.TimeSeriesFilter, opts...)
- cDes.TimeSeriesFilterRatio = canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(des.TimeSeriesFilterRatio, initial.TimeSeriesFilterRatio, opts...)
- if dcl.StringCanonicalize(des.TimeSeriesQueryLanguage, initial.TimeSeriesQueryLanguage) || dcl.IsZeroValue(des.TimeSeriesQueryLanguage) {
- cDes.TimeSeriesQueryLanguage = initial.TimeSeriesQueryLanguage
- } else {
- cDes.TimeSeriesQueryLanguage = des.TimeSeriesQueryLanguage
- }
- if dcl.StringCanonicalize(des.UnitOverride, initial.UnitOverride) || dcl.IsZeroValue(des.UnitOverride) {
- cDes.UnitOverride = initial.UnitOverride
- } else {
- cDes.UnitOverride = des.UnitOverride
- }
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuerySlice(des, initial []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery(c *Client, des, nw *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.TimeSeriesFilter = canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, des.TimeSeriesFilter, nw.TimeSeriesFilter)
- nw.TimeSeriesFilterRatio = canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, des.TimeSeriesFilterRatio, nw.TimeSeriesFilterRatio)
- if dcl.StringCanonicalize(des.TimeSeriesQueryLanguage, nw.TimeSeriesQueryLanguage) {
- nw.TimeSeriesQueryLanguage = des.TimeSeriesQueryLanguage
- }
- if dcl.StringCanonicalize(des.UnitOverride, nw.UnitOverride) {
- nw.UnitOverride = des.UnitOverride
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuerySet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuerySlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(des, initial *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
-
- if dcl.StringCanonicalize(des.Filter, initial.Filter) || dcl.IsZeroValue(des.Filter) {
- cDes.Filter = initial.Filter
- } else {
- cDes.Filter = des.Filter
- }
- cDes.Aggregation = canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(des.Aggregation, initial.Aggregation, opts...)
- cDes.SecondaryAggregation = canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(des.SecondaryAggregation, initial.SecondaryAggregation, opts...)
- cDes.PickTimeSeriesFilter = canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(des.PickTimeSeriesFilter, initial.PickTimeSeriesFilter, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSlice(des, initial []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c *Client, des, nw *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Filter, nw.Filter) {
- nw.Filter = des.Filter
- }
- nw.Aggregation = canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, des.Aggregation, nw.Aggregation)
- nw.SecondaryAggregation = canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, des.SecondaryAggregation, nw.SecondaryAggregation)
- nw.PickTimeSeriesFilter = canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, des.PickTimeSeriesFilter, nw.PickTimeSeriesFilter)
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(des, initial *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationSlice(des, initial []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c *Client, des, nw *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(des, initial *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(des, initial []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c *Client, des, nw *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(des, initial *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
-
- if dcl.IsZeroValue(des.RankingMethod) || (dcl.IsEmptyValueIndirect(des.RankingMethod) && dcl.IsEmptyValueIndirect(initial.RankingMethod)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.RankingMethod = initial.RankingMethod
- } else {
- cDes.RankingMethod = des.RankingMethod
- }
- if dcl.IsZeroValue(des.NumTimeSeries) || (dcl.IsEmptyValueIndirect(des.NumTimeSeries) && dcl.IsEmptyValueIndirect(initial.NumTimeSeries)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.NumTimeSeries = initial.NumTimeSeries
- } else {
- cDes.NumTimeSeries = des.NumTimeSeries
- }
- if dcl.IsZeroValue(des.Direction) || (dcl.IsEmptyValueIndirect(des.Direction) && dcl.IsEmptyValueIndirect(initial.Direction)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Direction = initial.Direction
- } else {
- cDes.Direction = des.Direction
- }
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(des, initial []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c *Client, des, nw *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(des, initial *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
-
- cDes.Numerator = canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(des.Numerator, initial.Numerator, opts...)
- cDes.Denominator = canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(des.Denominator, initial.Denominator, opts...)
- cDes.SecondaryAggregation = canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(des.SecondaryAggregation, initial.SecondaryAggregation, opts...)
- cDes.PickTimeSeriesFilter = canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(des.PickTimeSeriesFilter, initial.PickTimeSeriesFilter, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSlice(des, initial []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c *Client, des, nw *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.Numerator = canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, des.Numerator, nw.Numerator)
- nw.Denominator = canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, des.Denominator, nw.Denominator)
- nw.SecondaryAggregation = canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, des.SecondaryAggregation, nw.SecondaryAggregation)
- nw.PickTimeSeriesFilter = canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, des.PickTimeSeriesFilter, nw.PickTimeSeriesFilter)
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(des, initial *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
-
- if dcl.StringCanonicalize(des.Filter, initial.Filter) || dcl.IsZeroValue(des.Filter) {
- cDes.Filter = initial.Filter
- } else {
- cDes.Filter = des.Filter
- }
- cDes.Aggregation = canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(des.Aggregation, initial.Aggregation, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(des, initial []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c *Client, des, nw *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Filter, nw.Filter) {
- nw.Filter = des.Filter
- }
- nw.Aggregation = canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, des.Aggregation, nw.Aggregation)
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(des, initial *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(des, initial []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c *Client, des, nw *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(des, initial *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
-
- if dcl.StringCanonicalize(des.Filter, initial.Filter) || dcl.IsZeroValue(des.Filter) {
- cDes.Filter = initial.Filter
- } else {
- cDes.Filter = des.Filter
- }
- cDes.Aggregation = canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(des.Aggregation, initial.Aggregation, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(des, initial []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c *Client, des, nw *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Filter, nw.Filter) {
- nw.Filter = des.Filter
- }
- nw.Aggregation = canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, des.Aggregation, nw.Aggregation)
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(des, initial *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(des, initial []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c *Client, des, nw *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(des, initial *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(des, initial []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c *Client, des, nw *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(des, initial *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
-
- if dcl.IsZeroValue(des.RankingMethod) || (dcl.IsEmptyValueIndirect(des.RankingMethod) && dcl.IsEmptyValueIndirect(initial.RankingMethod)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.RankingMethod = initial.RankingMethod
- } else {
- cDes.RankingMethod = des.RankingMethod
- }
- if dcl.IsZeroValue(des.NumTimeSeries) || (dcl.IsEmptyValueIndirect(des.NumTimeSeries) && dcl.IsEmptyValueIndirect(initial.NumTimeSeries)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.NumTimeSeries = initial.NumTimeSeries
- } else {
- cDes.NumTimeSeries = des.NumTimeSeries
- }
- if dcl.IsZeroValue(des.Direction) || (dcl.IsEmptyValueIndirect(des.Direction) && dcl.IsEmptyValueIndirect(initial.Direction)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Direction = initial.Direction
- } else {
- cDes.Direction = des.Direction
- }
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(des, initial []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c *Client, des, nw *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartThresholds(des, initial *DashboardRowLayoutRowsWidgetsXyChartThresholds, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsXyChartThresholds {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsXyChartThresholds{}
-
- if dcl.StringCanonicalize(des.Label, initial.Label) || dcl.IsZeroValue(des.Label) {
- cDes.Label = initial.Label
- } else {
- cDes.Label = des.Label
- }
- if dcl.IsZeroValue(des.Value) || (dcl.IsEmptyValueIndirect(des.Value) && dcl.IsEmptyValueIndirect(initial.Value)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Value = initial.Value
- } else {
- cDes.Value = des.Value
- }
- if dcl.IsZeroValue(des.Color) || (dcl.IsEmptyValueIndirect(des.Color) && dcl.IsEmptyValueIndirect(initial.Color)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Color = initial.Color
- } else {
- cDes.Color = des.Color
- }
- if dcl.IsZeroValue(des.Direction) || (dcl.IsEmptyValueIndirect(des.Direction) && dcl.IsEmptyValueIndirect(initial.Direction)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Direction = initial.Direction
- } else {
- cDes.Direction = des.Direction
- }
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartThresholdsSlice(des, initial []DashboardRowLayoutRowsWidgetsXyChartThresholds, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsXyChartThresholds {
- if des == nil {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartThresholds, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartThresholds(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartThresholds, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartThresholds(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartThresholds(c *Client, des, nw *DashboardRowLayoutRowsWidgetsXyChartThresholds) *DashboardRowLayoutRowsWidgetsXyChartThresholds {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsXyChartThresholds while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Label, nw.Label) {
- nw.Label = des.Label
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartThresholdsSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartThresholds) []DashboardRowLayoutRowsWidgetsXyChartThresholds {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsXyChartThresholds
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsXyChartThresholdsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartThresholds(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartThresholdsSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartThresholds) []DashboardRowLayoutRowsWidgetsXyChartThresholds {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsXyChartThresholds
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartThresholds(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartXAxis(des, initial *DashboardRowLayoutRowsWidgetsXyChartXAxis, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsXyChartXAxis {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsXyChartXAxis{}
-
- if dcl.StringCanonicalize(des.Label, initial.Label) || dcl.IsZeroValue(des.Label) {
- cDes.Label = initial.Label
- } else {
- cDes.Label = des.Label
- }
- if dcl.IsZeroValue(des.Scale) || (dcl.IsEmptyValueIndirect(des.Scale) && dcl.IsEmptyValueIndirect(initial.Scale)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Scale = initial.Scale
- } else {
- cDes.Scale = des.Scale
- }
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartXAxisSlice(des, initial []DashboardRowLayoutRowsWidgetsXyChartXAxis, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsXyChartXAxis {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartXAxis, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartXAxis(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartXAxis, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartXAxis(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartXAxis(c *Client, des, nw *DashboardRowLayoutRowsWidgetsXyChartXAxis) *DashboardRowLayoutRowsWidgetsXyChartXAxis {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsXyChartXAxis while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Label, nw.Label) {
- nw.Label = des.Label
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartXAxisSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartXAxis) []DashboardRowLayoutRowsWidgetsXyChartXAxis {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsXyChartXAxis
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsXyChartXAxisNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartXAxis(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartXAxisSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartXAxis) []DashboardRowLayoutRowsWidgetsXyChartXAxis {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsXyChartXAxis
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartXAxis(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartYAxis(des, initial *DashboardRowLayoutRowsWidgetsXyChartYAxis, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsXyChartYAxis {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsXyChartYAxis{}
-
- if dcl.StringCanonicalize(des.Label, initial.Label) || dcl.IsZeroValue(des.Label) {
- cDes.Label = initial.Label
- } else {
- cDes.Label = des.Label
- }
- if dcl.IsZeroValue(des.Scale) || (dcl.IsEmptyValueIndirect(des.Scale) && dcl.IsEmptyValueIndirect(initial.Scale)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Scale = initial.Scale
- } else {
- cDes.Scale = des.Scale
- }
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartYAxisSlice(des, initial []DashboardRowLayoutRowsWidgetsXyChartYAxis, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsXyChartYAxis {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartYAxis, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartYAxis(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartYAxis, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartYAxis(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartYAxis(c *Client, des, nw *DashboardRowLayoutRowsWidgetsXyChartYAxis) *DashboardRowLayoutRowsWidgetsXyChartYAxis {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsXyChartYAxis while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Label, nw.Label) {
- nw.Label = des.Label
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartYAxisSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartYAxis) []DashboardRowLayoutRowsWidgetsXyChartYAxis {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsXyChartYAxis
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsXyChartYAxisNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartYAxis(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartYAxisSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartYAxis) []DashboardRowLayoutRowsWidgetsXyChartYAxis {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsXyChartYAxis
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartYAxis(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartChartOptions(des, initial *DashboardRowLayoutRowsWidgetsXyChartChartOptions, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsXyChartChartOptions {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsXyChartChartOptions{}
-
- if dcl.IsZeroValue(des.Mode) || (dcl.IsEmptyValueIndirect(des.Mode) && dcl.IsEmptyValueIndirect(initial.Mode)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Mode = initial.Mode
- } else {
- cDes.Mode = des.Mode
- }
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsXyChartChartOptionsSlice(des, initial []DashboardRowLayoutRowsWidgetsXyChartChartOptions, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsXyChartChartOptions {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartChartOptions, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartChartOptions(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartChartOptions, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsXyChartChartOptions(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartChartOptions(c *Client, des, nw *DashboardRowLayoutRowsWidgetsXyChartChartOptions) *DashboardRowLayoutRowsWidgetsXyChartChartOptions {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsXyChartChartOptions while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartChartOptionsSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartChartOptions) []DashboardRowLayoutRowsWidgetsXyChartChartOptions {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsXyChartChartOptions
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsXyChartChartOptionsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartChartOptions(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartChartOptionsSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsXyChartChartOptions) []DashboardRowLayoutRowsWidgetsXyChartChartOptions {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsXyChartChartOptions
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsXyChartChartOptions(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecard(des, initial *DashboardRowLayoutRowsWidgetsScorecard, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsScorecard {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsScorecard{}
-
- cDes.TimeSeriesQuery = canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery(des.TimeSeriesQuery, initial.TimeSeriesQuery, opts...)
- cDes.GaugeView = canonicalizeDashboardRowLayoutRowsWidgetsScorecardGaugeView(des.GaugeView, initial.GaugeView, opts...)
- cDes.SparkChartView = canonicalizeDashboardRowLayoutRowsWidgetsScorecardSparkChartView(des.SparkChartView, initial.SparkChartView, opts...)
- cDes.Thresholds = canonicalizeDashboardRowLayoutRowsWidgetsScorecardThresholdsSlice(des.Thresholds, initial.Thresholds, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecardSlice(des, initial []DashboardRowLayoutRowsWidgetsScorecard, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsScorecard {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecard, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecard(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecard, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecard(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecard(c *Client, des, nw *DashboardRowLayoutRowsWidgetsScorecard) *DashboardRowLayoutRowsWidgetsScorecard {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsScorecard while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.TimeSeriesQuery = canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery(c, des.TimeSeriesQuery, nw.TimeSeriesQuery)
- nw.GaugeView = canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardGaugeView(c, des.GaugeView, nw.GaugeView)
- nw.SparkChartView = canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardSparkChartView(c, des.SparkChartView, nw.SparkChartView)
- nw.Thresholds = canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardThresholdsSlice(c, des.Thresholds, nw.Thresholds)
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecard) []DashboardRowLayoutRowsWidgetsScorecard {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsScorecard
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsScorecardNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecard(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecard) []DashboardRowLayoutRowsWidgetsScorecard {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsScorecard
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecard(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery(des, initial *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery{}
-
- cDes.TimeSeriesFilter = canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(des.TimeSeriesFilter, initial.TimeSeriesFilter, opts...)
- cDes.TimeSeriesFilterRatio = canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(des.TimeSeriesFilterRatio, initial.TimeSeriesFilterRatio, opts...)
- if dcl.StringCanonicalize(des.TimeSeriesQueryLanguage, initial.TimeSeriesQueryLanguage) || dcl.IsZeroValue(des.TimeSeriesQueryLanguage) {
- cDes.TimeSeriesQueryLanguage = initial.TimeSeriesQueryLanguage
- } else {
- cDes.TimeSeriesQueryLanguage = des.TimeSeriesQueryLanguage
- }
- if dcl.StringCanonicalize(des.UnitOverride, initial.UnitOverride) || dcl.IsZeroValue(des.UnitOverride) {
- cDes.UnitOverride = initial.UnitOverride
- } else {
- cDes.UnitOverride = des.UnitOverride
- }
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuerySlice(des, initial []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery(c *Client, des, nw *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.TimeSeriesFilter = canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c, des.TimeSeriesFilter, nw.TimeSeriesFilter)
- nw.TimeSeriesFilterRatio = canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, des.TimeSeriesFilterRatio, nw.TimeSeriesFilterRatio)
- if dcl.StringCanonicalize(des.TimeSeriesQueryLanguage, nw.TimeSeriesQueryLanguage) {
- nw.TimeSeriesQueryLanguage = des.TimeSeriesQueryLanguage
- }
- if dcl.StringCanonicalize(des.UnitOverride, nw.UnitOverride) {
- nw.UnitOverride = des.UnitOverride
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuerySet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuerySlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(des, initial *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter{}
-
- if dcl.StringCanonicalize(des.Filter, initial.Filter) || dcl.IsZeroValue(des.Filter) {
- cDes.Filter = initial.Filter
- } else {
- cDes.Filter = des.Filter
- }
- cDes.Aggregation = canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(des.Aggregation, initial.Aggregation, opts...)
- cDes.SecondaryAggregation = canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(des.SecondaryAggregation, initial.SecondaryAggregation, opts...)
- cDes.PickTimeSeriesFilter = canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(des.PickTimeSeriesFilter, initial.PickTimeSeriesFilter, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSlice(des, initial []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c *Client, des, nw *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Filter, nw.Filter) {
- nw.Filter = des.Filter
- }
- nw.Aggregation = canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, des.Aggregation, nw.Aggregation)
- nw.SecondaryAggregation = canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, des.SecondaryAggregation, nw.SecondaryAggregation)
- nw.PickTimeSeriesFilter = canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, des.PickTimeSeriesFilter, nw.PickTimeSeriesFilter)
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(des, initial *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationSlice(des, initial []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c *Client, des, nw *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(des, initial *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(des, initial []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c *Client, des, nw *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(des, initial *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
-
- if dcl.IsZeroValue(des.RankingMethod) || (dcl.IsEmptyValueIndirect(des.RankingMethod) && dcl.IsEmptyValueIndirect(initial.RankingMethod)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.RankingMethod = initial.RankingMethod
- } else {
- cDes.RankingMethod = des.RankingMethod
- }
- if dcl.IsZeroValue(des.NumTimeSeries) || (dcl.IsEmptyValueIndirect(des.NumTimeSeries) && dcl.IsEmptyValueIndirect(initial.NumTimeSeries)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.NumTimeSeries = initial.NumTimeSeries
- } else {
- cDes.NumTimeSeries = des.NumTimeSeries
- }
- if dcl.IsZeroValue(des.Direction) || (dcl.IsEmptyValueIndirect(des.Direction) && dcl.IsEmptyValueIndirect(initial.Direction)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Direction = initial.Direction
- } else {
- cDes.Direction = des.Direction
- }
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(des, initial []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c *Client, des, nw *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(des, initial *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
-
- cDes.Numerator = canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(des.Numerator, initial.Numerator, opts...)
- cDes.Denominator = canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(des.Denominator, initial.Denominator, opts...)
- cDes.SecondaryAggregation = canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(des.SecondaryAggregation, initial.SecondaryAggregation, opts...)
- cDes.PickTimeSeriesFilter = canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(des.PickTimeSeriesFilter, initial.PickTimeSeriesFilter, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSlice(des, initial []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c *Client, des, nw *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.Numerator = canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, des.Numerator, nw.Numerator)
- nw.Denominator = canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, des.Denominator, nw.Denominator)
- nw.SecondaryAggregation = canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, des.SecondaryAggregation, nw.SecondaryAggregation)
- nw.PickTimeSeriesFilter = canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, des.PickTimeSeriesFilter, nw.PickTimeSeriesFilter)
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(des, initial *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
-
- if dcl.StringCanonicalize(des.Filter, initial.Filter) || dcl.IsZeroValue(des.Filter) {
- cDes.Filter = initial.Filter
- } else {
- cDes.Filter = des.Filter
- }
- cDes.Aggregation = canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(des.Aggregation, initial.Aggregation, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(des, initial []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c *Client, des, nw *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Filter, nw.Filter) {
- nw.Filter = des.Filter
- }
- nw.Aggregation = canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, des.Aggregation, nw.Aggregation)
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(des, initial *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(des, initial []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c *Client, des, nw *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(des, initial *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
-
- if dcl.StringCanonicalize(des.Filter, initial.Filter) || dcl.IsZeroValue(des.Filter) {
- cDes.Filter = initial.Filter
- } else {
- cDes.Filter = des.Filter
- }
- cDes.Aggregation = canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(des.Aggregation, initial.Aggregation, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(des, initial []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c *Client, des, nw *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Filter, nw.Filter) {
- nw.Filter = des.Filter
- }
- nw.Aggregation = canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, des.Aggregation, nw.Aggregation)
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(des, initial *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(des, initial []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c *Client, des, nw *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(des, initial *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(des, initial []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c *Client, des, nw *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(des, initial *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
-
- if dcl.IsZeroValue(des.RankingMethod) || (dcl.IsEmptyValueIndirect(des.RankingMethod) && dcl.IsEmptyValueIndirect(initial.RankingMethod)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.RankingMethod = initial.RankingMethod
- } else {
- cDes.RankingMethod = des.RankingMethod
- }
- if dcl.IsZeroValue(des.NumTimeSeries) || (dcl.IsEmptyValueIndirect(des.NumTimeSeries) && dcl.IsEmptyValueIndirect(initial.NumTimeSeries)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.NumTimeSeries = initial.NumTimeSeries
- } else {
- cDes.NumTimeSeries = des.NumTimeSeries
- }
- if dcl.IsZeroValue(des.Direction) || (dcl.IsEmptyValueIndirect(des.Direction) && dcl.IsEmptyValueIndirect(initial.Direction)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Direction = initial.Direction
- } else {
- cDes.Direction = des.Direction
- }
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(des, initial []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c *Client, des, nw *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecardGaugeView(des, initial *DashboardRowLayoutRowsWidgetsScorecardGaugeView, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsScorecardGaugeView {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsScorecardGaugeView{}
-
- if dcl.IsZeroValue(des.LowerBound) || (dcl.IsEmptyValueIndirect(des.LowerBound) && dcl.IsEmptyValueIndirect(initial.LowerBound)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.LowerBound = initial.LowerBound
- } else {
- cDes.LowerBound = des.LowerBound
- }
- if dcl.IsZeroValue(des.UpperBound) || (dcl.IsEmptyValueIndirect(des.UpperBound) && dcl.IsEmptyValueIndirect(initial.UpperBound)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.UpperBound = initial.UpperBound
- } else {
- cDes.UpperBound = des.UpperBound
- }
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecardGaugeViewSlice(des, initial []DashboardRowLayoutRowsWidgetsScorecardGaugeView, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsScorecardGaugeView {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardGaugeView, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecardGaugeView(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardGaugeView, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecardGaugeView(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardGaugeView(c *Client, des, nw *DashboardRowLayoutRowsWidgetsScorecardGaugeView) *DashboardRowLayoutRowsWidgetsScorecardGaugeView {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsScorecardGaugeView while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardGaugeViewSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecardGaugeView) []DashboardRowLayoutRowsWidgetsScorecardGaugeView {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsScorecardGaugeView
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsScorecardGaugeViewNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardGaugeView(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardGaugeViewSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecardGaugeView) []DashboardRowLayoutRowsWidgetsScorecardGaugeView {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsScorecardGaugeView
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardGaugeView(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecardSparkChartView(des, initial *DashboardRowLayoutRowsWidgetsScorecardSparkChartView, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsScorecardSparkChartView {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsScorecardSparkChartView{}
-
- if dcl.IsZeroValue(des.SparkChartType) || (dcl.IsEmptyValueIndirect(des.SparkChartType) && dcl.IsEmptyValueIndirect(initial.SparkChartType)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.SparkChartType = initial.SparkChartType
- } else {
- cDes.SparkChartType = des.SparkChartType
- }
- if dcl.StringCanonicalize(des.MinAlignmentPeriod, initial.MinAlignmentPeriod) || dcl.IsZeroValue(des.MinAlignmentPeriod) {
- cDes.MinAlignmentPeriod = initial.MinAlignmentPeriod
- } else {
- cDes.MinAlignmentPeriod = des.MinAlignmentPeriod
- }
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecardSparkChartViewSlice(des, initial []DashboardRowLayoutRowsWidgetsScorecardSparkChartView, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsScorecardSparkChartView {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardSparkChartView, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecardSparkChartView(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardSparkChartView, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecardSparkChartView(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardSparkChartView(c *Client, des, nw *DashboardRowLayoutRowsWidgetsScorecardSparkChartView) *DashboardRowLayoutRowsWidgetsScorecardSparkChartView {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsScorecardSparkChartView while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.MinAlignmentPeriod, nw.MinAlignmentPeriod) {
- nw.MinAlignmentPeriod = des.MinAlignmentPeriod
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardSparkChartViewSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecardSparkChartView) []DashboardRowLayoutRowsWidgetsScorecardSparkChartView {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsScorecardSparkChartView
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsScorecardSparkChartViewNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardSparkChartView(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardSparkChartViewSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecardSparkChartView) []DashboardRowLayoutRowsWidgetsScorecardSparkChartView {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsScorecardSparkChartView
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardSparkChartView(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecardThresholds(des, initial *DashboardRowLayoutRowsWidgetsScorecardThresholds, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsScorecardThresholds {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsScorecardThresholds{}
-
- if dcl.StringCanonicalize(des.Label, initial.Label) || dcl.IsZeroValue(des.Label) {
- cDes.Label = initial.Label
- } else {
- cDes.Label = des.Label
- }
- if dcl.IsZeroValue(des.Value) || (dcl.IsEmptyValueIndirect(des.Value) && dcl.IsEmptyValueIndirect(initial.Value)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Value = initial.Value
- } else {
- cDes.Value = des.Value
- }
- if dcl.IsZeroValue(des.Color) || (dcl.IsEmptyValueIndirect(des.Color) && dcl.IsEmptyValueIndirect(initial.Color)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Color = initial.Color
- } else {
- cDes.Color = des.Color
- }
- if dcl.IsZeroValue(des.Direction) || (dcl.IsEmptyValueIndirect(des.Direction) && dcl.IsEmptyValueIndirect(initial.Direction)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Direction = initial.Direction
- } else {
- cDes.Direction = des.Direction
- }
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsScorecardThresholdsSlice(des, initial []DashboardRowLayoutRowsWidgetsScorecardThresholds, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsScorecardThresholds {
- if des == nil {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardThresholds, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecardThresholds(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardThresholds, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsScorecardThresholds(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardThresholds(c *Client, des, nw *DashboardRowLayoutRowsWidgetsScorecardThresholds) *DashboardRowLayoutRowsWidgetsScorecardThresholds {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsScorecardThresholds while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Label, nw.Label) {
- nw.Label = des.Label
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardThresholdsSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecardThresholds) []DashboardRowLayoutRowsWidgetsScorecardThresholds {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsScorecardThresholds
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsScorecardThresholdsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardThresholds(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardThresholdsSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsScorecardThresholds) []DashboardRowLayoutRowsWidgetsScorecardThresholds {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsScorecardThresholds
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsScorecardThresholds(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsText(des, initial *DashboardRowLayoutRowsWidgetsText, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsText {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsText{}
-
- if dcl.StringCanonicalize(des.Content, initial.Content) || dcl.IsZeroValue(des.Content) {
- cDes.Content = initial.Content
- } else {
- cDes.Content = des.Content
- }
- if dcl.IsZeroValue(des.Format) || (dcl.IsEmptyValueIndirect(des.Format) && dcl.IsEmptyValueIndirect(initial.Format)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Format = initial.Format
- } else {
- cDes.Format = des.Format
- }
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsTextSlice(des, initial []DashboardRowLayoutRowsWidgetsText, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsText {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsText, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsText(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsText, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsText(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsText(c *Client, des, nw *DashboardRowLayoutRowsWidgetsText) *DashboardRowLayoutRowsWidgetsText {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsText while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Content, nw.Content) {
- nw.Content = des.Content
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsTextSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsText) []DashboardRowLayoutRowsWidgetsText {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsText
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsTextNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsText(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsTextSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsText) []DashboardRowLayoutRowsWidgetsText {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsText
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsText(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsBlank(des, initial *DashboardRowLayoutRowsWidgetsBlank, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsBlank {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsBlank{}
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsBlankSlice(des, initial []DashboardRowLayoutRowsWidgetsBlank, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsBlank {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsBlank, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsBlank(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsBlank, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsBlank(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsBlank(c *Client, des, nw *DashboardRowLayoutRowsWidgetsBlank) *DashboardRowLayoutRowsWidgetsBlank {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsBlank while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsBlankSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsBlank) []DashboardRowLayoutRowsWidgetsBlank {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsBlank
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsBlankNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsBlank(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsBlankSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsBlank) []DashboardRowLayoutRowsWidgetsBlank {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsBlank
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsBlank(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsLogsPanel(des, initial *DashboardRowLayoutRowsWidgetsLogsPanel, opts ...dcl.ApplyOption) *DashboardRowLayoutRowsWidgetsLogsPanel {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardRowLayoutRowsWidgetsLogsPanel{}
-
- if dcl.StringCanonicalize(des.Filter, initial.Filter) || dcl.IsZeroValue(des.Filter) {
- cDes.Filter = initial.Filter
- } else {
- cDes.Filter = des.Filter
- }
- if dcl.StringArrayCanonicalize(des.ResourceNames, initial.ResourceNames) {
- cDes.ResourceNames = initial.ResourceNames
- } else {
- cDes.ResourceNames = des.ResourceNames
- }
-
- return cDes
-}
-
-func canonicalizeDashboardRowLayoutRowsWidgetsLogsPanelSlice(des, initial []DashboardRowLayoutRowsWidgetsLogsPanel, opts ...dcl.ApplyOption) []DashboardRowLayoutRowsWidgetsLogsPanel {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardRowLayoutRowsWidgetsLogsPanel, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsLogsPanel(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsLogsPanel, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardRowLayoutRowsWidgetsLogsPanel(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsLogsPanel(c *Client, des, nw *DashboardRowLayoutRowsWidgetsLogsPanel) *DashboardRowLayoutRowsWidgetsLogsPanel {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardRowLayoutRowsWidgetsLogsPanel while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Filter, nw.Filter) {
- nw.Filter = des.Filter
- }
- if dcl.StringArrayCanonicalize(des.ResourceNames, nw.ResourceNames) {
- nw.ResourceNames = des.ResourceNames
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsLogsPanelSet(c *Client, des, nw []DashboardRowLayoutRowsWidgetsLogsPanel) []DashboardRowLayoutRowsWidgetsLogsPanel {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardRowLayoutRowsWidgetsLogsPanel
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardRowLayoutRowsWidgetsLogsPanelNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsLogsPanel(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardRowLayoutRowsWidgetsLogsPanelSlice(c *Client, des, nw []DashboardRowLayoutRowsWidgetsLogsPanel) []DashboardRowLayoutRowsWidgetsLogsPanel {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardRowLayoutRowsWidgetsLogsPanel
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardRowLayoutRowsWidgetsLogsPanel(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayout(des, initial *DashboardColumnLayout, opts ...dcl.ApplyOption) *DashboardColumnLayout {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayout{}
-
- cDes.Columns = canonicalizeDashboardColumnLayoutColumnsSlice(des.Columns, initial.Columns, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutSlice(des, initial []DashboardColumnLayout, opts ...dcl.ApplyOption) []DashboardColumnLayout {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayout, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayout(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayout, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayout(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayout(c *Client, des, nw *DashboardColumnLayout) *DashboardColumnLayout {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayout while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.Columns = canonicalizeNewDashboardColumnLayoutColumnsSlice(c, des.Columns, nw.Columns)
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutSet(c *Client, des, nw []DashboardColumnLayout) []DashboardColumnLayout {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayout
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayout(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutSlice(c *Client, des, nw []DashboardColumnLayout) []DashboardColumnLayout {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayout
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayout(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumns(des, initial *DashboardColumnLayoutColumns, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumns {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumns{}
-
- if dcl.IsZeroValue(des.Weight) || (dcl.IsEmptyValueIndirect(des.Weight) && dcl.IsEmptyValueIndirect(initial.Weight)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Weight = initial.Weight
- } else {
- cDes.Weight = des.Weight
- }
- cDes.Widgets = canonicalizeDashboardColumnLayoutColumnsWidgetsSlice(des.Widgets, initial.Widgets, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsSlice(des, initial []DashboardColumnLayoutColumns, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumns {
- if des == nil {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumns, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumns(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumns, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumns(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumns(c *Client, des, nw *DashboardColumnLayoutColumns) *DashboardColumnLayoutColumns {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumns while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.Widgets = canonicalizeNewDashboardColumnLayoutColumnsWidgetsSlice(c, des.Widgets, nw.Widgets)
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsSet(c *Client, des, nw []DashboardColumnLayoutColumns) []DashboardColumnLayoutColumns {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumns
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumns(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsSlice(c *Client, des, nw []DashboardColumnLayoutColumns) []DashboardColumnLayoutColumns {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumns
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumns(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgets(des, initial *DashboardColumnLayoutColumnsWidgets, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgets {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if des.XyChart != nil || (initial != nil && initial.XyChart != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Scorecard, des.Text, des.Blank, des.LogsPanel) {
- des.XyChart = nil
- if initial != nil {
- initial.XyChart = nil
- }
- }
- }
-
- if des.Scorecard != nil || (initial != nil && initial.Scorecard != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.XyChart, des.Text, des.Blank, des.LogsPanel) {
- des.Scorecard = nil
- if initial != nil {
- initial.Scorecard = nil
- }
- }
- }
-
- if des.Text != nil || (initial != nil && initial.Text != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.XyChart, des.Scorecard, des.Blank, des.LogsPanel) {
- des.Text = nil
- if initial != nil {
- initial.Text = nil
- }
- }
- }
-
- if des.Blank != nil || (initial != nil && initial.Blank != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.XyChart, des.Scorecard, des.Text, des.LogsPanel) {
- des.Blank = nil
- if initial != nil {
- initial.Blank = nil
- }
- }
- }
-
- if des.LogsPanel != nil || (initial != nil && initial.LogsPanel != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.XyChart, des.Scorecard, des.Text, des.Blank) {
- des.LogsPanel = nil
- if initial != nil {
- initial.LogsPanel = nil
- }
- }
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgets{}
-
- if dcl.StringCanonicalize(des.Title, initial.Title) || dcl.IsZeroValue(des.Title) {
- cDes.Title = initial.Title
- } else {
- cDes.Title = des.Title
- }
- cDes.XyChart = canonicalizeDashboardColumnLayoutColumnsWidgetsXyChart(des.XyChart, initial.XyChart, opts...)
- cDes.Scorecard = canonicalizeDashboardColumnLayoutColumnsWidgetsScorecard(des.Scorecard, initial.Scorecard, opts...)
- cDes.Text = canonicalizeDashboardColumnLayoutColumnsWidgetsText(des.Text, initial.Text, opts...)
- cDes.Blank = canonicalizeDashboardColumnLayoutColumnsWidgetsBlank(des.Blank, initial.Blank, opts...)
- cDes.LogsPanel = canonicalizeDashboardColumnLayoutColumnsWidgetsLogsPanel(des.LogsPanel, initial.LogsPanel, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsSlice(des, initial []DashboardColumnLayoutColumnsWidgets, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgets {
- if des == nil {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgets, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgets(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgets, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgets(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgets(c *Client, des, nw *DashboardColumnLayoutColumnsWidgets) *DashboardColumnLayoutColumnsWidgets {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgets while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Title, nw.Title) {
- nw.Title = des.Title
- }
- nw.XyChart = canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChart(c, des.XyChart, nw.XyChart)
- nw.Scorecard = canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecard(c, des.Scorecard, nw.Scorecard)
- nw.Text = canonicalizeNewDashboardColumnLayoutColumnsWidgetsText(c, des.Text, nw.Text)
- nw.Blank = canonicalizeNewDashboardColumnLayoutColumnsWidgetsBlank(c, des.Blank, nw.Blank)
- nw.LogsPanel = canonicalizeNewDashboardColumnLayoutColumnsWidgetsLogsPanel(c, des.LogsPanel, nw.LogsPanel)
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgets) []DashboardColumnLayoutColumnsWidgets {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgets
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgets(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgets) []DashboardColumnLayoutColumnsWidgets {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgets
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgets(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChart(des, initial *DashboardColumnLayoutColumnsWidgetsXyChart, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsXyChart {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsXyChart{}
-
- cDes.DataSets = canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsSlice(des.DataSets, initial.DataSets, opts...)
- if dcl.StringCanonicalize(des.TimeshiftDuration, initial.TimeshiftDuration) || dcl.IsZeroValue(des.TimeshiftDuration) {
- cDes.TimeshiftDuration = initial.TimeshiftDuration
- } else {
- cDes.TimeshiftDuration = des.TimeshiftDuration
- }
- cDes.Thresholds = canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartThresholdsSlice(des.Thresholds, initial.Thresholds, opts...)
- cDes.XAxis = canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartXAxis(des.XAxis, initial.XAxis, opts...)
- cDes.YAxis = canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartYAxis(des.YAxis, initial.YAxis, opts...)
- cDes.ChartOptions = canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartChartOptions(des.ChartOptions, initial.ChartOptions, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartSlice(des, initial []DashboardColumnLayoutColumnsWidgetsXyChart, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsXyChart {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChart, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChart(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChart, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChart(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChart(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsXyChart) *DashboardColumnLayoutColumnsWidgetsXyChart {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsXyChart while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.DataSets = canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsSlice(c, des.DataSets, nw.DataSets)
- if dcl.StringCanonicalize(des.TimeshiftDuration, nw.TimeshiftDuration) {
- nw.TimeshiftDuration = des.TimeshiftDuration
- }
- nw.Thresholds = canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartThresholdsSlice(c, des.Thresholds, nw.Thresholds)
- nw.XAxis = canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartXAxis(c, des.XAxis, nw.XAxis)
- nw.YAxis = canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartYAxis(c, des.YAxis, nw.YAxis)
- nw.ChartOptions = canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartChartOptions(c, des.ChartOptions, nw.ChartOptions)
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChart) []DashboardColumnLayoutColumnsWidgetsXyChart {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsXyChart
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsXyChartNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChart(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChart) []DashboardColumnLayoutColumnsWidgetsXyChart {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsXyChart
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChart(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSets(des, initial *DashboardColumnLayoutColumnsWidgetsXyChartDataSets, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsXyChartDataSets {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsXyChartDataSets{}
-
- cDes.TimeSeriesQuery = canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery(des.TimeSeriesQuery, initial.TimeSeriesQuery, opts...)
- if dcl.IsZeroValue(des.PlotType) || (dcl.IsEmptyValueIndirect(des.PlotType) && dcl.IsEmptyValueIndirect(initial.PlotType)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PlotType = initial.PlotType
- } else {
- cDes.PlotType = des.PlotType
- }
- if dcl.StringCanonicalize(des.LegendTemplate, initial.LegendTemplate) || dcl.IsZeroValue(des.LegendTemplate) {
- cDes.LegendTemplate = initial.LegendTemplate
- } else {
- cDes.LegendTemplate = des.LegendTemplate
- }
- if dcl.StringCanonicalize(des.MinAlignmentPeriod, initial.MinAlignmentPeriod) || dcl.IsZeroValue(des.MinAlignmentPeriod) {
- cDes.MinAlignmentPeriod = initial.MinAlignmentPeriod
- } else {
- cDes.MinAlignmentPeriod = des.MinAlignmentPeriod
- }
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsSlice(des, initial []DashboardColumnLayoutColumnsWidgetsXyChartDataSets, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsXyChartDataSets {
- if des == nil {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSets, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSets(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSets, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSets(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSets(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsXyChartDataSets) *DashboardColumnLayoutColumnsWidgetsXyChartDataSets {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsXyChartDataSets while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.TimeSeriesQuery = canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery(c, des.TimeSeriesQuery, nw.TimeSeriesQuery)
- if dcl.StringCanonicalize(des.LegendTemplate, nw.LegendTemplate) {
- nw.LegendTemplate = des.LegendTemplate
- }
- if dcl.StringCanonicalize(des.MinAlignmentPeriod, nw.MinAlignmentPeriod) {
- nw.MinAlignmentPeriod = des.MinAlignmentPeriod
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartDataSets) []DashboardColumnLayoutColumnsWidgetsXyChartDataSets {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsXyChartDataSets
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSets(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartDataSets) []DashboardColumnLayoutColumnsWidgetsXyChartDataSets {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsXyChartDataSets
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSets(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery(des, initial *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery{}
-
- cDes.TimeSeriesFilter = canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(des.TimeSeriesFilter, initial.TimeSeriesFilter, opts...)
- cDes.TimeSeriesFilterRatio = canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(des.TimeSeriesFilterRatio, initial.TimeSeriesFilterRatio, opts...)
- if dcl.StringCanonicalize(des.TimeSeriesQueryLanguage, initial.TimeSeriesQueryLanguage) || dcl.IsZeroValue(des.TimeSeriesQueryLanguage) {
- cDes.TimeSeriesQueryLanguage = initial.TimeSeriesQueryLanguage
- } else {
- cDes.TimeSeriesQueryLanguage = des.TimeSeriesQueryLanguage
- }
- if dcl.StringCanonicalize(des.UnitOverride, initial.UnitOverride) || dcl.IsZeroValue(des.UnitOverride) {
- cDes.UnitOverride = initial.UnitOverride
- } else {
- cDes.UnitOverride = des.UnitOverride
- }
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuerySlice(des, initial []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.TimeSeriesFilter = canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, des.TimeSeriesFilter, nw.TimeSeriesFilter)
- nw.TimeSeriesFilterRatio = canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, des.TimeSeriesFilterRatio, nw.TimeSeriesFilterRatio)
- if dcl.StringCanonicalize(des.TimeSeriesQueryLanguage, nw.TimeSeriesQueryLanguage) {
- nw.TimeSeriesQueryLanguage = des.TimeSeriesQueryLanguage
- }
- if dcl.StringCanonicalize(des.UnitOverride, nw.UnitOverride) {
- nw.UnitOverride = des.UnitOverride
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuerySet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuerySlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(des, initial *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
-
- if dcl.StringCanonicalize(des.Filter, initial.Filter) || dcl.IsZeroValue(des.Filter) {
- cDes.Filter = initial.Filter
- } else {
- cDes.Filter = des.Filter
- }
- cDes.Aggregation = canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(des.Aggregation, initial.Aggregation, opts...)
- cDes.SecondaryAggregation = canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(des.SecondaryAggregation, initial.SecondaryAggregation, opts...)
- cDes.PickTimeSeriesFilter = canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(des.PickTimeSeriesFilter, initial.PickTimeSeriesFilter, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSlice(des, initial []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Filter, nw.Filter) {
- nw.Filter = des.Filter
- }
- nw.Aggregation = canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, des.Aggregation, nw.Aggregation)
- nw.SecondaryAggregation = canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, des.SecondaryAggregation, nw.SecondaryAggregation)
- nw.PickTimeSeriesFilter = canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, des.PickTimeSeriesFilter, nw.PickTimeSeriesFilter)
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(des, initial *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationSlice(des, initial []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(des, initial *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(des, initial []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(des, initial *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
-
- if dcl.IsZeroValue(des.RankingMethod) || (dcl.IsEmptyValueIndirect(des.RankingMethod) && dcl.IsEmptyValueIndirect(initial.RankingMethod)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.RankingMethod = initial.RankingMethod
- } else {
- cDes.RankingMethod = des.RankingMethod
- }
- if dcl.IsZeroValue(des.NumTimeSeries) || (dcl.IsEmptyValueIndirect(des.NumTimeSeries) && dcl.IsEmptyValueIndirect(initial.NumTimeSeries)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.NumTimeSeries = initial.NumTimeSeries
- } else {
- cDes.NumTimeSeries = des.NumTimeSeries
- }
- if dcl.IsZeroValue(des.Direction) || (dcl.IsEmptyValueIndirect(des.Direction) && dcl.IsEmptyValueIndirect(initial.Direction)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Direction = initial.Direction
- } else {
- cDes.Direction = des.Direction
- }
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(des, initial []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(des, initial *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
-
- cDes.Numerator = canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(des.Numerator, initial.Numerator, opts...)
- cDes.Denominator = canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(des.Denominator, initial.Denominator, opts...)
- cDes.SecondaryAggregation = canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(des.SecondaryAggregation, initial.SecondaryAggregation, opts...)
- cDes.PickTimeSeriesFilter = canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(des.PickTimeSeriesFilter, initial.PickTimeSeriesFilter, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSlice(des, initial []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.Numerator = canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, des.Numerator, nw.Numerator)
- nw.Denominator = canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, des.Denominator, nw.Denominator)
- nw.SecondaryAggregation = canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, des.SecondaryAggregation, nw.SecondaryAggregation)
- nw.PickTimeSeriesFilter = canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, des.PickTimeSeriesFilter, nw.PickTimeSeriesFilter)
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(des, initial *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
-
- if dcl.StringCanonicalize(des.Filter, initial.Filter) || dcl.IsZeroValue(des.Filter) {
- cDes.Filter = initial.Filter
- } else {
- cDes.Filter = des.Filter
- }
- cDes.Aggregation = canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(des.Aggregation, initial.Aggregation, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(des, initial []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Filter, nw.Filter) {
- nw.Filter = des.Filter
- }
- nw.Aggregation = canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, des.Aggregation, nw.Aggregation)
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(des, initial *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(des, initial []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(des, initial *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
-
- if dcl.StringCanonicalize(des.Filter, initial.Filter) || dcl.IsZeroValue(des.Filter) {
- cDes.Filter = initial.Filter
- } else {
- cDes.Filter = des.Filter
- }
- cDes.Aggregation = canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(des.Aggregation, initial.Aggregation, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(des, initial []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Filter, nw.Filter) {
- nw.Filter = des.Filter
- }
- nw.Aggregation = canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, des.Aggregation, nw.Aggregation)
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(des, initial *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(des, initial []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(des, initial *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(des, initial []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(des, initial *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
-
- if dcl.IsZeroValue(des.RankingMethod) || (dcl.IsEmptyValueIndirect(des.RankingMethod) && dcl.IsEmptyValueIndirect(initial.RankingMethod)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.RankingMethod = initial.RankingMethod
- } else {
- cDes.RankingMethod = des.RankingMethod
- }
- if dcl.IsZeroValue(des.NumTimeSeries) || (dcl.IsEmptyValueIndirect(des.NumTimeSeries) && dcl.IsEmptyValueIndirect(initial.NumTimeSeries)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.NumTimeSeries = initial.NumTimeSeries
- } else {
- cDes.NumTimeSeries = des.NumTimeSeries
- }
- if dcl.IsZeroValue(des.Direction) || (dcl.IsEmptyValueIndirect(des.Direction) && dcl.IsEmptyValueIndirect(initial.Direction)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Direction = initial.Direction
- } else {
- cDes.Direction = des.Direction
- }
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(des, initial []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartThresholds(des, initial *DashboardColumnLayoutColumnsWidgetsXyChartThresholds, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsXyChartThresholds {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsXyChartThresholds{}
-
- if dcl.StringCanonicalize(des.Label, initial.Label) || dcl.IsZeroValue(des.Label) {
- cDes.Label = initial.Label
- } else {
- cDes.Label = des.Label
- }
- if dcl.IsZeroValue(des.Value) || (dcl.IsEmptyValueIndirect(des.Value) && dcl.IsEmptyValueIndirect(initial.Value)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Value = initial.Value
- } else {
- cDes.Value = des.Value
- }
- if dcl.IsZeroValue(des.Color) || (dcl.IsEmptyValueIndirect(des.Color) && dcl.IsEmptyValueIndirect(initial.Color)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Color = initial.Color
- } else {
- cDes.Color = des.Color
- }
- if dcl.IsZeroValue(des.Direction) || (dcl.IsEmptyValueIndirect(des.Direction) && dcl.IsEmptyValueIndirect(initial.Direction)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Direction = initial.Direction
- } else {
- cDes.Direction = des.Direction
- }
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartThresholdsSlice(des, initial []DashboardColumnLayoutColumnsWidgetsXyChartThresholds, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsXyChartThresholds {
- if des == nil {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartThresholds, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartThresholds(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartThresholds, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartThresholds(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartThresholds(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsXyChartThresholds) *DashboardColumnLayoutColumnsWidgetsXyChartThresholds {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsXyChartThresholds while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Label, nw.Label) {
- nw.Label = des.Label
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartThresholdsSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartThresholds) []DashboardColumnLayoutColumnsWidgetsXyChartThresholds {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsXyChartThresholds
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsXyChartThresholdsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartThresholds(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartThresholdsSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartThresholds) []DashboardColumnLayoutColumnsWidgetsXyChartThresholds {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsXyChartThresholds
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartThresholds(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartXAxis(des, initial *DashboardColumnLayoutColumnsWidgetsXyChartXAxis, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsXyChartXAxis {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsXyChartXAxis{}
-
- if dcl.StringCanonicalize(des.Label, initial.Label) || dcl.IsZeroValue(des.Label) {
- cDes.Label = initial.Label
- } else {
- cDes.Label = des.Label
- }
- if dcl.IsZeroValue(des.Scale) || (dcl.IsEmptyValueIndirect(des.Scale) && dcl.IsEmptyValueIndirect(initial.Scale)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Scale = initial.Scale
- } else {
- cDes.Scale = des.Scale
- }
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartXAxisSlice(des, initial []DashboardColumnLayoutColumnsWidgetsXyChartXAxis, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsXyChartXAxis {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartXAxis, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartXAxis(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartXAxis, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartXAxis(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartXAxis(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsXyChartXAxis) *DashboardColumnLayoutColumnsWidgetsXyChartXAxis {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsXyChartXAxis while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Label, nw.Label) {
- nw.Label = des.Label
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartXAxisSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartXAxis) []DashboardColumnLayoutColumnsWidgetsXyChartXAxis {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsXyChartXAxis
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsXyChartXAxisNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartXAxis(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartXAxisSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartXAxis) []DashboardColumnLayoutColumnsWidgetsXyChartXAxis {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsXyChartXAxis
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartXAxis(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartYAxis(des, initial *DashboardColumnLayoutColumnsWidgetsXyChartYAxis, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsXyChartYAxis {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsXyChartYAxis{}
-
- if dcl.StringCanonicalize(des.Label, initial.Label) || dcl.IsZeroValue(des.Label) {
- cDes.Label = initial.Label
- } else {
- cDes.Label = des.Label
- }
- if dcl.IsZeroValue(des.Scale) || (dcl.IsEmptyValueIndirect(des.Scale) && dcl.IsEmptyValueIndirect(initial.Scale)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Scale = initial.Scale
- } else {
- cDes.Scale = des.Scale
- }
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartYAxisSlice(des, initial []DashboardColumnLayoutColumnsWidgetsXyChartYAxis, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsXyChartYAxis {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartYAxis, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartYAxis(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartYAxis, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartYAxis(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartYAxis(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsXyChartYAxis) *DashboardColumnLayoutColumnsWidgetsXyChartYAxis {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsXyChartYAxis while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Label, nw.Label) {
- nw.Label = des.Label
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartYAxisSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartYAxis) []DashboardColumnLayoutColumnsWidgetsXyChartYAxis {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsXyChartYAxis
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsXyChartYAxisNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartYAxis(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartYAxisSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartYAxis) []DashboardColumnLayoutColumnsWidgetsXyChartYAxis {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsXyChartYAxis
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartYAxis(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartChartOptions(des, initial *DashboardColumnLayoutColumnsWidgetsXyChartChartOptions, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsXyChartChartOptions {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsXyChartChartOptions{}
-
- if dcl.IsZeroValue(des.Mode) || (dcl.IsEmptyValueIndirect(des.Mode) && dcl.IsEmptyValueIndirect(initial.Mode)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Mode = initial.Mode
- } else {
- cDes.Mode = des.Mode
- }
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartChartOptionsSlice(des, initial []DashboardColumnLayoutColumnsWidgetsXyChartChartOptions, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsXyChartChartOptions {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartChartOptions, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartChartOptions(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartChartOptions, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsXyChartChartOptions(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartChartOptions(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsXyChartChartOptions) *DashboardColumnLayoutColumnsWidgetsXyChartChartOptions {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsXyChartChartOptions while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartChartOptionsSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartChartOptions) []DashboardColumnLayoutColumnsWidgetsXyChartChartOptions {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsXyChartChartOptions
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsXyChartChartOptionsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartChartOptions(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartChartOptionsSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsXyChartChartOptions) []DashboardColumnLayoutColumnsWidgetsXyChartChartOptions {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsXyChartChartOptions
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsXyChartChartOptions(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecard(des, initial *DashboardColumnLayoutColumnsWidgetsScorecard, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsScorecard {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsScorecard{}
-
- cDes.TimeSeriesQuery = canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery(des.TimeSeriesQuery, initial.TimeSeriesQuery, opts...)
- cDes.GaugeView = canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardGaugeView(des.GaugeView, initial.GaugeView, opts...)
- cDes.SparkChartView = canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardSparkChartView(des.SparkChartView, initial.SparkChartView, opts...)
- cDes.Thresholds = canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardThresholdsSlice(des.Thresholds, initial.Thresholds, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardSlice(des, initial []DashboardColumnLayoutColumnsWidgetsScorecard, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsScorecard {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecard, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecard(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecard, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecard(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecard(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsScorecard) *DashboardColumnLayoutColumnsWidgetsScorecard {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsScorecard while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.TimeSeriesQuery = canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery(c, des.TimeSeriesQuery, nw.TimeSeriesQuery)
- nw.GaugeView = canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardGaugeView(c, des.GaugeView, nw.GaugeView)
- nw.SparkChartView = canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardSparkChartView(c, des.SparkChartView, nw.SparkChartView)
- nw.Thresholds = canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardThresholdsSlice(c, des.Thresholds, nw.Thresholds)
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecard) []DashboardColumnLayoutColumnsWidgetsScorecard {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsScorecard
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsScorecardNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecard(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecard) []DashboardColumnLayoutColumnsWidgetsScorecard {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsScorecard
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecard(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery(des, initial *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery{}
-
- cDes.TimeSeriesFilter = canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(des.TimeSeriesFilter, initial.TimeSeriesFilter, opts...)
- cDes.TimeSeriesFilterRatio = canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(des.TimeSeriesFilterRatio, initial.TimeSeriesFilterRatio, opts...)
- if dcl.StringCanonicalize(des.TimeSeriesQueryLanguage, initial.TimeSeriesQueryLanguage) || dcl.IsZeroValue(des.TimeSeriesQueryLanguage) {
- cDes.TimeSeriesQueryLanguage = initial.TimeSeriesQueryLanguage
- } else {
- cDes.TimeSeriesQueryLanguage = des.TimeSeriesQueryLanguage
- }
- if dcl.StringCanonicalize(des.UnitOverride, initial.UnitOverride) || dcl.IsZeroValue(des.UnitOverride) {
- cDes.UnitOverride = initial.UnitOverride
- } else {
- cDes.UnitOverride = des.UnitOverride
- }
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuerySlice(des, initial []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.TimeSeriesFilter = canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c, des.TimeSeriesFilter, nw.TimeSeriesFilter)
- nw.TimeSeriesFilterRatio = canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, des.TimeSeriesFilterRatio, nw.TimeSeriesFilterRatio)
- if dcl.StringCanonicalize(des.TimeSeriesQueryLanguage, nw.TimeSeriesQueryLanguage) {
- nw.TimeSeriesQueryLanguage = des.TimeSeriesQueryLanguage
- }
- if dcl.StringCanonicalize(des.UnitOverride, nw.UnitOverride) {
- nw.UnitOverride = des.UnitOverride
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuerySet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuerySlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(des, initial *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter{}
-
- if dcl.StringCanonicalize(des.Filter, initial.Filter) || dcl.IsZeroValue(des.Filter) {
- cDes.Filter = initial.Filter
- } else {
- cDes.Filter = des.Filter
- }
- cDes.Aggregation = canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(des.Aggregation, initial.Aggregation, opts...)
- cDes.SecondaryAggregation = canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(des.SecondaryAggregation, initial.SecondaryAggregation, opts...)
- cDes.PickTimeSeriesFilter = canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(des.PickTimeSeriesFilter, initial.PickTimeSeriesFilter, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSlice(des, initial []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Filter, nw.Filter) {
- nw.Filter = des.Filter
- }
- nw.Aggregation = canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, des.Aggregation, nw.Aggregation)
- nw.SecondaryAggregation = canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, des.SecondaryAggregation, nw.SecondaryAggregation)
- nw.PickTimeSeriesFilter = canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, des.PickTimeSeriesFilter, nw.PickTimeSeriesFilter)
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(des, initial *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationSlice(des, initial []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(des, initial *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(des, initial []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(des, initial *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
-
- if dcl.IsZeroValue(des.RankingMethod) || (dcl.IsEmptyValueIndirect(des.RankingMethod) && dcl.IsEmptyValueIndirect(initial.RankingMethod)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.RankingMethod = initial.RankingMethod
- } else {
- cDes.RankingMethod = des.RankingMethod
- }
- if dcl.IsZeroValue(des.NumTimeSeries) || (dcl.IsEmptyValueIndirect(des.NumTimeSeries) && dcl.IsEmptyValueIndirect(initial.NumTimeSeries)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.NumTimeSeries = initial.NumTimeSeries
- } else {
- cDes.NumTimeSeries = des.NumTimeSeries
- }
- if dcl.IsZeroValue(des.Direction) || (dcl.IsEmptyValueIndirect(des.Direction) && dcl.IsEmptyValueIndirect(initial.Direction)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Direction = initial.Direction
- } else {
- cDes.Direction = des.Direction
- }
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(des, initial []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(des, initial *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
-
- cDes.Numerator = canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(des.Numerator, initial.Numerator, opts...)
- cDes.Denominator = canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(des.Denominator, initial.Denominator, opts...)
- cDes.SecondaryAggregation = canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(des.SecondaryAggregation, initial.SecondaryAggregation, opts...)
- cDes.PickTimeSeriesFilter = canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(des.PickTimeSeriesFilter, initial.PickTimeSeriesFilter, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSlice(des, initial []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.Numerator = canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, des.Numerator, nw.Numerator)
- nw.Denominator = canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, des.Denominator, nw.Denominator)
- nw.SecondaryAggregation = canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, des.SecondaryAggregation, nw.SecondaryAggregation)
- nw.PickTimeSeriesFilter = canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, des.PickTimeSeriesFilter, nw.PickTimeSeriesFilter)
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(des, initial *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
-
- if dcl.StringCanonicalize(des.Filter, initial.Filter) || dcl.IsZeroValue(des.Filter) {
- cDes.Filter = initial.Filter
- } else {
- cDes.Filter = des.Filter
- }
- cDes.Aggregation = canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(des.Aggregation, initial.Aggregation, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(des, initial []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Filter, nw.Filter) {
- nw.Filter = des.Filter
- }
- nw.Aggregation = canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, des.Aggregation, nw.Aggregation)
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(des, initial *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(des, initial []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(des, initial *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
-
- if dcl.StringCanonicalize(des.Filter, initial.Filter) || dcl.IsZeroValue(des.Filter) {
- cDes.Filter = initial.Filter
- } else {
- cDes.Filter = des.Filter
- }
- cDes.Aggregation = canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(des.Aggregation, initial.Aggregation, opts...)
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(des, initial []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Filter, nw.Filter) {
- nw.Filter = des.Filter
- }
- nw.Aggregation = canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, des.Aggregation, nw.Aggregation)
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(des, initial *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(des, initial []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(des, initial *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, initial.AlignmentPeriod) || dcl.IsZeroValue(des.AlignmentPeriod) {
- cDes.AlignmentPeriod = initial.AlignmentPeriod
- } else {
- cDes.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.IsZeroValue(des.PerSeriesAligner) || (dcl.IsEmptyValueIndirect(des.PerSeriesAligner) && dcl.IsEmptyValueIndirect(initial.PerSeriesAligner)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.PerSeriesAligner = initial.PerSeriesAligner
- } else {
- cDes.PerSeriesAligner = des.PerSeriesAligner
- }
- if dcl.IsZeroValue(des.CrossSeriesReducer) || (dcl.IsEmptyValueIndirect(des.CrossSeriesReducer) && dcl.IsEmptyValueIndirect(initial.CrossSeriesReducer)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.CrossSeriesReducer = initial.CrossSeriesReducer
- } else {
- cDes.CrossSeriesReducer = des.CrossSeriesReducer
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, initial.GroupByFields) {
- cDes.GroupByFields = initial.GroupByFields
- } else {
- cDes.GroupByFields = des.GroupByFields
- }
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(des, initial []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.AlignmentPeriod, nw.AlignmentPeriod) {
- nw.AlignmentPeriod = des.AlignmentPeriod
- }
- if dcl.StringArrayCanonicalize(des.GroupByFields, nw.GroupByFields) {
- nw.GroupByFields = des.GroupByFields
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(des, initial *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
-
- if dcl.IsZeroValue(des.RankingMethod) || (dcl.IsEmptyValueIndirect(des.RankingMethod) && dcl.IsEmptyValueIndirect(initial.RankingMethod)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.RankingMethod = initial.RankingMethod
- } else {
- cDes.RankingMethod = des.RankingMethod
- }
- if dcl.IsZeroValue(des.NumTimeSeries) || (dcl.IsEmptyValueIndirect(des.NumTimeSeries) && dcl.IsEmptyValueIndirect(initial.NumTimeSeries)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.NumTimeSeries = initial.NumTimeSeries
- } else {
- cDes.NumTimeSeries = des.NumTimeSeries
- }
- if dcl.IsZeroValue(des.Direction) || (dcl.IsEmptyValueIndirect(des.Direction) && dcl.IsEmptyValueIndirect(initial.Direction)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Direction = initial.Direction
- } else {
- cDes.Direction = des.Direction
- }
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(des, initial []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardGaugeView(des, initial *DashboardColumnLayoutColumnsWidgetsScorecardGaugeView, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsScorecardGaugeView {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsScorecardGaugeView{}
-
- if dcl.IsZeroValue(des.LowerBound) || (dcl.IsEmptyValueIndirect(des.LowerBound) && dcl.IsEmptyValueIndirect(initial.LowerBound)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.LowerBound = initial.LowerBound
- } else {
- cDes.LowerBound = des.LowerBound
- }
- if dcl.IsZeroValue(des.UpperBound) || (dcl.IsEmptyValueIndirect(des.UpperBound) && dcl.IsEmptyValueIndirect(initial.UpperBound)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.UpperBound = initial.UpperBound
- } else {
- cDes.UpperBound = des.UpperBound
- }
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardGaugeViewSlice(des, initial []DashboardColumnLayoutColumnsWidgetsScorecardGaugeView, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsScorecardGaugeView {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardGaugeView, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardGaugeView(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardGaugeView, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardGaugeView(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardGaugeView(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsScorecardGaugeView) *DashboardColumnLayoutColumnsWidgetsScorecardGaugeView {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsScorecardGaugeView while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardGaugeViewSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecardGaugeView) []DashboardColumnLayoutColumnsWidgetsScorecardGaugeView {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsScorecardGaugeView
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsScorecardGaugeViewNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardGaugeView(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardGaugeViewSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecardGaugeView) []DashboardColumnLayoutColumnsWidgetsScorecardGaugeView {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsScorecardGaugeView
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardGaugeView(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardSparkChartView(des, initial *DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView{}
-
- if dcl.IsZeroValue(des.SparkChartType) || (dcl.IsEmptyValueIndirect(des.SparkChartType) && dcl.IsEmptyValueIndirect(initial.SparkChartType)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.SparkChartType = initial.SparkChartType
- } else {
- cDes.SparkChartType = des.SparkChartType
- }
- if dcl.StringCanonicalize(des.MinAlignmentPeriod, initial.MinAlignmentPeriod) || dcl.IsZeroValue(des.MinAlignmentPeriod) {
- cDes.MinAlignmentPeriod = initial.MinAlignmentPeriod
- } else {
- cDes.MinAlignmentPeriod = des.MinAlignmentPeriod
- }
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSlice(des, initial []DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardSparkChartView(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardSparkChartView(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardSparkChartView(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView) *DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.MinAlignmentPeriod, nw.MinAlignmentPeriod) {
- nw.MinAlignmentPeriod = des.MinAlignmentPeriod
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView) []DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardSparkChartView(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView) []DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardSparkChartView(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardThresholds(des, initial *DashboardColumnLayoutColumnsWidgetsScorecardThresholds, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsScorecardThresholds {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsScorecardThresholds{}
-
- if dcl.StringCanonicalize(des.Label, initial.Label) || dcl.IsZeroValue(des.Label) {
- cDes.Label = initial.Label
- } else {
- cDes.Label = des.Label
- }
- if dcl.IsZeroValue(des.Value) || (dcl.IsEmptyValueIndirect(des.Value) && dcl.IsEmptyValueIndirect(initial.Value)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Value = initial.Value
- } else {
- cDes.Value = des.Value
- }
- if dcl.IsZeroValue(des.Color) || (dcl.IsEmptyValueIndirect(des.Color) && dcl.IsEmptyValueIndirect(initial.Color)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Color = initial.Color
- } else {
- cDes.Color = des.Color
- }
- if dcl.IsZeroValue(des.Direction) || (dcl.IsEmptyValueIndirect(des.Direction) && dcl.IsEmptyValueIndirect(initial.Direction)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Direction = initial.Direction
- } else {
- cDes.Direction = des.Direction
- }
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardThresholdsSlice(des, initial []DashboardColumnLayoutColumnsWidgetsScorecardThresholds, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsScorecardThresholds {
- if des == nil {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardThresholds, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardThresholds(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardThresholds, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsScorecardThresholds(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardThresholds(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsScorecardThresholds) *DashboardColumnLayoutColumnsWidgetsScorecardThresholds {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsScorecardThresholds while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Label, nw.Label) {
- nw.Label = des.Label
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardThresholdsSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecardThresholds) []DashboardColumnLayoutColumnsWidgetsScorecardThresholds {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsScorecardThresholds
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsScorecardThresholdsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardThresholds(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardThresholdsSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsScorecardThresholds) []DashboardColumnLayoutColumnsWidgetsScorecardThresholds {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsScorecardThresholds
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsScorecardThresholds(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsText(des, initial *DashboardColumnLayoutColumnsWidgetsText, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsText {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsText{}
-
- if dcl.StringCanonicalize(des.Content, initial.Content) || dcl.IsZeroValue(des.Content) {
- cDes.Content = initial.Content
- } else {
- cDes.Content = des.Content
- }
- if dcl.IsZeroValue(des.Format) || (dcl.IsEmptyValueIndirect(des.Format) && dcl.IsEmptyValueIndirect(initial.Format)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Format = initial.Format
- } else {
- cDes.Format = des.Format
- }
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsTextSlice(des, initial []DashboardColumnLayoutColumnsWidgetsText, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsText {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsText, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsText(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsText, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsText(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsText(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsText) *DashboardColumnLayoutColumnsWidgetsText {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsText while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Content, nw.Content) {
- nw.Content = des.Content
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsTextSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsText) []DashboardColumnLayoutColumnsWidgetsText {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsText
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsTextNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsText(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsTextSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsText) []DashboardColumnLayoutColumnsWidgetsText {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsText
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsText(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsBlank(des, initial *DashboardColumnLayoutColumnsWidgetsBlank, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsBlank {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsBlank{}
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsBlankSlice(des, initial []DashboardColumnLayoutColumnsWidgetsBlank, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsBlank {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsBlank, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsBlank(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsBlank, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsBlank(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsBlank(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsBlank) *DashboardColumnLayoutColumnsWidgetsBlank {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsBlank while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsBlankSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsBlank) []DashboardColumnLayoutColumnsWidgetsBlank {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsBlank
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsBlankNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsBlank(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsBlankSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsBlank) []DashboardColumnLayoutColumnsWidgetsBlank {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsBlank
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsBlank(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsLogsPanel(des, initial *DashboardColumnLayoutColumnsWidgetsLogsPanel, opts ...dcl.ApplyOption) *DashboardColumnLayoutColumnsWidgetsLogsPanel {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &DashboardColumnLayoutColumnsWidgetsLogsPanel{}
-
- if dcl.StringCanonicalize(des.Filter, initial.Filter) || dcl.IsZeroValue(des.Filter) {
- cDes.Filter = initial.Filter
- } else {
- cDes.Filter = des.Filter
- }
- if dcl.StringArrayCanonicalize(des.ResourceNames, initial.ResourceNames) {
- cDes.ResourceNames = initial.ResourceNames
- } else {
- cDes.ResourceNames = des.ResourceNames
- }
-
- return cDes
-}
-
-func canonicalizeDashboardColumnLayoutColumnsWidgetsLogsPanelSlice(des, initial []DashboardColumnLayoutColumnsWidgetsLogsPanel, opts ...dcl.ApplyOption) []DashboardColumnLayoutColumnsWidgetsLogsPanel {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]DashboardColumnLayoutColumnsWidgetsLogsPanel, 0, len(des))
- for _, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsLogsPanel(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsLogsPanel, 0, len(des))
- for i, d := range des {
- cd := canonicalizeDashboardColumnLayoutColumnsWidgetsLogsPanel(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsLogsPanel(c *Client, des, nw *DashboardColumnLayoutColumnsWidgetsLogsPanel) *DashboardColumnLayoutColumnsWidgetsLogsPanel {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for DashboardColumnLayoutColumnsWidgetsLogsPanel while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Filter, nw.Filter) {
- nw.Filter = des.Filter
- }
- if dcl.StringArrayCanonicalize(des.ResourceNames, nw.ResourceNames) {
- nw.ResourceNames = des.ResourceNames
- }
-
- return nw
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsLogsPanelSet(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsLogsPanel) []DashboardColumnLayoutColumnsWidgetsLogsPanel {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []DashboardColumnLayoutColumnsWidgetsLogsPanel
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareDashboardColumnLayoutColumnsWidgetsLogsPanelNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsLogsPanel(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewDashboardColumnLayoutColumnsWidgetsLogsPanelSlice(c *Client, des, nw []DashboardColumnLayoutColumnsWidgetsLogsPanel) []DashboardColumnLayoutColumnsWidgetsLogsPanel {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []DashboardColumnLayoutColumnsWidgetsLogsPanel
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewDashboardColumnLayoutColumnsWidgetsLogsPanel(c, &d, &n))
- }
-
- return items
-}
-
-// The differ returns a list of diffs, along with a list of operations that should be taken
-// to remedy them. Right now, it does not attempt to consolidate operations - if several
-// fields can be fixed with a patch update, it will perform the patch several times.
-// Diffs on some fields will be ignored if the `desired` state has an empty (nil)
-// value. This empty value indicates that the user does not care about the state for
-// the field. Empty fields on the actual object will cause diffs.
-// TODO(magic-modules-eng): for efficiency in some resources, add batching.
-func diffDashboard(c *Client, desired, actual *Dashboard, opts ...dcl.ApplyOption) ([]*dcl.FieldDiff, error) {
- if desired == nil || actual == nil {
- return nil, fmt.Errorf("nil resource passed to diff - always a programming error: %#v, %#v", desired, actual)
- }
-
- c.Config.Logger.Infof("Diff function called with desired state: %v", desired)
- c.Config.Logger.Infof("Diff function called with actual state: %v", actual)
-
- var fn dcl.FieldName
- var newDiffs []*dcl.FieldDiff
- // New style diffs.
- if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Name")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.DisplayName, actual.DisplayName, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("DisplayName")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GridLayout, actual.GridLayout, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutNewStyle, EmptyObject: EmptyDashboardGridLayout, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GridLayout")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.MosaicLayout, actual.MosaicLayout, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutNewStyle, EmptyObject: EmptyDashboardMosaicLayout, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("MosaicLayout")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.RowLayout, actual.RowLayout, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutNewStyle, EmptyObject: EmptyDashboardRowLayout, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("RowLayout")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.ColumnLayout, actual.ColumnLayout, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutNewStyle, EmptyObject: EmptyDashboardColumnLayout, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("ColumnLayout")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Project, actual.Project, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Project")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Etag, actual.Etag, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Etag")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if len(newDiffs) > 0 {
- c.Config.Logger.Infof("Diff function found diffs: %v", newDiffs)
- }
- return newDiffs, nil
-}
-func compareDashboardGridLayoutNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayout)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayout)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayout or *DashboardGridLayout", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayout)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayout)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayout", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Columns, actual.Columns, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Columns")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Widgets, actual.Widgets, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgets, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Widgets")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgets)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgets)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgets or *DashboardGridLayoutWidgets", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgets)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgets)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgets", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Title, actual.Title, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Title")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.XyChart, actual.XyChart, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsXyChartNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsXyChart, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("XyChart")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Scorecard, actual.Scorecard, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsScorecardNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsScorecard, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Scorecard")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Text, actual.Text, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsTextNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsText, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Text")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Blank, actual.Blank, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsBlankNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsBlank, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Blank")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.LogsPanel, actual.LogsPanel, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsLogsPanelNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsLogsPanel, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("LogsPanel")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsXyChartNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsXyChart)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsXyChart)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChart or *DashboardGridLayoutWidgetsXyChart", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsXyChart)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsXyChart)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChart", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.DataSets, actual.DataSets, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsXyChartDataSetsNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsXyChartDataSets, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("DataSets")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.TimeshiftDuration, actual.TimeshiftDuration, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeshiftDuration")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Thresholds, actual.Thresholds, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsXyChartThresholdsNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsXyChartThresholds, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Thresholds")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.XAxis, actual.XAxis, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsXyChartXAxisNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsXyChartXAxis, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("XAxis")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.YAxis, actual.YAxis, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsXyChartYAxisNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsXyChartYAxis, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("YAxis")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.ChartOptions, actual.ChartOptions, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsXyChartChartOptionsNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsXyChartChartOptions, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("ChartOptions")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsXyChartDataSetsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsXyChartDataSets)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsXyChartDataSets)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartDataSets or *DashboardGridLayoutWidgetsXyChartDataSets", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsXyChartDataSets)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsXyChartDataSets)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartDataSets", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesQuery, actual.TimeSeriesQuery, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesQuery")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PlotType, actual.PlotType, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PlotType")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.LegendTemplate, actual.LegendTemplate, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("LegendTemplate")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.MinAlignmentPeriod, actual.MinAlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("MinAlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery or *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesFilter, actual.TimeSeriesFilter, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesFilterRatio, actual.TimeSeriesFilterRatio, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesFilterRatio")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesQueryLanguage, actual.TimeSeriesQueryLanguage, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesQueryLanguage")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.UnitOverride, actual.UnitOverride, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("UnitOverride")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter or *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Aggregation, actual.Aggregation, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Aggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.SecondaryAggregation, actual.SecondaryAggregation, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("SecondaryAggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PickTimeSeriesFilter, actual.PickTimeSeriesFilter, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PickTimeSeriesFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation or *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation or *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter or *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.RankingMethod, actual.RankingMethod, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("RankingMethod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.NumTimeSeries, actual.NumTimeSeries, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("NumTimeSeries")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Direction, actual.Direction, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Direction")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio or *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Numerator, actual.Numerator, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Numerator")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Denominator, actual.Denominator, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Denominator")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.SecondaryAggregation, actual.SecondaryAggregation, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("SecondaryAggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PickTimeSeriesFilter, actual.PickTimeSeriesFilter, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PickTimeSeriesFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator or *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Aggregation, actual.Aggregation, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Aggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation or *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator or *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Aggregation, actual.Aggregation, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Aggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation or *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation or *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter or *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.RankingMethod, actual.RankingMethod, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("RankingMethod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.NumTimeSeries, actual.NumTimeSeries, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("NumTimeSeries")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Direction, actual.Direction, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Direction")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsXyChartThresholdsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsXyChartThresholds)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsXyChartThresholds)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartThresholds or *DashboardGridLayoutWidgetsXyChartThresholds", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsXyChartThresholds)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsXyChartThresholds)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartThresholds", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Label, actual.Label, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Label")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Value, actual.Value, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Value")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Color, actual.Color, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Color")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Direction, actual.Direction, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Direction")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsXyChartXAxisNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsXyChartXAxis)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsXyChartXAxis)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartXAxis or *DashboardGridLayoutWidgetsXyChartXAxis", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsXyChartXAxis)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsXyChartXAxis)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartXAxis", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Label, actual.Label, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Label")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Scale, actual.Scale, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Scale")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsXyChartYAxisNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsXyChartYAxis)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsXyChartYAxis)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartYAxis or *DashboardGridLayoutWidgetsXyChartYAxis", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsXyChartYAxis)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsXyChartYAxis)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartYAxis", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Label, actual.Label, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Label")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Scale, actual.Scale, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Scale")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsXyChartChartOptionsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsXyChartChartOptions)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsXyChartChartOptions)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartChartOptions or *DashboardGridLayoutWidgetsXyChartChartOptions", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsXyChartChartOptions)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsXyChartChartOptions)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsXyChartChartOptions", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Mode, actual.Mode, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Mode")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsScorecardNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsScorecard)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsScorecard)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecard or *DashboardGridLayoutWidgetsScorecard", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsScorecard)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsScorecard)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecard", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesQuery, actual.TimeSeriesQuery, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQuery, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesQuery")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GaugeView, actual.GaugeView, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsScorecardGaugeViewNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsScorecardGaugeView, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GaugeView")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.SparkChartView, actual.SparkChartView, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsScorecardSparkChartViewNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsScorecardSparkChartView, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("SparkChartView")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Thresholds, actual.Thresholds, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsScorecardThresholdsNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsScorecardThresholds, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Thresholds")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsScorecardTimeSeriesQuery)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsScorecardTimeSeriesQuery)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecardTimeSeriesQuery or *DashboardGridLayoutWidgetsScorecardTimeSeriesQuery", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsScorecardTimeSeriesQuery)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsScorecardTimeSeriesQuery)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecardTimeSeriesQuery", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesFilter, actual.TimeSeriesFilter, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesFilterRatio, actual.TimeSeriesFilterRatio, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesFilterRatio")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesQueryLanguage, actual.TimeSeriesQueryLanguage, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesQueryLanguage")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.UnitOverride, actual.UnitOverride, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("UnitOverride")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter or *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Aggregation, actual.Aggregation, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Aggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.SecondaryAggregation, actual.SecondaryAggregation, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("SecondaryAggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PickTimeSeriesFilter, actual.PickTimeSeriesFilter, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PickTimeSeriesFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation or *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation or *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter or *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.RankingMethod, actual.RankingMethod, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("RankingMethod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.NumTimeSeries, actual.NumTimeSeries, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("NumTimeSeries")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Direction, actual.Direction, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Direction")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio or *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Numerator, actual.Numerator, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Numerator")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Denominator, actual.Denominator, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Denominator")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.SecondaryAggregation, actual.SecondaryAggregation, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("SecondaryAggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PickTimeSeriesFilter, actual.PickTimeSeriesFilter, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PickTimeSeriesFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator or *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Aggregation, actual.Aggregation, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Aggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation or *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator or *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Aggregation, actual.Aggregation, dcl.DiffInfo{ObjectFunction: compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationNewStyle, EmptyObject: EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Aggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation or *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation or *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter or *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.RankingMethod, actual.RankingMethod, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("RankingMethod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.NumTimeSeries, actual.NumTimeSeries, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("NumTimeSeries")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Direction, actual.Direction, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Direction")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsScorecardGaugeViewNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsScorecardGaugeView)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsScorecardGaugeView)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecardGaugeView or *DashboardGridLayoutWidgetsScorecardGaugeView", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsScorecardGaugeView)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsScorecardGaugeView)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecardGaugeView", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.LowerBound, actual.LowerBound, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("LowerBound")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.UpperBound, actual.UpperBound, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("UpperBound")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsScorecardSparkChartViewNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsScorecardSparkChartView)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsScorecardSparkChartView)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecardSparkChartView or *DashboardGridLayoutWidgetsScorecardSparkChartView", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsScorecardSparkChartView)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsScorecardSparkChartView)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecardSparkChartView", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.SparkChartType, actual.SparkChartType, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("SparkChartType")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.MinAlignmentPeriod, actual.MinAlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("MinAlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsScorecardThresholdsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsScorecardThresholds)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsScorecardThresholds)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecardThresholds or *DashboardGridLayoutWidgetsScorecardThresholds", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsScorecardThresholds)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsScorecardThresholds)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsScorecardThresholds", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Label, actual.Label, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Label")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Value, actual.Value, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Value")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Color, actual.Color, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Color")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Direction, actual.Direction, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Direction")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsTextNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsText)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsText)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsText or *DashboardGridLayoutWidgetsText", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsText)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsText)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsText", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Content, actual.Content, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Content")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Format, actual.Format, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Format")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsBlankNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- return diffs, nil
-}
-
-func compareDashboardGridLayoutWidgetsLogsPanelNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardGridLayoutWidgetsLogsPanel)
- if !ok {
- desiredNotPointer, ok := d.(DashboardGridLayoutWidgetsLogsPanel)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsLogsPanel or *DashboardGridLayoutWidgetsLogsPanel", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardGridLayoutWidgetsLogsPanel)
- if !ok {
- actualNotPointer, ok := a.(DashboardGridLayoutWidgetsLogsPanel)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardGridLayoutWidgetsLogsPanel", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.ResourceNames, actual.ResourceNames, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("ResourceNames")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayout)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayout)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayout or *DashboardMosaicLayout", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayout)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayout)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayout", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Columns, actual.Columns, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Columns")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Tiles, actual.Tiles, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTiles, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Tiles")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTiles)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTiles)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTiles or *DashboardMosaicLayoutTiles", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTiles)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTiles)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTiles", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.XPos, actual.XPos, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("XPos")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.YPos, actual.YPos, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("YPos")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Width, actual.Width, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Width")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Height, actual.Height, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Height")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Widget, actual.Widget, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidget, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Widget")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidget)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidget)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidget or *DashboardMosaicLayoutTilesWidget", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidget)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidget)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidget", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Title, actual.Title, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Title")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.XyChart, actual.XyChart, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetXyChartNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetXyChart, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("XyChart")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Scorecard, actual.Scorecard, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetScorecardNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetScorecard, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Scorecard")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Text, actual.Text, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetTextNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetText, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Text")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Blank, actual.Blank, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetBlankNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetBlank, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Blank")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.LogsPanel, actual.LogsPanel, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetLogsPanelNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetLogsPanel, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("LogsPanel")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetXyChartNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetXyChart)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetXyChart)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChart or *DashboardMosaicLayoutTilesWidgetXyChart", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetXyChart)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetXyChart)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChart", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.DataSets, actual.DataSets, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSets, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("DataSets")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.TimeshiftDuration, actual.TimeshiftDuration, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeshiftDuration")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Thresholds, actual.Thresholds, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetXyChartThresholdsNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetXyChartThresholds, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Thresholds")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.XAxis, actual.XAxis, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetXyChartXAxisNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetXyChartXAxis, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("XAxis")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.YAxis, actual.YAxis, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetXyChartYAxisNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetXyChartYAxis, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("YAxis")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.ChartOptions, actual.ChartOptions, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetXyChartChartOptionsNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetXyChartChartOptions, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("ChartOptions")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetXyChartDataSets)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetXyChartDataSets)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartDataSets or *DashboardMosaicLayoutTilesWidgetXyChartDataSets", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetXyChartDataSets)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetXyChartDataSets)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartDataSets", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesQuery, actual.TimeSeriesQuery, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesQuery")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PlotType, actual.PlotType, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PlotType")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.LegendTemplate, actual.LegendTemplate, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("LegendTemplate")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.MinAlignmentPeriod, actual.MinAlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("MinAlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery or *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesFilter, actual.TimeSeriesFilter, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesFilterRatio, actual.TimeSeriesFilterRatio, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesFilterRatio")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesQueryLanguage, actual.TimeSeriesQueryLanguage, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesQueryLanguage")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.UnitOverride, actual.UnitOverride, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("UnitOverride")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter or *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Aggregation, actual.Aggregation, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Aggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.SecondaryAggregation, actual.SecondaryAggregation, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("SecondaryAggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PickTimeSeriesFilter, actual.PickTimeSeriesFilter, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PickTimeSeriesFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation or *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation or *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter or *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.RankingMethod, actual.RankingMethod, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("RankingMethod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.NumTimeSeries, actual.NumTimeSeries, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("NumTimeSeries")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Direction, actual.Direction, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Direction")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio or *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Numerator, actual.Numerator, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Numerator")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Denominator, actual.Denominator, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Denominator")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.SecondaryAggregation, actual.SecondaryAggregation, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("SecondaryAggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PickTimeSeriesFilter, actual.PickTimeSeriesFilter, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PickTimeSeriesFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator or *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Aggregation, actual.Aggregation, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Aggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation or *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator or *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Aggregation, actual.Aggregation, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Aggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation or *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation or *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter or *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.RankingMethod, actual.RankingMethod, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("RankingMethod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.NumTimeSeries, actual.NumTimeSeries, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("NumTimeSeries")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Direction, actual.Direction, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Direction")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetXyChartThresholdsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetXyChartThresholds)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetXyChartThresholds)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartThresholds or *DashboardMosaicLayoutTilesWidgetXyChartThresholds", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetXyChartThresholds)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetXyChartThresholds)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartThresholds", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Label, actual.Label, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Label")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Value, actual.Value, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Value")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Color, actual.Color, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Color")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Direction, actual.Direction, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Direction")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetXyChartXAxisNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetXyChartXAxis)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetXyChartXAxis)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartXAxis or *DashboardMosaicLayoutTilesWidgetXyChartXAxis", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetXyChartXAxis)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetXyChartXAxis)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartXAxis", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Label, actual.Label, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Label")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Scale, actual.Scale, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Scale")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetXyChartYAxisNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetXyChartYAxis)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetXyChartYAxis)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartYAxis or *DashboardMosaicLayoutTilesWidgetXyChartYAxis", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetXyChartYAxis)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetXyChartYAxis)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartYAxis", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Label, actual.Label, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Label")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Scale, actual.Scale, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Scale")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetXyChartChartOptionsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetXyChartChartOptions)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetXyChartChartOptions)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartChartOptions or *DashboardMosaicLayoutTilesWidgetXyChartChartOptions", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetXyChartChartOptions)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetXyChartChartOptions)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetXyChartChartOptions", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Mode, actual.Mode, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Mode")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetScorecardNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetScorecard)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetScorecard)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecard or *DashboardMosaicLayoutTilesWidgetScorecard", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetScorecard)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetScorecard)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecard", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesQuery, actual.TimeSeriesQuery, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesQuery")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GaugeView, actual.GaugeView, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetScorecardGaugeViewNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetScorecardGaugeView, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GaugeView")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.SparkChartView, actual.SparkChartView, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetScorecardSparkChartViewNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetScorecardSparkChartView, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("SparkChartView")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Thresholds, actual.Thresholds, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetScorecardThresholdsNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetScorecardThresholds, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Thresholds")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery or *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesFilter, actual.TimeSeriesFilter, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesFilterRatio, actual.TimeSeriesFilterRatio, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesFilterRatio")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesQueryLanguage, actual.TimeSeriesQueryLanguage, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesQueryLanguage")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.UnitOverride, actual.UnitOverride, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("UnitOverride")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter or *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Aggregation, actual.Aggregation, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Aggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.SecondaryAggregation, actual.SecondaryAggregation, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("SecondaryAggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PickTimeSeriesFilter, actual.PickTimeSeriesFilter, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PickTimeSeriesFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation or *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation or *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter or *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.RankingMethod, actual.RankingMethod, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("RankingMethod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.NumTimeSeries, actual.NumTimeSeries, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("NumTimeSeries")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Direction, actual.Direction, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Direction")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio or *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Numerator, actual.Numerator, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Numerator")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Denominator, actual.Denominator, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Denominator")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.SecondaryAggregation, actual.SecondaryAggregation, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("SecondaryAggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PickTimeSeriesFilter, actual.PickTimeSeriesFilter, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PickTimeSeriesFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator or *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Aggregation, actual.Aggregation, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Aggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation or *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator or *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Aggregation, actual.Aggregation, dcl.DiffInfo{ObjectFunction: compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationNewStyle, EmptyObject: EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Aggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation or *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation or *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter or *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.RankingMethod, actual.RankingMethod, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("RankingMethod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.NumTimeSeries, actual.NumTimeSeries, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("NumTimeSeries")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Direction, actual.Direction, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Direction")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetScorecardGaugeViewNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetScorecardGaugeView)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetScorecardGaugeView)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecardGaugeView or *DashboardMosaicLayoutTilesWidgetScorecardGaugeView", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetScorecardGaugeView)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetScorecardGaugeView)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecardGaugeView", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.LowerBound, actual.LowerBound, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("LowerBound")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.UpperBound, actual.UpperBound, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("UpperBound")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetScorecardSparkChartViewNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetScorecardSparkChartView)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetScorecardSparkChartView)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecardSparkChartView or *DashboardMosaicLayoutTilesWidgetScorecardSparkChartView", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetScorecardSparkChartView)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetScorecardSparkChartView)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecardSparkChartView", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.SparkChartType, actual.SparkChartType, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("SparkChartType")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.MinAlignmentPeriod, actual.MinAlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("MinAlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetScorecardThresholdsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetScorecardThresholds)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetScorecardThresholds)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecardThresholds or *DashboardMosaicLayoutTilesWidgetScorecardThresholds", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetScorecardThresholds)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetScorecardThresholds)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetScorecardThresholds", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Label, actual.Label, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Label")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Value, actual.Value, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Value")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Color, actual.Color, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Color")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Direction, actual.Direction, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Direction")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetTextNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetText)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetText)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetText or *DashboardMosaicLayoutTilesWidgetText", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetText)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetText)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetText", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Content, actual.Content, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Content")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Format, actual.Format, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Format")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetBlankNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- return diffs, nil
-}
-
-func compareDashboardMosaicLayoutTilesWidgetLogsPanelNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardMosaicLayoutTilesWidgetLogsPanel)
- if !ok {
- desiredNotPointer, ok := d.(DashboardMosaicLayoutTilesWidgetLogsPanel)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetLogsPanel or *DashboardMosaicLayoutTilesWidgetLogsPanel", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardMosaicLayoutTilesWidgetLogsPanel)
- if !ok {
- actualNotPointer, ok := a.(DashboardMosaicLayoutTilesWidgetLogsPanel)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardMosaicLayoutTilesWidgetLogsPanel", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.ResourceNames, actual.ResourceNames, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("ResourceNames")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayout)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayout)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayout or *DashboardRowLayout", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayout)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayout)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayout", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Rows, actual.Rows, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsNewStyle, EmptyObject: EmptyDashboardRowLayoutRows, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Rows")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRows)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRows)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRows or *DashboardRowLayoutRows", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRows)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRows)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRows", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Weight, actual.Weight, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Weight")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Widgets, actual.Widgets, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgets, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Widgets")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgets)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgets)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgets or *DashboardRowLayoutRowsWidgets", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgets)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgets)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgets", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Title, actual.Title, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Title")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.XyChart, actual.XyChart, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsXyChartNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsXyChart, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("XyChart")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Scorecard, actual.Scorecard, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsScorecardNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsScorecard, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Scorecard")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Text, actual.Text, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsTextNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsText, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Text")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Blank, actual.Blank, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsBlankNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsBlank, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Blank")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.LogsPanel, actual.LogsPanel, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsLogsPanelNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsLogsPanel, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("LogsPanel")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsXyChartNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsXyChart)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsXyChart)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChart or *DashboardRowLayoutRowsWidgetsXyChart", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsXyChart)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsXyChart)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChart", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.DataSets, actual.DataSets, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsXyChartDataSetsNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsXyChartDataSets, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("DataSets")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.TimeshiftDuration, actual.TimeshiftDuration, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeshiftDuration")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Thresholds, actual.Thresholds, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsXyChartThresholdsNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsXyChartThresholds, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Thresholds")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.XAxis, actual.XAxis, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsXyChartXAxisNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsXyChartXAxis, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("XAxis")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.YAxis, actual.YAxis, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsXyChartYAxisNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsXyChartYAxis, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("YAxis")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.ChartOptions, actual.ChartOptions, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsXyChartChartOptionsNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsXyChartChartOptions, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("ChartOptions")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsXyChartDataSetsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsXyChartDataSets)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsXyChartDataSets)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartDataSets or *DashboardRowLayoutRowsWidgetsXyChartDataSets", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsXyChartDataSets)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsXyChartDataSets)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartDataSets", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesQuery, actual.TimeSeriesQuery, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesQuery")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PlotType, actual.PlotType, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PlotType")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.LegendTemplate, actual.LegendTemplate, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("LegendTemplate")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.MinAlignmentPeriod, actual.MinAlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("MinAlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery or *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesFilter, actual.TimeSeriesFilter, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesFilterRatio, actual.TimeSeriesFilterRatio, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesFilterRatio")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesQueryLanguage, actual.TimeSeriesQueryLanguage, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesQueryLanguage")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.UnitOverride, actual.UnitOverride, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("UnitOverride")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter or *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Aggregation, actual.Aggregation, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Aggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.SecondaryAggregation, actual.SecondaryAggregation, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("SecondaryAggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PickTimeSeriesFilter, actual.PickTimeSeriesFilter, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PickTimeSeriesFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation or *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation or *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter or *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.RankingMethod, actual.RankingMethod, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("RankingMethod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.NumTimeSeries, actual.NumTimeSeries, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("NumTimeSeries")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Direction, actual.Direction, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Direction")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio or *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Numerator, actual.Numerator, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Numerator")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Denominator, actual.Denominator, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Denominator")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.SecondaryAggregation, actual.SecondaryAggregation, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("SecondaryAggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PickTimeSeriesFilter, actual.PickTimeSeriesFilter, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PickTimeSeriesFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator or *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Aggregation, actual.Aggregation, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Aggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation or *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator or *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Aggregation, actual.Aggregation, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Aggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation or *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation or *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter or *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.RankingMethod, actual.RankingMethod, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("RankingMethod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.NumTimeSeries, actual.NumTimeSeries, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("NumTimeSeries")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Direction, actual.Direction, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Direction")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsXyChartThresholdsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsXyChartThresholds)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsXyChartThresholds)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartThresholds or *DashboardRowLayoutRowsWidgetsXyChartThresholds", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsXyChartThresholds)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsXyChartThresholds)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartThresholds", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Label, actual.Label, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Label")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Value, actual.Value, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Value")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Color, actual.Color, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Color")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Direction, actual.Direction, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Direction")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsXyChartXAxisNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsXyChartXAxis)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsXyChartXAxis)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartXAxis or *DashboardRowLayoutRowsWidgetsXyChartXAxis", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsXyChartXAxis)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsXyChartXAxis)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartXAxis", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Label, actual.Label, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Label")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Scale, actual.Scale, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Scale")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsXyChartYAxisNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsXyChartYAxis)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsXyChartYAxis)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartYAxis or *DashboardRowLayoutRowsWidgetsXyChartYAxis", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsXyChartYAxis)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsXyChartYAxis)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartYAxis", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Label, actual.Label, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Label")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Scale, actual.Scale, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Scale")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsXyChartChartOptionsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsXyChartChartOptions)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsXyChartChartOptions)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartChartOptions or *DashboardRowLayoutRowsWidgetsXyChartChartOptions", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsXyChartChartOptions)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsXyChartChartOptions)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsXyChartChartOptions", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Mode, actual.Mode, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Mode")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsScorecardNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsScorecard)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsScorecard)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecard or *DashboardRowLayoutRowsWidgetsScorecard", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsScorecard)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsScorecard)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecard", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesQuery, actual.TimeSeriesQuery, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesQuery")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GaugeView, actual.GaugeView, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsScorecardGaugeViewNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsScorecardGaugeView, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GaugeView")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.SparkChartView, actual.SparkChartView, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsScorecardSparkChartViewNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsScorecardSparkChartView, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("SparkChartView")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Thresholds, actual.Thresholds, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsScorecardThresholdsNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsScorecardThresholds, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Thresholds")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery or *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesFilter, actual.TimeSeriesFilter, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesFilterRatio, actual.TimeSeriesFilterRatio, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesFilterRatio")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesQueryLanguage, actual.TimeSeriesQueryLanguage, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesQueryLanguage")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.UnitOverride, actual.UnitOverride, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("UnitOverride")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter or *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Aggregation, actual.Aggregation, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Aggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.SecondaryAggregation, actual.SecondaryAggregation, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("SecondaryAggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PickTimeSeriesFilter, actual.PickTimeSeriesFilter, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PickTimeSeriesFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation or *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation or *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter or *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.RankingMethod, actual.RankingMethod, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("RankingMethod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.NumTimeSeries, actual.NumTimeSeries, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("NumTimeSeries")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Direction, actual.Direction, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Direction")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio or *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Numerator, actual.Numerator, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Numerator")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Denominator, actual.Denominator, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Denominator")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.SecondaryAggregation, actual.SecondaryAggregation, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("SecondaryAggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PickTimeSeriesFilter, actual.PickTimeSeriesFilter, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PickTimeSeriesFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator or *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Aggregation, actual.Aggregation, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Aggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation or *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator or *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Aggregation, actual.Aggregation, dcl.DiffInfo{ObjectFunction: compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationNewStyle, EmptyObject: EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Aggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation or *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation or *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter or *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.RankingMethod, actual.RankingMethod, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("RankingMethod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.NumTimeSeries, actual.NumTimeSeries, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("NumTimeSeries")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Direction, actual.Direction, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Direction")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsScorecardGaugeViewNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsScorecardGaugeView)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsScorecardGaugeView)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecardGaugeView or *DashboardRowLayoutRowsWidgetsScorecardGaugeView", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsScorecardGaugeView)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsScorecardGaugeView)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecardGaugeView", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.LowerBound, actual.LowerBound, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("LowerBound")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.UpperBound, actual.UpperBound, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("UpperBound")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsScorecardSparkChartViewNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsScorecardSparkChartView)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsScorecardSparkChartView)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecardSparkChartView or *DashboardRowLayoutRowsWidgetsScorecardSparkChartView", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsScorecardSparkChartView)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsScorecardSparkChartView)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecardSparkChartView", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.SparkChartType, actual.SparkChartType, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("SparkChartType")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.MinAlignmentPeriod, actual.MinAlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("MinAlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsScorecardThresholdsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsScorecardThresholds)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsScorecardThresholds)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecardThresholds or *DashboardRowLayoutRowsWidgetsScorecardThresholds", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsScorecardThresholds)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsScorecardThresholds)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsScorecardThresholds", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Label, actual.Label, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Label")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Value, actual.Value, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Value")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Color, actual.Color, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Color")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Direction, actual.Direction, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Direction")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsTextNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsText)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsText)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsText or *DashboardRowLayoutRowsWidgetsText", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsText)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsText)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsText", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Content, actual.Content, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Content")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Format, actual.Format, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Format")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsBlankNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- return diffs, nil
-}
-
-func compareDashboardRowLayoutRowsWidgetsLogsPanelNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardRowLayoutRowsWidgetsLogsPanel)
- if !ok {
- desiredNotPointer, ok := d.(DashboardRowLayoutRowsWidgetsLogsPanel)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsLogsPanel or *DashboardRowLayoutRowsWidgetsLogsPanel", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardRowLayoutRowsWidgetsLogsPanel)
- if !ok {
- actualNotPointer, ok := a.(DashboardRowLayoutRowsWidgetsLogsPanel)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardRowLayoutRowsWidgetsLogsPanel", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.ResourceNames, actual.ResourceNames, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("ResourceNames")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayout)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayout)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayout or *DashboardColumnLayout", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayout)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayout)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayout", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Columns, actual.Columns, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumns, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Columns")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumns)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumns)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumns or *DashboardColumnLayoutColumns", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumns)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumns)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumns", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Weight, actual.Weight, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Weight")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Widgets, actual.Widgets, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgets, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Widgets")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgets)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgets)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgets or *DashboardColumnLayoutColumnsWidgets", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgets)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgets)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgets", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Title, actual.Title, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Title")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.XyChart, actual.XyChart, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsXyChartNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsXyChart, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("XyChart")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Scorecard, actual.Scorecard, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsScorecardNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsScorecard, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Scorecard")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Text, actual.Text, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsTextNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsText, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Text")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Blank, actual.Blank, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsBlankNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsBlank, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Blank")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.LogsPanel, actual.LogsPanel, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsLogsPanelNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsLogsPanel, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("LogsPanel")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsXyChartNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsXyChart)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsXyChart)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChart or *DashboardColumnLayoutColumnsWidgetsXyChart", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsXyChart)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsXyChart)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChart", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.DataSets, actual.DataSets, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSets, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("DataSets")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.TimeshiftDuration, actual.TimeshiftDuration, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeshiftDuration")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Thresholds, actual.Thresholds, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsXyChartThresholdsNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsXyChartThresholds, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Thresholds")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.XAxis, actual.XAxis, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsXyChartXAxisNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsXyChartXAxis, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("XAxis")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.YAxis, actual.YAxis, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsXyChartYAxisNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsXyChartYAxis, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("YAxis")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.ChartOptions, actual.ChartOptions, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsXyChartChartOptionsNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsXyChartChartOptions, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("ChartOptions")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsXyChartDataSets)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsXyChartDataSets)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartDataSets or *DashboardColumnLayoutColumnsWidgetsXyChartDataSets", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsXyChartDataSets)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsXyChartDataSets)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartDataSets", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesQuery, actual.TimeSeriesQuery, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesQuery")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PlotType, actual.PlotType, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PlotType")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.LegendTemplate, actual.LegendTemplate, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("LegendTemplate")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.MinAlignmentPeriod, actual.MinAlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("MinAlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery or *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesFilter, actual.TimeSeriesFilter, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesFilterRatio, actual.TimeSeriesFilterRatio, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesFilterRatio")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesQueryLanguage, actual.TimeSeriesQueryLanguage, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesQueryLanguage")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.UnitOverride, actual.UnitOverride, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("UnitOverride")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter or *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Aggregation, actual.Aggregation, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Aggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.SecondaryAggregation, actual.SecondaryAggregation, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("SecondaryAggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PickTimeSeriesFilter, actual.PickTimeSeriesFilter, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PickTimeSeriesFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation or *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation or *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter or *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.RankingMethod, actual.RankingMethod, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("RankingMethod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.NumTimeSeries, actual.NumTimeSeries, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("NumTimeSeries")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Direction, actual.Direction, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Direction")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio or *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Numerator, actual.Numerator, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Numerator")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Denominator, actual.Denominator, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Denominator")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.SecondaryAggregation, actual.SecondaryAggregation, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("SecondaryAggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PickTimeSeriesFilter, actual.PickTimeSeriesFilter, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PickTimeSeriesFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator or *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Aggregation, actual.Aggregation, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Aggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation or *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator or *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Aggregation, actual.Aggregation, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Aggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation or *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation or *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter or *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.RankingMethod, actual.RankingMethod, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("RankingMethod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.NumTimeSeries, actual.NumTimeSeries, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("NumTimeSeries")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Direction, actual.Direction, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Direction")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsXyChartThresholdsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsXyChartThresholds)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsXyChartThresholds)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartThresholds or *DashboardColumnLayoutColumnsWidgetsXyChartThresholds", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsXyChartThresholds)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsXyChartThresholds)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartThresholds", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Label, actual.Label, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Label")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Value, actual.Value, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Value")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Color, actual.Color, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Color")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Direction, actual.Direction, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Direction")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsXyChartXAxisNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsXyChartXAxis)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsXyChartXAxis)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartXAxis or *DashboardColumnLayoutColumnsWidgetsXyChartXAxis", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsXyChartXAxis)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsXyChartXAxis)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartXAxis", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Label, actual.Label, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Label")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Scale, actual.Scale, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Scale")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsXyChartYAxisNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsXyChartYAxis)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsXyChartYAxis)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartYAxis or *DashboardColumnLayoutColumnsWidgetsXyChartYAxis", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsXyChartYAxis)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsXyChartYAxis)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartYAxis", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Label, actual.Label, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Label")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Scale, actual.Scale, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Scale")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsXyChartChartOptionsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsXyChartChartOptions)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsXyChartChartOptions)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartChartOptions or *DashboardColumnLayoutColumnsWidgetsXyChartChartOptions", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsXyChartChartOptions)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsXyChartChartOptions)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsXyChartChartOptions", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Mode, actual.Mode, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Mode")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsScorecardNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsScorecard)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsScorecard)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecard or *DashboardColumnLayoutColumnsWidgetsScorecard", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsScorecard)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsScorecard)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecard", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesQuery, actual.TimeSeriesQuery, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesQuery")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GaugeView, actual.GaugeView, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsScorecardGaugeViewNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsScorecardGaugeView, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GaugeView")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.SparkChartView, actual.SparkChartView, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsScorecardSparkChartView, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("SparkChartView")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Thresholds, actual.Thresholds, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsScorecardThresholdsNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsScorecardThresholds, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Thresholds")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery or *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesFilter, actual.TimeSeriesFilter, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesFilterRatio, actual.TimeSeriesFilterRatio, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesFilterRatio")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.TimeSeriesQueryLanguage, actual.TimeSeriesQueryLanguage, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("TimeSeriesQueryLanguage")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.UnitOverride, actual.UnitOverride, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("UnitOverride")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter or *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Aggregation, actual.Aggregation, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Aggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.SecondaryAggregation, actual.SecondaryAggregation, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("SecondaryAggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PickTimeSeriesFilter, actual.PickTimeSeriesFilter, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PickTimeSeriesFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation or *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation or *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter or *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.RankingMethod, actual.RankingMethod, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("RankingMethod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.NumTimeSeries, actual.NumTimeSeries, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("NumTimeSeries")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Direction, actual.Direction, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Direction")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio or *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Numerator, actual.Numerator, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Numerator")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Denominator, actual.Denominator, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Denominator")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.SecondaryAggregation, actual.SecondaryAggregation, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("SecondaryAggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PickTimeSeriesFilter, actual.PickTimeSeriesFilter, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PickTimeSeriesFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator or *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Aggregation, actual.Aggregation, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Aggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation or *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator or *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Aggregation, actual.Aggregation, dcl.DiffInfo{ObjectFunction: compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationNewStyle, EmptyObject: EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Aggregation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation or *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation or *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.AlignmentPeriod, actual.AlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("AlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PerSeriesAligner, actual.PerSeriesAligner, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("PerSeriesAligner")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CrossSeriesReducer, actual.CrossSeriesReducer, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("CrossSeriesReducer")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GroupByFields, actual.GroupByFields, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("GroupByFields")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter or *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.RankingMethod, actual.RankingMethod, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("RankingMethod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.NumTimeSeries, actual.NumTimeSeries, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("NumTimeSeries")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Direction, actual.Direction, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Direction")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsScorecardGaugeViewNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsScorecardGaugeView)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsScorecardGaugeView)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecardGaugeView or *DashboardColumnLayoutColumnsWidgetsScorecardGaugeView", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsScorecardGaugeView)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsScorecardGaugeView)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecardGaugeView", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.LowerBound, actual.LowerBound, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("LowerBound")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.UpperBound, actual.UpperBound, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("UpperBound")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView or *DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.SparkChartType, actual.SparkChartType, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("SparkChartType")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.MinAlignmentPeriod, actual.MinAlignmentPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("MinAlignmentPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsScorecardThresholdsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsScorecardThresholds)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsScorecardThresholds)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecardThresholds or *DashboardColumnLayoutColumnsWidgetsScorecardThresholds", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsScorecardThresholds)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsScorecardThresholds)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsScorecardThresholds", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Label, actual.Label, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Label")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Value, actual.Value, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Value")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Color, actual.Color, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Color")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Direction, actual.Direction, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Direction")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsTextNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsText)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsText)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsText or *DashboardColumnLayoutColumnsWidgetsText", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsText)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsText)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsText", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Content, actual.Content, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Content")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Format, actual.Format, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Format")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsBlankNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- return diffs, nil
-}
-
-func compareDashboardColumnLayoutColumnsWidgetsLogsPanelNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*DashboardColumnLayoutColumnsWidgetsLogsPanel)
- if !ok {
- desiredNotPointer, ok := d.(DashboardColumnLayoutColumnsWidgetsLogsPanel)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsLogsPanel or *DashboardColumnLayoutColumnsWidgetsLogsPanel", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*DashboardColumnLayoutColumnsWidgetsLogsPanel)
- if !ok {
- actualNotPointer, ok := a.(DashboardColumnLayoutColumnsWidgetsLogsPanel)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a DashboardColumnLayoutColumnsWidgetsLogsPanel", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.ResourceNames, actual.ResourceNames, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.TriggersOperation("updateDashboardUpdateDashboardOperation")}, fn.AddNest("ResourceNames")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-// urlNormalized returns a copy of the resource struct with values normalized
-// for URL substitutions. For instance, it converts long-form self-links to
-// short-form so they can be substituted in.
-func (r *Dashboard) urlNormalized() *Dashboard {
- normalized := dcl.Copy(*r).(Dashboard)
- normalized.Name = dcl.SelfLinkToName(r.Name)
- normalized.DisplayName = dcl.SelfLinkToName(r.DisplayName)
- normalized.Project = dcl.SelfLinkToName(r.Project)
- normalized.Etag = dcl.SelfLinkToName(r.Etag)
- return &normalized
-}
-
-func (r *Dashboard) updateURL(userBasePath, updateName string) (string, error) {
- nr := r.urlNormalized()
- if updateName == "UpdateDashboard" {
- fields := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("projects/{{project}}/dashboards/{{name}}", nr.basePath(), userBasePath, fields), nil
-
- }
-
- return "", fmt.Errorf("unknown update name: %s", updateName)
-}
-
-// marshal encodes the Dashboard resource into JSON for a Create request, and
-// performs transformations from the resource schema to the API schema if
-// necessary.
-func (r *Dashboard) marshal(c *Client) ([]byte, error) {
- m, err := expandDashboard(c, r)
- if err != nil {
- return nil, fmt.Errorf("error marshalling Dashboard: %w", err)
- }
-
- return json.Marshal(m)
-}
-
-// unmarshalDashboard decodes JSON responses into the Dashboard resource schema.
-func unmarshalDashboard(b []byte, c *Client, res *Dashboard) (*Dashboard, error) {
- var m map[string]interface{}
- if err := json.Unmarshal(b, &m); err != nil {
- return nil, err
- }
- return unmarshalMapDashboard(m, c, res)
-}
-
-func unmarshalMapDashboard(m map[string]interface{}, c *Client, res *Dashboard) (*Dashboard, error) {
-
- flattened := flattenDashboard(c, m, res)
- if flattened == nil {
- return nil, fmt.Errorf("attempted to flatten empty json object")
- }
- return flattened, nil
-}
-
-// expandDashboard expands Dashboard into a JSON request object.
-func expandDashboard(c *Client, f *Dashboard) (map[string]interface{}, error) {
- m := make(map[string]interface{})
- res := f
- _ = res
- if v, err := dcl.EmptyValue(); err != nil {
- return nil, fmt.Errorf("error expanding Name into name: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["name"] = v
- }
- if v := f.DisplayName; dcl.ValueShouldBeSent(v) {
- m["displayName"] = v
- }
- if v, err := expandDashboardGridLayout(c, f.GridLayout, res); err != nil {
- return nil, fmt.Errorf("error expanding GridLayout into gridLayout: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["gridLayout"] = v
- }
- if v, err := expandDashboardMosaicLayout(c, f.MosaicLayout, res); err != nil {
- return nil, fmt.Errorf("error expanding MosaicLayout into mosaicLayout: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["mosaicLayout"] = v
- }
- if v, err := expandDashboardRowLayout(c, f.RowLayout, res); err != nil {
- return nil, fmt.Errorf("error expanding RowLayout into rowLayout: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["rowLayout"] = v
- }
- if v, err := expandDashboardColumnLayout(c, f.ColumnLayout, res); err != nil {
- return nil, fmt.Errorf("error expanding ColumnLayout into columnLayout: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["columnLayout"] = v
- }
- if v, err := dcl.EmptyValue(); err != nil {
- return nil, fmt.Errorf("error expanding Project into project: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["project"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboard flattens Dashboard from a JSON request object into the
-// Dashboard type.
-func flattenDashboard(c *Client, i interface{}, res *Dashboard) *Dashboard {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
- if len(m) == 0 {
- return nil
- }
-
- resultRes := &Dashboard{}
- resultRes.Name = dcl.FlattenString(m["name"])
- resultRes.DisplayName = dcl.FlattenString(m["displayName"])
- resultRes.GridLayout = flattenDashboardGridLayout(c, m["gridLayout"], res)
- resultRes.MosaicLayout = flattenDashboardMosaicLayout(c, m["mosaicLayout"], res)
- resultRes.RowLayout = flattenDashboardRowLayout(c, m["rowLayout"], res)
- resultRes.ColumnLayout = flattenDashboardColumnLayout(c, m["columnLayout"], res)
- resultRes.Project = dcl.FlattenString(m["project"])
- resultRes.Etag = dcl.FlattenString(m["etag"])
-
- return resultRes
-}
-
-// expandDashboardGridLayoutMap expands the contents of DashboardGridLayout into a JSON
-// request object.
-func expandDashboardGridLayoutMap(c *Client, f map[string]DashboardGridLayout, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayout(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutSlice expands the contents of DashboardGridLayout into a JSON
-// request object.
-func expandDashboardGridLayoutSlice(c *Client, f []DashboardGridLayout, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayout(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutMap flattens the contents of DashboardGridLayout from a JSON
-// response object.
-func flattenDashboardGridLayoutMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayout {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayout{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayout{}
- }
-
- items := make(map[string]DashboardGridLayout)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayout(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutSlice flattens the contents of DashboardGridLayout from a JSON
-// response object.
-func flattenDashboardGridLayoutSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayout {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayout{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayout{}
- }
-
- items := make([]DashboardGridLayout, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayout(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayout expands an instance of DashboardGridLayout into a JSON
-// request object.
-func expandDashboardGridLayout(c *Client, f *DashboardGridLayout, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Columns; !dcl.IsEmptyValueIndirect(v) {
- m["columns"] = v
- }
- if v, err := expandDashboardGridLayoutWidgetsSlice(c, f.Widgets, res); err != nil {
- return nil, fmt.Errorf("error expanding Widgets into widgets: %w", err)
- } else if v != nil {
- m["widgets"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayout flattens an instance of DashboardGridLayout from a JSON
-// response object.
-func flattenDashboardGridLayout(c *Client, i interface{}, res *Dashboard) *DashboardGridLayout {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayout{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayout
- }
- r.Columns = dcl.FlattenInteger(m["columns"])
- r.Widgets = flattenDashboardGridLayoutWidgetsSlice(c, m["widgets"], res)
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsMap expands the contents of DashboardGridLayoutWidgets into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsMap(c *Client, f map[string]DashboardGridLayoutWidgets, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgets(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsSlice expands the contents of DashboardGridLayoutWidgets into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsSlice(c *Client, f []DashboardGridLayoutWidgets, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgets(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsMap flattens the contents of DashboardGridLayoutWidgets from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgets {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgets{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgets{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgets)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgets(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsSlice flattens the contents of DashboardGridLayoutWidgets from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgets {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgets{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgets{}
- }
-
- items := make([]DashboardGridLayoutWidgets, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgets(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgets expands an instance of DashboardGridLayoutWidgets into a JSON
-// request object.
-func expandDashboardGridLayoutWidgets(c *Client, f *DashboardGridLayoutWidgets, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Title; !dcl.IsEmptyValueIndirect(v) {
- m["title"] = v
- }
- if v, err := expandDashboardGridLayoutWidgetsXyChart(c, f.XyChart, res); err != nil {
- return nil, fmt.Errorf("error expanding XyChart into xyChart: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["xyChart"] = v
- }
- if v, err := expandDashboardGridLayoutWidgetsScorecard(c, f.Scorecard, res); err != nil {
- return nil, fmt.Errorf("error expanding Scorecard into scorecard: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["scorecard"] = v
- }
- if v, err := expandDashboardGridLayoutWidgetsText(c, f.Text, res); err != nil {
- return nil, fmt.Errorf("error expanding Text into text: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["text"] = v
- }
- if v, err := expandDashboardGridLayoutWidgetsBlank(c, f.Blank, res); err != nil {
- return nil, fmt.Errorf("error expanding Blank into blank: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["blank"] = v
- }
- if v, err := expandDashboardGridLayoutWidgetsLogsPanel(c, f.LogsPanel, res); err != nil {
- return nil, fmt.Errorf("error expanding LogsPanel into logsPanel: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["logsPanel"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgets flattens an instance of DashboardGridLayoutWidgets from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgets(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgets {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgets{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgets
- }
- r.Title = dcl.FlattenString(m["title"])
- r.XyChart = flattenDashboardGridLayoutWidgetsXyChart(c, m["xyChart"], res)
- r.Scorecard = flattenDashboardGridLayoutWidgetsScorecard(c, m["scorecard"], res)
- r.Text = flattenDashboardGridLayoutWidgetsText(c, m["text"], res)
- r.Blank = flattenDashboardGridLayoutWidgetsBlank(c, m["blank"], res)
- r.LogsPanel = flattenDashboardGridLayoutWidgetsLogsPanel(c, m["logsPanel"], res)
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsXyChartMap expands the contents of DashboardGridLayoutWidgetsXyChart into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartMap(c *Client, f map[string]DashboardGridLayoutWidgetsXyChart, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChart(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsXyChartSlice expands the contents of DashboardGridLayoutWidgetsXyChart into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartSlice(c *Client, f []DashboardGridLayoutWidgetsXyChart, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChart(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartMap flattens the contents of DashboardGridLayoutWidgetsXyChart from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChart {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChart{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChart{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChart)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChart(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartSlice flattens the contents of DashboardGridLayoutWidgetsXyChart from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChart {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChart{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChart{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChart, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChart(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsXyChart expands an instance of DashboardGridLayoutWidgetsXyChart into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChart(c *Client, f *DashboardGridLayoutWidgetsXyChart, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandDashboardGridLayoutWidgetsXyChartDataSetsSlice(c, f.DataSets, res); err != nil {
- return nil, fmt.Errorf("error expanding DataSets into dataSets: %w", err)
- } else if v != nil {
- m["dataSets"] = v
- }
- if v := f.TimeshiftDuration; !dcl.IsEmptyValueIndirect(v) {
- m["timeshiftDuration"] = v
- }
- if v, err := expandDashboardGridLayoutWidgetsXyChartThresholdsSlice(c, f.Thresholds, res); err != nil {
- return nil, fmt.Errorf("error expanding Thresholds into thresholds: %w", err)
- } else if v != nil {
- m["thresholds"] = v
- }
- if v, err := expandDashboardGridLayoutWidgetsXyChartXAxis(c, f.XAxis, res); err != nil {
- return nil, fmt.Errorf("error expanding XAxis into xAxis: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["xAxis"] = v
- }
- if v, err := expandDashboardGridLayoutWidgetsXyChartYAxis(c, f.YAxis, res); err != nil {
- return nil, fmt.Errorf("error expanding YAxis into yAxis: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["yAxis"] = v
- }
- if v, err := expandDashboardGridLayoutWidgetsXyChartChartOptions(c, f.ChartOptions, res); err != nil {
- return nil, fmt.Errorf("error expanding ChartOptions into chartOptions: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["chartOptions"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChart flattens an instance of DashboardGridLayoutWidgetsXyChart from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChart(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsXyChart {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsXyChart{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsXyChart
- }
- r.DataSets = flattenDashboardGridLayoutWidgetsXyChartDataSetsSlice(c, m["dataSets"], res)
- r.TimeshiftDuration = dcl.FlattenString(m["timeshiftDuration"])
- r.Thresholds = flattenDashboardGridLayoutWidgetsXyChartThresholdsSlice(c, m["thresholds"], res)
- r.XAxis = flattenDashboardGridLayoutWidgetsXyChartXAxis(c, m["xAxis"], res)
- r.YAxis = flattenDashboardGridLayoutWidgetsXyChartYAxis(c, m["yAxis"], res)
- r.ChartOptions = flattenDashboardGridLayoutWidgetsXyChartChartOptions(c, m["chartOptions"], res)
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsMap expands the contents of DashboardGridLayoutWidgetsXyChartDataSets into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsMap(c *Client, f map[string]DashboardGridLayoutWidgetsXyChartDataSets, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartDataSets(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsSlice expands the contents of DashboardGridLayoutWidgetsXyChartDataSets into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsSlice(c *Client, f []DashboardGridLayoutWidgetsXyChartDataSets, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartDataSets(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsMap flattens the contents of DashboardGridLayoutWidgetsXyChartDataSets from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartDataSets {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSets{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSets{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartDataSets)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartDataSets(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsSlice flattens the contents of DashboardGridLayoutWidgetsXyChartDataSets from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartDataSets {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartDataSets{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartDataSets{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSets, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartDataSets(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSets expands an instance of DashboardGridLayoutWidgetsXyChartDataSets into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSets(c *Client, f *DashboardGridLayoutWidgetsXyChartDataSets, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery(c, f.TimeSeriesQuery, res); err != nil {
- return nil, fmt.Errorf("error expanding TimeSeriesQuery into timeSeriesQuery: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesQuery"] = v
- }
- if v := f.PlotType; !dcl.IsEmptyValueIndirect(v) {
- m["plotType"] = v
- }
- if v := f.LegendTemplate; !dcl.IsEmptyValueIndirect(v) {
- m["legendTemplate"] = v
- }
- if v := f.MinAlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["minAlignmentPeriod"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSets flattens an instance of DashboardGridLayoutWidgetsXyChartDataSets from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSets(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsXyChartDataSets {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsXyChartDataSets{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsXyChartDataSets
- }
- r.TimeSeriesQuery = flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery(c, m["timeSeriesQuery"], res)
- r.PlotType = flattenDashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnum(m["plotType"])
- r.LegendTemplate = dcl.FlattenString(m["legendTemplate"])
- r.MinAlignmentPeriod = dcl.FlattenString(m["minAlignmentPeriod"])
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryMap expands the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryMap(c *Client, f map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuerySlice expands the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuerySlice(c *Client, f []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryMap flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuerySlice flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuerySlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery expands an instance of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery(c *Client, f *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, f.TimeSeriesFilter, res); err != nil {
- return nil, fmt.Errorf("error expanding TimeSeriesFilter into timeSeriesFilter: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesFilter"] = v
- }
- if v, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, f.TimeSeriesFilterRatio, res); err != nil {
- return nil, fmt.Errorf("error expanding TimeSeriesFilterRatio into timeSeriesFilterRatio: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesFilterRatio"] = v
- }
- if v := f.TimeSeriesQueryLanguage; !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesQueryLanguage"] = v
- }
- if v := f.UnitOverride; !dcl.IsEmptyValueIndirect(v) {
- m["unitOverride"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery flattens an instance of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery
- }
- r.TimeSeriesFilter = flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, m["timeSeriesFilter"], res)
- r.TimeSeriesFilterRatio = flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, m["timeSeriesFilterRatio"], res)
- r.TimeSeriesQueryLanguage = dcl.FlattenString(m["timeSeriesQueryLanguage"])
- r.UnitOverride = dcl.FlattenString(m["unitOverride"])
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterMap expands the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterMap(c *Client, f map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSlice expands the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSlice(c *Client, f []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterMap flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSlice flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter expands an instance of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c *Client, f *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- m["filter"] = v
- }
- if v, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, f.Aggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding Aggregation into aggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["aggregation"] = v
- }
- if v, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, f.SecondaryAggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding SecondaryAggregation into secondaryAggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["secondaryAggregation"] = v
- }
- if v, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, f.PickTimeSeriesFilter, res); err != nil {
- return nil, fmt.Errorf("error expanding PickTimeSeriesFilter into pickTimeSeriesFilter: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["pickTimeSeriesFilter"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter flattens an instance of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
- }
- r.Filter = dcl.FlattenString(m["filter"])
- r.Aggregation = flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, m["aggregation"], res)
- r.SecondaryAggregation = flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, m["secondaryAggregation"], res)
- r.PickTimeSeriesFilter = flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, m["pickTimeSeriesFilter"], res)
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationMap expands the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationMap(c *Client, f map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationSlice expands the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationSlice(c *Client, f []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationMap flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationSlice flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation expands an instance of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c *Client, f *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation flattens an instance of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap expands the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap(c *Client, f map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice expands the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(c *Client, f []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation expands an instance of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c *Client, f *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation flattens an instance of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap expands the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap(c *Client, f map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice expands the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(c *Client, f []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter expands an instance of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c *Client, f *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.RankingMethod; !dcl.IsEmptyValueIndirect(v) {
- m["rankingMethod"] = v
- }
- if v := f.NumTimeSeries; !dcl.IsEmptyValueIndirect(v) {
- m["numTimeSeries"] = v
- }
- if v := f.Direction; !dcl.IsEmptyValueIndirect(v) {
- m["direction"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter flattens an instance of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- }
- r.RankingMethod = flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(m["rankingMethod"])
- r.NumTimeSeries = dcl.FlattenInteger(m["numTimeSeries"])
- r.Direction = flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(m["direction"])
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioMap expands the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioMap(c *Client, f map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSlice expands the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSlice(c *Client, f []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioMap flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSlice flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio expands an instance of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c *Client, f *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, f.Numerator, res); err != nil {
- return nil, fmt.Errorf("error expanding Numerator into numerator: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["numerator"] = v
- }
- if v, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, f.Denominator, res); err != nil {
- return nil, fmt.Errorf("error expanding Denominator into denominator: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["denominator"] = v
- }
- if v, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, f.SecondaryAggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding SecondaryAggregation into secondaryAggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["secondaryAggregation"] = v
- }
- if v, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, f.PickTimeSeriesFilter, res); err != nil {
- return nil, fmt.Errorf("error expanding PickTimeSeriesFilter into pickTimeSeriesFilter: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["pickTimeSeriesFilter"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio flattens an instance of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
- }
- r.Numerator = flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, m["numerator"], res)
- r.Denominator = flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, m["denominator"], res)
- r.SecondaryAggregation = flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, m["secondaryAggregation"], res)
- r.PickTimeSeriesFilter = flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, m["pickTimeSeriesFilter"], res)
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap expands the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap(c *Client, f map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice expands the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(c *Client, f []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator expands an instance of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c *Client, f *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- m["filter"] = v
- }
- if v, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, f.Aggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding Aggregation into aggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["aggregation"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator flattens an instance of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
- }
- r.Filter = dcl.FlattenString(m["filter"])
- r.Aggregation = flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, m["aggregation"], res)
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap expands the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap(c *Client, f map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice expands the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(c *Client, f []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation expands an instance of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c *Client, f *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation flattens an instance of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap expands the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap(c *Client, f map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice expands the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(c *Client, f []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator expands an instance of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c *Client, f *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- m["filter"] = v
- }
- if v, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, f.Aggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding Aggregation into aggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["aggregation"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator flattens an instance of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
- }
- r.Filter = dcl.FlattenString(m["filter"])
- r.Aggregation = flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, m["aggregation"], res)
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap expands the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap(c *Client, f map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice expands the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(c *Client, f []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation expands an instance of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c *Client, f *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation flattens an instance of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap expands the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap(c *Client, f map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice expands the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(c *Client, f []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation expands an instance of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c *Client, f *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation flattens an instance of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap expands the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap(c *Client, f map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice expands the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(c *Client, f []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter expands an instance of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c *Client, f *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.RankingMethod; !dcl.IsEmptyValueIndirect(v) {
- m["rankingMethod"] = v
- }
- if v := f.NumTimeSeries; !dcl.IsEmptyValueIndirect(v) {
- m["numTimeSeries"] = v
- }
- if v := f.Direction; !dcl.IsEmptyValueIndirect(v) {
- m["direction"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter flattens an instance of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- }
- r.RankingMethod = flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(m["rankingMethod"])
- r.NumTimeSeries = dcl.FlattenInteger(m["numTimeSeries"])
- r.Direction = flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(m["direction"])
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsXyChartThresholdsMap expands the contents of DashboardGridLayoutWidgetsXyChartThresholds into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartThresholdsMap(c *Client, f map[string]DashboardGridLayoutWidgetsXyChartThresholds, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartThresholds(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsXyChartThresholdsSlice expands the contents of DashboardGridLayoutWidgetsXyChartThresholds into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartThresholdsSlice(c *Client, f []DashboardGridLayoutWidgetsXyChartThresholds, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartThresholds(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartThresholdsMap flattens the contents of DashboardGridLayoutWidgetsXyChartThresholds from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartThresholdsMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartThresholds {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartThresholds{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartThresholds{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartThresholds)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartThresholds(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartThresholdsSlice flattens the contents of DashboardGridLayoutWidgetsXyChartThresholds from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartThresholdsSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartThresholds {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartThresholds{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartThresholds{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartThresholds, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartThresholds(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsXyChartThresholds expands an instance of DashboardGridLayoutWidgetsXyChartThresholds into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartThresholds(c *Client, f *DashboardGridLayoutWidgetsXyChartThresholds, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Label; !dcl.IsEmptyValueIndirect(v) {
- m["label"] = v
- }
- if v := f.Value; !dcl.IsEmptyValueIndirect(v) {
- m["value"] = v
- }
- if v := f.Color; !dcl.IsEmptyValueIndirect(v) {
- m["color"] = v
- }
- if v := f.Direction; !dcl.IsEmptyValueIndirect(v) {
- m["direction"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartThresholds flattens an instance of DashboardGridLayoutWidgetsXyChartThresholds from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartThresholds(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsXyChartThresholds {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsXyChartThresholds{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsXyChartThresholds
- }
- r.Label = dcl.FlattenString(m["label"])
- r.Value = dcl.FlattenDouble(m["value"])
- r.Color = flattenDashboardGridLayoutWidgetsXyChartThresholdsColorEnum(m["color"])
- r.Direction = flattenDashboardGridLayoutWidgetsXyChartThresholdsDirectionEnum(m["direction"])
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsXyChartXAxisMap expands the contents of DashboardGridLayoutWidgetsXyChartXAxis into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartXAxisMap(c *Client, f map[string]DashboardGridLayoutWidgetsXyChartXAxis, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartXAxis(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsXyChartXAxisSlice expands the contents of DashboardGridLayoutWidgetsXyChartXAxis into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartXAxisSlice(c *Client, f []DashboardGridLayoutWidgetsXyChartXAxis, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartXAxis(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartXAxisMap flattens the contents of DashboardGridLayoutWidgetsXyChartXAxis from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartXAxisMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartXAxis {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartXAxis{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartXAxis{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartXAxis)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartXAxis(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartXAxisSlice flattens the contents of DashboardGridLayoutWidgetsXyChartXAxis from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartXAxisSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartXAxis {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartXAxis{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartXAxis{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartXAxis, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartXAxis(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsXyChartXAxis expands an instance of DashboardGridLayoutWidgetsXyChartXAxis into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartXAxis(c *Client, f *DashboardGridLayoutWidgetsXyChartXAxis, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Label; !dcl.IsEmptyValueIndirect(v) {
- m["label"] = v
- }
- if v := f.Scale; !dcl.IsEmptyValueIndirect(v) {
- m["scale"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartXAxis flattens an instance of DashboardGridLayoutWidgetsXyChartXAxis from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartXAxis(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsXyChartXAxis {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsXyChartXAxis{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsXyChartXAxis
- }
- r.Label = dcl.FlattenString(m["label"])
- r.Scale = flattenDashboardGridLayoutWidgetsXyChartXAxisScaleEnum(m["scale"])
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsXyChartYAxisMap expands the contents of DashboardGridLayoutWidgetsXyChartYAxis into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartYAxisMap(c *Client, f map[string]DashboardGridLayoutWidgetsXyChartYAxis, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartYAxis(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsXyChartYAxisSlice expands the contents of DashboardGridLayoutWidgetsXyChartYAxis into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartYAxisSlice(c *Client, f []DashboardGridLayoutWidgetsXyChartYAxis, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartYAxis(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartYAxisMap flattens the contents of DashboardGridLayoutWidgetsXyChartYAxis from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartYAxisMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartYAxis {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartYAxis{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartYAxis{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartYAxis)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartYAxis(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartYAxisSlice flattens the contents of DashboardGridLayoutWidgetsXyChartYAxis from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartYAxisSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartYAxis {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartYAxis{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartYAxis{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartYAxis, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartYAxis(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsXyChartYAxis expands an instance of DashboardGridLayoutWidgetsXyChartYAxis into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartYAxis(c *Client, f *DashboardGridLayoutWidgetsXyChartYAxis, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Label; !dcl.IsEmptyValueIndirect(v) {
- m["label"] = v
- }
- if v := f.Scale; !dcl.IsEmptyValueIndirect(v) {
- m["scale"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartYAxis flattens an instance of DashboardGridLayoutWidgetsXyChartYAxis from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartYAxis(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsXyChartYAxis {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsXyChartYAxis{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsXyChartYAxis
- }
- r.Label = dcl.FlattenString(m["label"])
- r.Scale = flattenDashboardGridLayoutWidgetsXyChartYAxisScaleEnum(m["scale"])
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsXyChartChartOptionsMap expands the contents of DashboardGridLayoutWidgetsXyChartChartOptions into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartChartOptionsMap(c *Client, f map[string]DashboardGridLayoutWidgetsXyChartChartOptions, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartChartOptions(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsXyChartChartOptionsSlice expands the contents of DashboardGridLayoutWidgetsXyChartChartOptions into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartChartOptionsSlice(c *Client, f []DashboardGridLayoutWidgetsXyChartChartOptions, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsXyChartChartOptions(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartChartOptionsMap flattens the contents of DashboardGridLayoutWidgetsXyChartChartOptions from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartChartOptionsMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartChartOptions {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartChartOptions{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartChartOptions{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartChartOptions)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartChartOptions(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartChartOptionsSlice flattens the contents of DashboardGridLayoutWidgetsXyChartChartOptions from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartChartOptionsSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartChartOptions {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartChartOptions{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartChartOptions{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartChartOptions, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartChartOptions(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsXyChartChartOptions expands an instance of DashboardGridLayoutWidgetsXyChartChartOptions into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsXyChartChartOptions(c *Client, f *DashboardGridLayoutWidgetsXyChartChartOptions, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Mode; !dcl.IsEmptyValueIndirect(v) {
- m["mode"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartChartOptions flattens an instance of DashboardGridLayoutWidgetsXyChartChartOptions from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartChartOptions(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsXyChartChartOptions {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsXyChartChartOptions{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsXyChartChartOptions
- }
- r.Mode = flattenDashboardGridLayoutWidgetsXyChartChartOptionsModeEnum(m["mode"])
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsScorecardMap expands the contents of DashboardGridLayoutWidgetsScorecard into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardMap(c *Client, f map[string]DashboardGridLayoutWidgetsScorecard, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecard(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsScorecardSlice expands the contents of DashboardGridLayoutWidgetsScorecard into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardSlice(c *Client, f []DashboardGridLayoutWidgetsScorecard, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecard(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardMap flattens the contents of DashboardGridLayoutWidgetsScorecard from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecard {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecard{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecard{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecard)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecard(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardSlice flattens the contents of DashboardGridLayoutWidgetsScorecard from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecard {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecard{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecard{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecard, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecard(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsScorecard expands an instance of DashboardGridLayoutWidgetsScorecard into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecard(c *Client, f *DashboardGridLayoutWidgetsScorecard, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQuery(c, f.TimeSeriesQuery, res); err != nil {
- return nil, fmt.Errorf("error expanding TimeSeriesQuery into timeSeriesQuery: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesQuery"] = v
- }
- if v, err := expandDashboardGridLayoutWidgetsScorecardGaugeView(c, f.GaugeView, res); err != nil {
- return nil, fmt.Errorf("error expanding GaugeView into gaugeView: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["gaugeView"] = v
- }
- if v, err := expandDashboardGridLayoutWidgetsScorecardSparkChartView(c, f.SparkChartView, res); err != nil {
- return nil, fmt.Errorf("error expanding SparkChartView into sparkChartView: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["sparkChartView"] = v
- }
- if v, err := expandDashboardGridLayoutWidgetsScorecardThresholdsSlice(c, f.Thresholds, res); err != nil {
- return nil, fmt.Errorf("error expanding Thresholds into thresholds: %w", err)
- } else if v != nil {
- m["thresholds"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecard flattens an instance of DashboardGridLayoutWidgetsScorecard from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecard(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsScorecard {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsScorecard{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsScorecard
- }
- r.TimeSeriesQuery = flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQuery(c, m["timeSeriesQuery"], res)
- r.GaugeView = flattenDashboardGridLayoutWidgetsScorecardGaugeView(c, m["gaugeView"], res)
- r.SparkChartView = flattenDashboardGridLayoutWidgetsScorecardSparkChartView(c, m["sparkChartView"], res)
- r.Thresholds = flattenDashboardGridLayoutWidgetsScorecardThresholdsSlice(c, m["thresholds"], res)
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryMap expands the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQuery into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryMap(c *Client, f map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQuery, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQuery(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQuerySlice expands the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQuery into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQuerySlice(c *Client, f []DashboardGridLayoutWidgetsScorecardTimeSeriesQuery, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQuery(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryMap flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQuery from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQuery {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQuery{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQuery{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQuery)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQuery(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQuerySlice flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQuery from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQuerySlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardTimeSeriesQuery {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQuery{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQuery{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQuery, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQuery(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQuery expands an instance of DashboardGridLayoutWidgetsScorecardTimeSeriesQuery into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQuery(c *Client, f *DashboardGridLayoutWidgetsScorecardTimeSeriesQuery, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c, f.TimeSeriesFilter, res); err != nil {
- return nil, fmt.Errorf("error expanding TimeSeriesFilter into timeSeriesFilter: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesFilter"] = v
- }
- if v, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, f.TimeSeriesFilterRatio, res); err != nil {
- return nil, fmt.Errorf("error expanding TimeSeriesFilterRatio into timeSeriesFilterRatio: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesFilterRatio"] = v
- }
- if v := f.TimeSeriesQueryLanguage; !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesQueryLanguage"] = v
- }
- if v := f.UnitOverride; !dcl.IsEmptyValueIndirect(v) {
- m["unitOverride"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQuery flattens an instance of DashboardGridLayoutWidgetsScorecardTimeSeriesQuery from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQuery(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsScorecardTimeSeriesQuery {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsScorecardTimeSeriesQuery{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQuery
- }
- r.TimeSeriesFilter = flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c, m["timeSeriesFilter"], res)
- r.TimeSeriesFilterRatio = flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, m["timeSeriesFilterRatio"], res)
- r.TimeSeriesQueryLanguage = dcl.FlattenString(m["timeSeriesQueryLanguage"])
- r.UnitOverride = dcl.FlattenString(m["unitOverride"])
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterMap expands the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterMap(c *Client, f map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSlice expands the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSlice(c *Client, f []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterMap flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSlice flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter expands an instance of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c *Client, f *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- m["filter"] = v
- }
- if v, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, f.Aggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding Aggregation into aggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["aggregation"] = v
- }
- if v, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, f.SecondaryAggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding SecondaryAggregation into secondaryAggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["secondaryAggregation"] = v
- }
- if v, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, f.PickTimeSeriesFilter, res); err != nil {
- return nil, fmt.Errorf("error expanding PickTimeSeriesFilter into pickTimeSeriesFilter: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["pickTimeSeriesFilter"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter flattens an instance of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter
- }
- r.Filter = dcl.FlattenString(m["filter"])
- r.Aggregation = flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, m["aggregation"], res)
- r.SecondaryAggregation = flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, m["secondaryAggregation"], res)
- r.PickTimeSeriesFilter = flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, m["pickTimeSeriesFilter"], res)
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationMap expands the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationMap(c *Client, f map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationSlice expands the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationSlice(c *Client, f []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationMap flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationSlice flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation expands an instance of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c *Client, f *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation flattens an instance of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap expands the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap(c *Client, f map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice expands the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(c *Client, f []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation expands an instance of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c *Client, f *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation flattens an instance of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap expands the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap(c *Client, f map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice expands the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(c *Client, f []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter expands an instance of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c *Client, f *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.RankingMethod; !dcl.IsEmptyValueIndirect(v) {
- m["rankingMethod"] = v
- }
- if v := f.NumTimeSeries; !dcl.IsEmptyValueIndirect(v) {
- m["numTimeSeries"] = v
- }
- if v := f.Direction; !dcl.IsEmptyValueIndirect(v) {
- m["direction"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter flattens an instance of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- }
- r.RankingMethod = flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(m["rankingMethod"])
- r.NumTimeSeries = dcl.FlattenInteger(m["numTimeSeries"])
- r.Direction = flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(m["direction"])
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioMap expands the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioMap(c *Client, f map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSlice expands the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSlice(c *Client, f []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioMap flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSlice flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio expands an instance of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c *Client, f *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, f.Numerator, res); err != nil {
- return nil, fmt.Errorf("error expanding Numerator into numerator: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["numerator"] = v
- }
- if v, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, f.Denominator, res); err != nil {
- return nil, fmt.Errorf("error expanding Denominator into denominator: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["denominator"] = v
- }
- if v, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, f.SecondaryAggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding SecondaryAggregation into secondaryAggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["secondaryAggregation"] = v
- }
- if v, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, f.PickTimeSeriesFilter, res); err != nil {
- return nil, fmt.Errorf("error expanding PickTimeSeriesFilter into pickTimeSeriesFilter: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["pickTimeSeriesFilter"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio flattens an instance of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio
- }
- r.Numerator = flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, m["numerator"], res)
- r.Denominator = flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, m["denominator"], res)
- r.SecondaryAggregation = flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, m["secondaryAggregation"], res)
- r.PickTimeSeriesFilter = flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, m["pickTimeSeriesFilter"], res)
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap expands the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap(c *Client, f map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice expands the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(c *Client, f []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator expands an instance of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c *Client, f *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- m["filter"] = v
- }
- if v, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, f.Aggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding Aggregation into aggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["aggregation"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator flattens an instance of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
- }
- r.Filter = dcl.FlattenString(m["filter"])
- r.Aggregation = flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, m["aggregation"], res)
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap expands the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap(c *Client, f map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice expands the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(c *Client, f []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation expands an instance of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c *Client, f *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation flattens an instance of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap expands the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap(c *Client, f map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice expands the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(c *Client, f []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator expands an instance of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c *Client, f *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- m["filter"] = v
- }
- if v, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, f.Aggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding Aggregation into aggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["aggregation"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator flattens an instance of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
- }
- r.Filter = dcl.FlattenString(m["filter"])
- r.Aggregation = flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, m["aggregation"], res)
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap expands the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap(c *Client, f map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice expands the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(c *Client, f []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation expands an instance of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c *Client, f *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation flattens an instance of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap expands the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap(c *Client, f map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice expands the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(c *Client, f []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation expands an instance of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c *Client, f *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation flattens an instance of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap expands the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap(c *Client, f map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice expands the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(c *Client, f []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter expands an instance of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c *Client, f *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.RankingMethod; !dcl.IsEmptyValueIndirect(v) {
- m["rankingMethod"] = v
- }
- if v := f.NumTimeSeries; !dcl.IsEmptyValueIndirect(v) {
- m["numTimeSeries"] = v
- }
- if v := f.Direction; !dcl.IsEmptyValueIndirect(v) {
- m["direction"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter flattens an instance of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- }
- r.RankingMethod = flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(m["rankingMethod"])
- r.NumTimeSeries = dcl.FlattenInteger(m["numTimeSeries"])
- r.Direction = flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(m["direction"])
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsScorecardGaugeViewMap expands the contents of DashboardGridLayoutWidgetsScorecardGaugeView into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardGaugeViewMap(c *Client, f map[string]DashboardGridLayoutWidgetsScorecardGaugeView, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecardGaugeView(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsScorecardGaugeViewSlice expands the contents of DashboardGridLayoutWidgetsScorecardGaugeView into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardGaugeViewSlice(c *Client, f []DashboardGridLayoutWidgetsScorecardGaugeView, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecardGaugeView(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardGaugeViewMap flattens the contents of DashboardGridLayoutWidgetsScorecardGaugeView from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardGaugeViewMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardGaugeView {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardGaugeView{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardGaugeView{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardGaugeView)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardGaugeView(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardGaugeViewSlice flattens the contents of DashboardGridLayoutWidgetsScorecardGaugeView from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardGaugeViewSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardGaugeView {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardGaugeView{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardGaugeView{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardGaugeView, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardGaugeView(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsScorecardGaugeView expands an instance of DashboardGridLayoutWidgetsScorecardGaugeView into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardGaugeView(c *Client, f *DashboardGridLayoutWidgetsScorecardGaugeView, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.LowerBound; !dcl.IsEmptyValueIndirect(v) {
- m["lowerBound"] = v
- }
- if v := f.UpperBound; !dcl.IsEmptyValueIndirect(v) {
- m["upperBound"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardGaugeView flattens an instance of DashboardGridLayoutWidgetsScorecardGaugeView from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardGaugeView(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsScorecardGaugeView {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsScorecardGaugeView{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsScorecardGaugeView
- }
- r.LowerBound = dcl.FlattenDouble(m["lowerBound"])
- r.UpperBound = dcl.FlattenDouble(m["upperBound"])
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsScorecardSparkChartViewMap expands the contents of DashboardGridLayoutWidgetsScorecardSparkChartView into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardSparkChartViewMap(c *Client, f map[string]DashboardGridLayoutWidgetsScorecardSparkChartView, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecardSparkChartView(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsScorecardSparkChartViewSlice expands the contents of DashboardGridLayoutWidgetsScorecardSparkChartView into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardSparkChartViewSlice(c *Client, f []DashboardGridLayoutWidgetsScorecardSparkChartView, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecardSparkChartView(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardSparkChartViewMap flattens the contents of DashboardGridLayoutWidgetsScorecardSparkChartView from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardSparkChartViewMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardSparkChartView {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardSparkChartView{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardSparkChartView{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardSparkChartView)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardSparkChartView(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardSparkChartViewSlice flattens the contents of DashboardGridLayoutWidgetsScorecardSparkChartView from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardSparkChartViewSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardSparkChartView {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardSparkChartView{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardSparkChartView{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardSparkChartView, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardSparkChartView(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsScorecardSparkChartView expands an instance of DashboardGridLayoutWidgetsScorecardSparkChartView into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardSparkChartView(c *Client, f *DashboardGridLayoutWidgetsScorecardSparkChartView, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.SparkChartType; !dcl.IsEmptyValueIndirect(v) {
- m["sparkChartType"] = v
- }
- if v := f.MinAlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["minAlignmentPeriod"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardSparkChartView flattens an instance of DashboardGridLayoutWidgetsScorecardSparkChartView from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardSparkChartView(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsScorecardSparkChartView {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsScorecardSparkChartView{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsScorecardSparkChartView
- }
- r.SparkChartType = flattenDashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnum(m["sparkChartType"])
- r.MinAlignmentPeriod = dcl.FlattenString(m["minAlignmentPeriod"])
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsScorecardThresholdsMap expands the contents of DashboardGridLayoutWidgetsScorecardThresholds into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardThresholdsMap(c *Client, f map[string]DashboardGridLayoutWidgetsScorecardThresholds, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecardThresholds(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsScorecardThresholdsSlice expands the contents of DashboardGridLayoutWidgetsScorecardThresholds into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardThresholdsSlice(c *Client, f []DashboardGridLayoutWidgetsScorecardThresholds, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsScorecardThresholds(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardThresholdsMap flattens the contents of DashboardGridLayoutWidgetsScorecardThresholds from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardThresholdsMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardThresholds {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardThresholds{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardThresholds{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardThresholds)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardThresholds(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardThresholdsSlice flattens the contents of DashboardGridLayoutWidgetsScorecardThresholds from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardThresholdsSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardThresholds {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardThresholds{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardThresholds{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardThresholds, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardThresholds(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsScorecardThresholds expands an instance of DashboardGridLayoutWidgetsScorecardThresholds into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsScorecardThresholds(c *Client, f *DashboardGridLayoutWidgetsScorecardThresholds, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Label; !dcl.IsEmptyValueIndirect(v) {
- m["label"] = v
- }
- if v := f.Value; !dcl.IsEmptyValueIndirect(v) {
- m["value"] = v
- }
- if v := f.Color; !dcl.IsEmptyValueIndirect(v) {
- m["color"] = v
- }
- if v := f.Direction; !dcl.IsEmptyValueIndirect(v) {
- m["direction"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardThresholds flattens an instance of DashboardGridLayoutWidgetsScorecardThresholds from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardThresholds(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsScorecardThresholds {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsScorecardThresholds{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsScorecardThresholds
- }
- r.Label = dcl.FlattenString(m["label"])
- r.Value = dcl.FlattenDouble(m["value"])
- r.Color = flattenDashboardGridLayoutWidgetsScorecardThresholdsColorEnum(m["color"])
- r.Direction = flattenDashboardGridLayoutWidgetsScorecardThresholdsDirectionEnum(m["direction"])
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsTextMap expands the contents of DashboardGridLayoutWidgetsText into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsTextMap(c *Client, f map[string]DashboardGridLayoutWidgetsText, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsText(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsTextSlice expands the contents of DashboardGridLayoutWidgetsText into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsTextSlice(c *Client, f []DashboardGridLayoutWidgetsText, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsText(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsTextMap flattens the contents of DashboardGridLayoutWidgetsText from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsTextMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsText {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsText{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsText{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsText)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsText(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsTextSlice flattens the contents of DashboardGridLayoutWidgetsText from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsTextSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsText {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsText{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsText{}
- }
-
- items := make([]DashboardGridLayoutWidgetsText, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsText(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsText expands an instance of DashboardGridLayoutWidgetsText into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsText(c *Client, f *DashboardGridLayoutWidgetsText, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Content; !dcl.IsEmptyValueIndirect(v) {
- m["content"] = v
- }
- if v := f.Format; !dcl.IsEmptyValueIndirect(v) {
- m["format"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsText flattens an instance of DashboardGridLayoutWidgetsText from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsText(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsText {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsText{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsText
- }
- r.Content = dcl.FlattenString(m["content"])
- r.Format = flattenDashboardGridLayoutWidgetsTextFormatEnum(m["format"])
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsBlankMap expands the contents of DashboardGridLayoutWidgetsBlank into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsBlankMap(c *Client, f map[string]DashboardGridLayoutWidgetsBlank, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsBlank(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsBlankSlice expands the contents of DashboardGridLayoutWidgetsBlank into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsBlankSlice(c *Client, f []DashboardGridLayoutWidgetsBlank, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsBlank(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsBlankMap flattens the contents of DashboardGridLayoutWidgetsBlank from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsBlankMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsBlank {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsBlank{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsBlank{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsBlank)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsBlank(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsBlankSlice flattens the contents of DashboardGridLayoutWidgetsBlank from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsBlankSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsBlank {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsBlank{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsBlank{}
- }
-
- items := make([]DashboardGridLayoutWidgetsBlank, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsBlank(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsBlank expands an instance of DashboardGridLayoutWidgetsBlank into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsBlank(c *Client, f *DashboardGridLayoutWidgetsBlank, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsBlank flattens an instance of DashboardGridLayoutWidgetsBlank from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsBlank(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsBlank {
- _, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsBlank{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsBlank
- }
-
- return r
-}
-
-// expandDashboardGridLayoutWidgetsLogsPanelMap expands the contents of DashboardGridLayoutWidgetsLogsPanel into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsLogsPanelMap(c *Client, f map[string]DashboardGridLayoutWidgetsLogsPanel, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardGridLayoutWidgetsLogsPanel(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardGridLayoutWidgetsLogsPanelSlice expands the contents of DashboardGridLayoutWidgetsLogsPanel into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsLogsPanelSlice(c *Client, f []DashboardGridLayoutWidgetsLogsPanel, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardGridLayoutWidgetsLogsPanel(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardGridLayoutWidgetsLogsPanelMap flattens the contents of DashboardGridLayoutWidgetsLogsPanel from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsLogsPanelMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsLogsPanel {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsLogsPanel{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsLogsPanel{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsLogsPanel)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsLogsPanel(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsLogsPanelSlice flattens the contents of DashboardGridLayoutWidgetsLogsPanel from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsLogsPanelSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsLogsPanel {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsLogsPanel{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsLogsPanel{}
- }
-
- items := make([]DashboardGridLayoutWidgetsLogsPanel, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsLogsPanel(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardGridLayoutWidgetsLogsPanel expands an instance of DashboardGridLayoutWidgetsLogsPanel into a JSON
-// request object.
-func expandDashboardGridLayoutWidgetsLogsPanel(c *Client, f *DashboardGridLayoutWidgetsLogsPanel, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- m["filter"] = v
- }
- if v := f.ResourceNames; v != nil {
- m["resourceNames"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardGridLayoutWidgetsLogsPanel flattens an instance of DashboardGridLayoutWidgetsLogsPanel from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsLogsPanel(c *Client, i interface{}, res *Dashboard) *DashboardGridLayoutWidgetsLogsPanel {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardGridLayoutWidgetsLogsPanel{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardGridLayoutWidgetsLogsPanel
- }
- r.Filter = dcl.FlattenString(m["filter"])
- r.ResourceNames = dcl.FlattenStringSlice(m["resourceNames"])
-
- return r
-}
-
-// expandDashboardMosaicLayoutMap expands the contents of DashboardMosaicLayout into a JSON
-// request object.
-func expandDashboardMosaicLayoutMap(c *Client, f map[string]DashboardMosaicLayout, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayout(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutSlice expands the contents of DashboardMosaicLayout into a JSON
-// request object.
-func expandDashboardMosaicLayoutSlice(c *Client, f []DashboardMosaicLayout, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayout(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutMap flattens the contents of DashboardMosaicLayout from a JSON
-// response object.
-func flattenDashboardMosaicLayoutMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayout {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayout{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayout{}
- }
-
- items := make(map[string]DashboardMosaicLayout)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayout(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutSlice flattens the contents of DashboardMosaicLayout from a JSON
-// response object.
-func flattenDashboardMosaicLayoutSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayout {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayout{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayout{}
- }
-
- items := make([]DashboardMosaicLayout, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayout(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayout expands an instance of DashboardMosaicLayout into a JSON
-// request object.
-func expandDashboardMosaicLayout(c *Client, f *DashboardMosaicLayout, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Columns; !dcl.IsEmptyValueIndirect(v) {
- m["columns"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesSlice(c, f.Tiles, res); err != nil {
- return nil, fmt.Errorf("error expanding Tiles into tiles: %w", err)
- } else if v != nil {
- m["tiles"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayout flattens an instance of DashboardMosaicLayout from a JSON
-// response object.
-func flattenDashboardMosaicLayout(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayout {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayout{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayout
- }
- r.Columns = dcl.FlattenInteger(m["columns"])
- r.Tiles = flattenDashboardMosaicLayoutTilesSlice(c, m["tiles"], res)
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesMap expands the contents of DashboardMosaicLayoutTiles into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesMap(c *Client, f map[string]DashboardMosaicLayoutTiles, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTiles(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesSlice expands the contents of DashboardMosaicLayoutTiles into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesSlice(c *Client, f []DashboardMosaicLayoutTiles, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTiles(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesMap flattens the contents of DashboardMosaicLayoutTiles from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTiles {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTiles{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTiles{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTiles)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTiles(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesSlice flattens the contents of DashboardMosaicLayoutTiles from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTiles {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTiles{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTiles{}
- }
-
- items := make([]DashboardMosaicLayoutTiles, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTiles(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTiles expands an instance of DashboardMosaicLayoutTiles into a JSON
-// request object.
-func expandDashboardMosaicLayoutTiles(c *Client, f *DashboardMosaicLayoutTiles, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.XPos; !dcl.IsEmptyValueIndirect(v) {
- m["xPos"] = v
- }
- if v := f.YPos; !dcl.IsEmptyValueIndirect(v) {
- m["yPos"] = v
- }
- if v := f.Width; !dcl.IsEmptyValueIndirect(v) {
- m["width"] = v
- }
- if v := f.Height; !dcl.IsEmptyValueIndirect(v) {
- m["height"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesWidget(c, f.Widget, res); err != nil {
- return nil, fmt.Errorf("error expanding Widget into widget: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["widget"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTiles flattens an instance of DashboardMosaicLayoutTiles from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTiles(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTiles {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTiles{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTiles
- }
- r.XPos = dcl.FlattenInteger(m["xPos"])
- r.YPos = dcl.FlattenInteger(m["yPos"])
- r.Width = dcl.FlattenInteger(m["width"])
- r.Height = dcl.FlattenInteger(m["height"])
- r.Widget = flattenDashboardMosaicLayoutTilesWidget(c, m["widget"], res)
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetMap expands the contents of DashboardMosaicLayoutTilesWidget into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidget, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidget(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetSlice expands the contents of DashboardMosaicLayoutTilesWidget into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetSlice(c *Client, f []DashboardMosaicLayoutTilesWidget, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidget(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetMap flattens the contents of DashboardMosaicLayoutTilesWidget from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidget {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidget{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidget{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidget)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidget(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetSlice flattens the contents of DashboardMosaicLayoutTilesWidget from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidget {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidget{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidget{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidget, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidget(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidget expands an instance of DashboardMosaicLayoutTilesWidget into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidget(c *Client, f *DashboardMosaicLayoutTilesWidget, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Title; !dcl.IsEmptyValueIndirect(v) {
- m["title"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesWidgetXyChart(c, f.XyChart, res); err != nil {
- return nil, fmt.Errorf("error expanding XyChart into xyChart: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["xyChart"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesWidgetScorecard(c, f.Scorecard, res); err != nil {
- return nil, fmt.Errorf("error expanding Scorecard into scorecard: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["scorecard"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesWidgetText(c, f.Text, res); err != nil {
- return nil, fmt.Errorf("error expanding Text into text: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["text"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesWidgetBlank(c, f.Blank, res); err != nil {
- return nil, fmt.Errorf("error expanding Blank into blank: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["blank"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesWidgetLogsPanel(c, f.LogsPanel, res); err != nil {
- return nil, fmt.Errorf("error expanding LogsPanel into logsPanel: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["logsPanel"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidget flattens an instance of DashboardMosaicLayoutTilesWidget from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidget(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidget {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidget{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidget
- }
- r.Title = dcl.FlattenString(m["title"])
- r.XyChart = flattenDashboardMosaicLayoutTilesWidgetXyChart(c, m["xyChart"], res)
- r.Scorecard = flattenDashboardMosaicLayoutTilesWidgetScorecard(c, m["scorecard"], res)
- r.Text = flattenDashboardMosaicLayoutTilesWidgetText(c, m["text"], res)
- r.Blank = flattenDashboardMosaicLayoutTilesWidgetBlank(c, m["blank"], res)
- r.LogsPanel = flattenDashboardMosaicLayoutTilesWidgetLogsPanel(c, m["logsPanel"], res)
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartMap expands the contents of DashboardMosaicLayoutTilesWidgetXyChart into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetXyChart, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChart(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartSlice expands the contents of DashboardMosaicLayoutTilesWidgetXyChart into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetXyChart, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChart(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChart from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChart {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChart{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChart{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChart)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChart(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChart from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChart {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChart{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChart{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChart, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChart(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChart expands an instance of DashboardMosaicLayoutTilesWidgetXyChart into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChart(c *Client, f *DashboardMosaicLayoutTilesWidgetXyChart, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsSlice(c, f.DataSets, res); err != nil {
- return nil, fmt.Errorf("error expanding DataSets into dataSets: %w", err)
- } else if v != nil {
- m["dataSets"] = v
- }
- if v := f.TimeshiftDuration; !dcl.IsEmptyValueIndirect(v) {
- m["timeshiftDuration"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesWidgetXyChartThresholdsSlice(c, f.Thresholds, res); err != nil {
- return nil, fmt.Errorf("error expanding Thresholds into thresholds: %w", err)
- } else if v != nil {
- m["thresholds"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesWidgetXyChartXAxis(c, f.XAxis, res); err != nil {
- return nil, fmt.Errorf("error expanding XAxis into xAxis: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["xAxis"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesWidgetXyChartYAxis(c, f.YAxis, res); err != nil {
- return nil, fmt.Errorf("error expanding YAxis into yAxis: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["yAxis"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesWidgetXyChartChartOptions(c, f.ChartOptions, res); err != nil {
- return nil, fmt.Errorf("error expanding ChartOptions into chartOptions: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["chartOptions"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChart flattens an instance of DashboardMosaicLayoutTilesWidgetXyChart from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChart(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetXyChart {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetXyChart{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetXyChart
- }
- r.DataSets = flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsSlice(c, m["dataSets"], res)
- r.TimeshiftDuration = dcl.FlattenString(m["timeshiftDuration"])
- r.Thresholds = flattenDashboardMosaicLayoutTilesWidgetXyChartThresholdsSlice(c, m["thresholds"], res)
- r.XAxis = flattenDashboardMosaicLayoutTilesWidgetXyChartXAxis(c, m["xAxis"], res)
- r.YAxis = flattenDashboardMosaicLayoutTilesWidgetXyChartYAxis(c, m["yAxis"], res)
- r.ChartOptions = flattenDashboardMosaicLayoutTilesWidgetXyChartChartOptions(c, m["chartOptions"], res)
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsMap expands the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSets into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSets, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSets(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsSlice expands the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSets into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetXyChartDataSets, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSets(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSets from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSets {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSets{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSets{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSets)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSets(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSets from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartDataSets {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSets{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSets{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSets, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSets(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSets expands an instance of DashboardMosaicLayoutTilesWidgetXyChartDataSets into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSets(c *Client, f *DashboardMosaicLayoutTilesWidgetXyChartDataSets, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery(c, f.TimeSeriesQuery, res); err != nil {
- return nil, fmt.Errorf("error expanding TimeSeriesQuery into timeSeriesQuery: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesQuery"] = v
- }
- if v := f.PlotType; !dcl.IsEmptyValueIndirect(v) {
- m["plotType"] = v
- }
- if v := f.LegendTemplate; !dcl.IsEmptyValueIndirect(v) {
- m["legendTemplate"] = v
- }
- if v := f.MinAlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["minAlignmentPeriod"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSets flattens an instance of DashboardMosaicLayoutTilesWidgetXyChartDataSets from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSets(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetXyChartDataSets {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetXyChartDataSets{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSets
- }
- r.TimeSeriesQuery = flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery(c, m["timeSeriesQuery"], res)
- r.PlotType = flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnum(m["plotType"])
- r.LegendTemplate = dcl.FlattenString(m["legendTemplate"])
- r.MinAlignmentPeriod = dcl.FlattenString(m["minAlignmentPeriod"])
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryMap expands the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuerySlice expands the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuerySlice(c *Client, f []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuerySlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuerySlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery expands an instance of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery(c *Client, f *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, f.TimeSeriesFilter, res); err != nil {
- return nil, fmt.Errorf("error expanding TimeSeriesFilter into timeSeriesFilter: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesFilter"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, f.TimeSeriesFilterRatio, res); err != nil {
- return nil, fmt.Errorf("error expanding TimeSeriesFilterRatio into timeSeriesFilterRatio: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesFilterRatio"] = v
- }
- if v := f.TimeSeriesQueryLanguage; !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesQueryLanguage"] = v
- }
- if v := f.UnitOverride; !dcl.IsEmptyValueIndirect(v) {
- m["unitOverride"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery flattens an instance of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery
- }
- r.TimeSeriesFilter = flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, m["timeSeriesFilter"], res)
- r.TimeSeriesFilterRatio = flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, m["timeSeriesFilterRatio"], res)
- r.TimeSeriesQueryLanguage = dcl.FlattenString(m["timeSeriesQueryLanguage"])
- r.UnitOverride = dcl.FlattenString(m["unitOverride"])
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterMap expands the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSlice expands the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter expands an instance of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c *Client, f *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- m["filter"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, f.Aggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding Aggregation into aggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["aggregation"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, f.SecondaryAggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding SecondaryAggregation into secondaryAggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["secondaryAggregation"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, f.PickTimeSeriesFilter, res); err != nil {
- return nil, fmt.Errorf("error expanding PickTimeSeriesFilter into pickTimeSeriesFilter: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["pickTimeSeriesFilter"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter flattens an instance of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
- }
- r.Filter = dcl.FlattenString(m["filter"])
- r.Aggregation = flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, m["aggregation"], res)
- r.SecondaryAggregation = flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, m["secondaryAggregation"], res)
- r.PickTimeSeriesFilter = flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, m["pickTimeSeriesFilter"], res)
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationMap expands the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationSlice expands the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation expands an instance of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c *Client, f *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation flattens an instance of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap expands the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice expands the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation expands an instance of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c *Client, f *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation flattens an instance of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap expands the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice expands the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter expands an instance of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c *Client, f *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.RankingMethod; !dcl.IsEmptyValueIndirect(v) {
- m["rankingMethod"] = v
- }
- if v := f.NumTimeSeries; !dcl.IsEmptyValueIndirect(v) {
- m["numTimeSeries"] = v
- }
- if v := f.Direction; !dcl.IsEmptyValueIndirect(v) {
- m["direction"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter flattens an instance of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- }
- r.RankingMethod = flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(m["rankingMethod"])
- r.NumTimeSeries = dcl.FlattenInteger(m["numTimeSeries"])
- r.Direction = flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(m["direction"])
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioMap expands the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSlice expands the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio expands an instance of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c *Client, f *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, f.Numerator, res); err != nil {
- return nil, fmt.Errorf("error expanding Numerator into numerator: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["numerator"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, f.Denominator, res); err != nil {
- return nil, fmt.Errorf("error expanding Denominator into denominator: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["denominator"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, f.SecondaryAggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding SecondaryAggregation into secondaryAggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["secondaryAggregation"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, f.PickTimeSeriesFilter, res); err != nil {
- return nil, fmt.Errorf("error expanding PickTimeSeriesFilter into pickTimeSeriesFilter: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["pickTimeSeriesFilter"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio flattens an instance of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
- }
- r.Numerator = flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, m["numerator"], res)
- r.Denominator = flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, m["denominator"], res)
- r.SecondaryAggregation = flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, m["secondaryAggregation"], res)
- r.PickTimeSeriesFilter = flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, m["pickTimeSeriesFilter"], res)
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap expands the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice expands the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator expands an instance of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c *Client, f *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- m["filter"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, f.Aggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding Aggregation into aggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["aggregation"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator flattens an instance of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
- }
- r.Filter = dcl.FlattenString(m["filter"])
- r.Aggregation = flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, m["aggregation"], res)
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap expands the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice expands the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation expands an instance of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c *Client, f *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation flattens an instance of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap expands the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice expands the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator expands an instance of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c *Client, f *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- m["filter"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, f.Aggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding Aggregation into aggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["aggregation"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator flattens an instance of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
- }
- r.Filter = dcl.FlattenString(m["filter"])
- r.Aggregation = flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, m["aggregation"], res)
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap expands the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice expands the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation expands an instance of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c *Client, f *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation flattens an instance of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap expands the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice expands the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation expands an instance of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c *Client, f *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation flattens an instance of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap expands the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice expands the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter expands an instance of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c *Client, f *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.RankingMethod; !dcl.IsEmptyValueIndirect(v) {
- m["rankingMethod"] = v
- }
- if v := f.NumTimeSeries; !dcl.IsEmptyValueIndirect(v) {
- m["numTimeSeries"] = v
- }
- if v := f.Direction; !dcl.IsEmptyValueIndirect(v) {
- m["direction"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter flattens an instance of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- }
- r.RankingMethod = flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(m["rankingMethod"])
- r.NumTimeSeries = dcl.FlattenInteger(m["numTimeSeries"])
- r.Direction = flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(m["direction"])
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartThresholdsMap expands the contents of DashboardMosaicLayoutTilesWidgetXyChartThresholds into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartThresholdsMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetXyChartThresholds, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartThresholds(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartThresholdsSlice expands the contents of DashboardMosaicLayoutTilesWidgetXyChartThresholds into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartThresholdsSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetXyChartThresholds, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartThresholds(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartThresholdsMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartThresholds from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartThresholdsMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartThresholds {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartThresholds{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartThresholds{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartThresholds)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartThresholds(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartThresholdsSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartThresholds from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartThresholdsSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartThresholds {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartThresholds{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartThresholds{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartThresholds, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartThresholds(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartThresholds expands an instance of DashboardMosaicLayoutTilesWidgetXyChartThresholds into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartThresholds(c *Client, f *DashboardMosaicLayoutTilesWidgetXyChartThresholds, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Label; !dcl.IsEmptyValueIndirect(v) {
- m["label"] = v
- }
- if v := f.Value; !dcl.IsEmptyValueIndirect(v) {
- m["value"] = v
- }
- if v := f.Color; !dcl.IsEmptyValueIndirect(v) {
- m["color"] = v
- }
- if v := f.Direction; !dcl.IsEmptyValueIndirect(v) {
- m["direction"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartThresholds flattens an instance of DashboardMosaicLayoutTilesWidgetXyChartThresholds from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartThresholds(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetXyChartThresholds {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetXyChartThresholds{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetXyChartThresholds
- }
- r.Label = dcl.FlattenString(m["label"])
- r.Value = dcl.FlattenDouble(m["value"])
- r.Color = flattenDashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnum(m["color"])
- r.Direction = flattenDashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnum(m["direction"])
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartXAxisMap expands the contents of DashboardMosaicLayoutTilesWidgetXyChartXAxis into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartXAxisMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetXyChartXAxis, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartXAxis(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartXAxisSlice expands the contents of DashboardMosaicLayoutTilesWidgetXyChartXAxis into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartXAxisSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetXyChartXAxis, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartXAxis(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartXAxisMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartXAxis from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartXAxisMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartXAxis {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartXAxis{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartXAxis{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartXAxis)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartXAxis(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartXAxisSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartXAxis from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartXAxisSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartXAxis {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartXAxis{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartXAxis{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartXAxis, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartXAxis(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartXAxis expands an instance of DashboardMosaicLayoutTilesWidgetXyChartXAxis into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartXAxis(c *Client, f *DashboardMosaicLayoutTilesWidgetXyChartXAxis, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Label; !dcl.IsEmptyValueIndirect(v) {
- m["label"] = v
- }
- if v := f.Scale; !dcl.IsEmptyValueIndirect(v) {
- m["scale"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartXAxis flattens an instance of DashboardMosaicLayoutTilesWidgetXyChartXAxis from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartXAxis(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetXyChartXAxis {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetXyChartXAxis{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetXyChartXAxis
- }
- r.Label = dcl.FlattenString(m["label"])
- r.Scale = flattenDashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnum(m["scale"])
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartYAxisMap expands the contents of DashboardMosaicLayoutTilesWidgetXyChartYAxis into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartYAxisMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetXyChartYAxis, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartYAxis(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartYAxisSlice expands the contents of DashboardMosaicLayoutTilesWidgetXyChartYAxis into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartYAxisSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetXyChartYAxis, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartYAxis(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartYAxisMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartYAxis from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartYAxisMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartYAxis {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartYAxis{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartYAxis{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartYAxis)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartYAxis(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartYAxisSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartYAxis from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartYAxisSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartYAxis {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartYAxis{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartYAxis{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartYAxis, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartYAxis(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartYAxis expands an instance of DashboardMosaicLayoutTilesWidgetXyChartYAxis into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartYAxis(c *Client, f *DashboardMosaicLayoutTilesWidgetXyChartYAxis, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Label; !dcl.IsEmptyValueIndirect(v) {
- m["label"] = v
- }
- if v := f.Scale; !dcl.IsEmptyValueIndirect(v) {
- m["scale"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartYAxis flattens an instance of DashboardMosaicLayoutTilesWidgetXyChartYAxis from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartYAxis(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetXyChartYAxis {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetXyChartYAxis{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetXyChartYAxis
- }
- r.Label = dcl.FlattenString(m["label"])
- r.Scale = flattenDashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnum(m["scale"])
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartChartOptionsMap expands the contents of DashboardMosaicLayoutTilesWidgetXyChartChartOptions into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartChartOptionsMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetXyChartChartOptions, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartChartOptions(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartChartOptionsSlice expands the contents of DashboardMosaicLayoutTilesWidgetXyChartChartOptions into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartChartOptionsSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetXyChartChartOptions, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetXyChartChartOptions(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartChartOptionsMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartChartOptions from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartChartOptionsMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartChartOptions {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartChartOptions{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartChartOptions{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartChartOptions)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartChartOptions(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartChartOptionsSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartChartOptions from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartChartOptionsSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartChartOptions {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartChartOptions{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartChartOptions{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartChartOptions, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartChartOptions(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetXyChartChartOptions expands an instance of DashboardMosaicLayoutTilesWidgetXyChartChartOptions into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetXyChartChartOptions(c *Client, f *DashboardMosaicLayoutTilesWidgetXyChartChartOptions, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Mode; !dcl.IsEmptyValueIndirect(v) {
- m["mode"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartChartOptions flattens an instance of DashboardMosaicLayoutTilesWidgetXyChartChartOptions from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartChartOptions(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetXyChartChartOptions {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetXyChartChartOptions{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetXyChartChartOptions
- }
- r.Mode = flattenDashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnum(m["mode"])
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardMap expands the contents of DashboardMosaicLayoutTilesWidgetScorecard into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetScorecard, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecard(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardSlice expands the contents of DashboardMosaicLayoutTilesWidgetScorecard into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetScorecard, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecard(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecard from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecard {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecard{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecard{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecard)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecard(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecard from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecard {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecard{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecard{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecard, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecard(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecard expands an instance of DashboardMosaicLayoutTilesWidgetScorecard into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecard(c *Client, f *DashboardMosaicLayoutTilesWidgetScorecard, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery(c, f.TimeSeriesQuery, res); err != nil {
- return nil, fmt.Errorf("error expanding TimeSeriesQuery into timeSeriesQuery: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesQuery"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesWidgetScorecardGaugeView(c, f.GaugeView, res); err != nil {
- return nil, fmt.Errorf("error expanding GaugeView into gaugeView: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["gaugeView"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesWidgetScorecardSparkChartView(c, f.SparkChartView, res); err != nil {
- return nil, fmt.Errorf("error expanding SparkChartView into sparkChartView: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["sparkChartView"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesWidgetScorecardThresholdsSlice(c, f.Thresholds, res); err != nil {
- return nil, fmt.Errorf("error expanding Thresholds into thresholds: %w", err)
- } else if v != nil {
- m["thresholds"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecard flattens an instance of DashboardMosaicLayoutTilesWidgetScorecard from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecard(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetScorecard {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetScorecard{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetScorecard
- }
- r.TimeSeriesQuery = flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery(c, m["timeSeriesQuery"], res)
- r.GaugeView = flattenDashboardMosaicLayoutTilesWidgetScorecardGaugeView(c, m["gaugeView"], res)
- r.SparkChartView = flattenDashboardMosaicLayoutTilesWidgetScorecardSparkChartView(c, m["sparkChartView"], res)
- r.Thresholds = flattenDashboardMosaicLayoutTilesWidgetScorecardThresholdsSlice(c, m["thresholds"], res)
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryMap expands the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuerySlice expands the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuerySlice(c *Client, f []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuerySlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuerySlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery expands an instance of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery(c *Client, f *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter(c, f.TimeSeriesFilter, res); err != nil {
- return nil, fmt.Errorf("error expanding TimeSeriesFilter into timeSeriesFilter: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesFilter"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, f.TimeSeriesFilterRatio, res); err != nil {
- return nil, fmt.Errorf("error expanding TimeSeriesFilterRatio into timeSeriesFilterRatio: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesFilterRatio"] = v
- }
- if v := f.TimeSeriesQueryLanguage; !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesQueryLanguage"] = v
- }
- if v := f.UnitOverride; !dcl.IsEmptyValueIndirect(v) {
- m["unitOverride"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery flattens an instance of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery
- }
- r.TimeSeriesFilter = flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter(c, m["timeSeriesFilter"], res)
- r.TimeSeriesFilterRatio = flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, m["timeSeriesFilterRatio"], res)
- r.TimeSeriesQueryLanguage = dcl.FlattenString(m["timeSeriesQueryLanguage"])
- r.UnitOverride = dcl.FlattenString(m["unitOverride"])
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterMap expands the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSlice expands the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter expands an instance of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter(c *Client, f *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- m["filter"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, f.Aggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding Aggregation into aggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["aggregation"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, f.SecondaryAggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding SecondaryAggregation into secondaryAggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["secondaryAggregation"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, f.PickTimeSeriesFilter, res); err != nil {
- return nil, fmt.Errorf("error expanding PickTimeSeriesFilter into pickTimeSeriesFilter: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["pickTimeSeriesFilter"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter flattens an instance of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter
- }
- r.Filter = dcl.FlattenString(m["filter"])
- r.Aggregation = flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, m["aggregation"], res)
- r.SecondaryAggregation = flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, m["secondaryAggregation"], res)
- r.PickTimeSeriesFilter = flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, m["pickTimeSeriesFilter"], res)
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationMap expands the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationSlice expands the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation expands an instance of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c *Client, f *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation flattens an instance of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap expands the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice expands the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation expands an instance of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c *Client, f *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation flattens an instance of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap expands the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice expands the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter expands an instance of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c *Client, f *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.RankingMethod; !dcl.IsEmptyValueIndirect(v) {
- m["rankingMethod"] = v
- }
- if v := f.NumTimeSeries; !dcl.IsEmptyValueIndirect(v) {
- m["numTimeSeries"] = v
- }
- if v := f.Direction; !dcl.IsEmptyValueIndirect(v) {
- m["direction"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter flattens an instance of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- }
- r.RankingMethod = flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(m["rankingMethod"])
- r.NumTimeSeries = dcl.FlattenInteger(m["numTimeSeries"])
- r.Direction = flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(m["direction"])
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioMap expands the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSlice expands the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio expands an instance of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio(c *Client, f *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, f.Numerator, res); err != nil {
- return nil, fmt.Errorf("error expanding Numerator into numerator: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["numerator"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, f.Denominator, res); err != nil {
- return nil, fmt.Errorf("error expanding Denominator into denominator: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["denominator"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, f.SecondaryAggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding SecondaryAggregation into secondaryAggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["secondaryAggregation"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, f.PickTimeSeriesFilter, res); err != nil {
- return nil, fmt.Errorf("error expanding PickTimeSeriesFilter into pickTimeSeriesFilter: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["pickTimeSeriesFilter"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio flattens an instance of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio
- }
- r.Numerator = flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, m["numerator"], res)
- r.Denominator = flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, m["denominator"], res)
- r.SecondaryAggregation = flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, m["secondaryAggregation"], res)
- r.PickTimeSeriesFilter = flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, m["pickTimeSeriesFilter"], res)
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap expands the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice expands the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator expands an instance of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c *Client, f *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- m["filter"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, f.Aggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding Aggregation into aggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["aggregation"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator flattens an instance of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
- }
- r.Filter = dcl.FlattenString(m["filter"])
- r.Aggregation = flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, m["aggregation"], res)
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap expands the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice expands the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation expands an instance of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c *Client, f *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation flattens an instance of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap expands the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice expands the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator expands an instance of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c *Client, f *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- m["filter"] = v
- }
- if v, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, f.Aggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding Aggregation into aggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["aggregation"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator flattens an instance of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
- }
- r.Filter = dcl.FlattenString(m["filter"])
- r.Aggregation = flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, m["aggregation"], res)
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap expands the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice expands the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation expands an instance of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c *Client, f *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation flattens an instance of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap expands the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice expands the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation expands an instance of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c *Client, f *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation flattens an instance of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap expands the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice expands the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter expands an instance of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c *Client, f *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.RankingMethod; !dcl.IsEmptyValueIndirect(v) {
- m["rankingMethod"] = v
- }
- if v := f.NumTimeSeries; !dcl.IsEmptyValueIndirect(v) {
- m["numTimeSeries"] = v
- }
- if v := f.Direction; !dcl.IsEmptyValueIndirect(v) {
- m["direction"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter flattens an instance of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- }
- r.RankingMethod = flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(m["rankingMethod"])
- r.NumTimeSeries = dcl.FlattenInteger(m["numTimeSeries"])
- r.Direction = flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(m["direction"])
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardGaugeViewMap expands the contents of DashboardMosaicLayoutTilesWidgetScorecardGaugeView into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardGaugeViewMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetScorecardGaugeView, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecardGaugeView(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardGaugeViewSlice expands the contents of DashboardMosaicLayoutTilesWidgetScorecardGaugeView into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardGaugeViewSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetScorecardGaugeView, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecardGaugeView(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardGaugeViewMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardGaugeView from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardGaugeViewMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardGaugeView {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardGaugeView{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardGaugeView{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardGaugeView)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardGaugeView(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardGaugeViewSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardGaugeView from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardGaugeViewSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardGaugeView {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardGaugeView{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardGaugeView{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardGaugeView, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardGaugeView(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardGaugeView expands an instance of DashboardMosaicLayoutTilesWidgetScorecardGaugeView into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardGaugeView(c *Client, f *DashboardMosaicLayoutTilesWidgetScorecardGaugeView, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.LowerBound; !dcl.IsEmptyValueIndirect(v) {
- m["lowerBound"] = v
- }
- if v := f.UpperBound; !dcl.IsEmptyValueIndirect(v) {
- m["upperBound"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardGaugeView flattens an instance of DashboardMosaicLayoutTilesWidgetScorecardGaugeView from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardGaugeView(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetScorecardGaugeView {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetScorecardGaugeView{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetScorecardGaugeView
- }
- r.LowerBound = dcl.FlattenDouble(m["lowerBound"])
- r.UpperBound = dcl.FlattenDouble(m["upperBound"])
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardSparkChartViewMap expands the contents of DashboardMosaicLayoutTilesWidgetScorecardSparkChartView into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardSparkChartViewMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetScorecardSparkChartView, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecardSparkChartView(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSlice expands the contents of DashboardMosaicLayoutTilesWidgetScorecardSparkChartView into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetScorecardSparkChartView, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecardSparkChartView(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardSparkChartViewMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardSparkChartView from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardSparkChartViewMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardSparkChartView {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardSparkChartView{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardSparkChartView{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardSparkChartView)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardSparkChartView(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardSparkChartView from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardSparkChartView {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardSparkChartView{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardSparkChartView{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardSparkChartView, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardSparkChartView(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardSparkChartView expands an instance of DashboardMosaicLayoutTilesWidgetScorecardSparkChartView into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardSparkChartView(c *Client, f *DashboardMosaicLayoutTilesWidgetScorecardSparkChartView, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.SparkChartType; !dcl.IsEmptyValueIndirect(v) {
- m["sparkChartType"] = v
- }
- if v := f.MinAlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["minAlignmentPeriod"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardSparkChartView flattens an instance of DashboardMosaicLayoutTilesWidgetScorecardSparkChartView from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardSparkChartView(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetScorecardSparkChartView {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetScorecardSparkChartView{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetScorecardSparkChartView
- }
- r.SparkChartType = flattenDashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnum(m["sparkChartType"])
- r.MinAlignmentPeriod = dcl.FlattenString(m["minAlignmentPeriod"])
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardThresholdsMap expands the contents of DashboardMosaicLayoutTilesWidgetScorecardThresholds into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardThresholdsMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetScorecardThresholds, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecardThresholds(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardThresholdsSlice expands the contents of DashboardMosaicLayoutTilesWidgetScorecardThresholds into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardThresholdsSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetScorecardThresholds, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetScorecardThresholds(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardThresholdsMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardThresholds from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardThresholdsMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardThresholds {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardThresholds{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardThresholds{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardThresholds)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardThresholds(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardThresholdsSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardThresholds from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardThresholdsSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardThresholds {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardThresholds{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardThresholds{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardThresholds, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardThresholds(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetScorecardThresholds expands an instance of DashboardMosaicLayoutTilesWidgetScorecardThresholds into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetScorecardThresholds(c *Client, f *DashboardMosaicLayoutTilesWidgetScorecardThresholds, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Label; !dcl.IsEmptyValueIndirect(v) {
- m["label"] = v
- }
- if v := f.Value; !dcl.IsEmptyValueIndirect(v) {
- m["value"] = v
- }
- if v := f.Color; !dcl.IsEmptyValueIndirect(v) {
- m["color"] = v
- }
- if v := f.Direction; !dcl.IsEmptyValueIndirect(v) {
- m["direction"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardThresholds flattens an instance of DashboardMosaicLayoutTilesWidgetScorecardThresholds from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardThresholds(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetScorecardThresholds {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetScorecardThresholds{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetScorecardThresholds
- }
- r.Label = dcl.FlattenString(m["label"])
- r.Value = dcl.FlattenDouble(m["value"])
- r.Color = flattenDashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnum(m["color"])
- r.Direction = flattenDashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnum(m["direction"])
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetTextMap expands the contents of DashboardMosaicLayoutTilesWidgetText into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetTextMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetText, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetText(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetTextSlice expands the contents of DashboardMosaicLayoutTilesWidgetText into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetTextSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetText, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetText(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetTextMap flattens the contents of DashboardMosaicLayoutTilesWidgetText from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetTextMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetText {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetText{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetText{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetText)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetText(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetTextSlice flattens the contents of DashboardMosaicLayoutTilesWidgetText from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetTextSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetText {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetText{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetText{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetText, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetText(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetText expands an instance of DashboardMosaicLayoutTilesWidgetText into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetText(c *Client, f *DashboardMosaicLayoutTilesWidgetText, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Content; !dcl.IsEmptyValueIndirect(v) {
- m["content"] = v
- }
- if v := f.Format; !dcl.IsEmptyValueIndirect(v) {
- m["format"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetText flattens an instance of DashboardMosaicLayoutTilesWidgetText from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetText(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetText {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetText{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetText
- }
- r.Content = dcl.FlattenString(m["content"])
- r.Format = flattenDashboardMosaicLayoutTilesWidgetTextFormatEnum(m["format"])
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetBlankMap expands the contents of DashboardMosaicLayoutTilesWidgetBlank into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetBlankMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetBlank, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetBlank(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetBlankSlice expands the contents of DashboardMosaicLayoutTilesWidgetBlank into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetBlankSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetBlank, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetBlank(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetBlankMap flattens the contents of DashboardMosaicLayoutTilesWidgetBlank from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetBlankMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetBlank {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetBlank{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetBlank{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetBlank)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetBlank(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetBlankSlice flattens the contents of DashboardMosaicLayoutTilesWidgetBlank from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetBlankSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetBlank {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetBlank{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetBlank{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetBlank, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetBlank(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetBlank expands an instance of DashboardMosaicLayoutTilesWidgetBlank into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetBlank(c *Client, f *DashboardMosaicLayoutTilesWidgetBlank, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetBlank flattens an instance of DashboardMosaicLayoutTilesWidgetBlank from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetBlank(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetBlank {
- _, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetBlank{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetBlank
- }
-
- return r
-}
-
-// expandDashboardMosaicLayoutTilesWidgetLogsPanelMap expands the contents of DashboardMosaicLayoutTilesWidgetLogsPanel into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetLogsPanelMap(c *Client, f map[string]DashboardMosaicLayoutTilesWidgetLogsPanel, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetLogsPanel(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardMosaicLayoutTilesWidgetLogsPanelSlice expands the contents of DashboardMosaicLayoutTilesWidgetLogsPanel into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetLogsPanelSlice(c *Client, f []DashboardMosaicLayoutTilesWidgetLogsPanel, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardMosaicLayoutTilesWidgetLogsPanel(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetLogsPanelMap flattens the contents of DashboardMosaicLayoutTilesWidgetLogsPanel from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetLogsPanelMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetLogsPanel {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetLogsPanel{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetLogsPanel{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetLogsPanel)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetLogsPanel(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetLogsPanelSlice flattens the contents of DashboardMosaicLayoutTilesWidgetLogsPanel from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetLogsPanelSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetLogsPanel {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetLogsPanel{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetLogsPanel{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetLogsPanel, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetLogsPanel(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardMosaicLayoutTilesWidgetLogsPanel expands an instance of DashboardMosaicLayoutTilesWidgetLogsPanel into a JSON
-// request object.
-func expandDashboardMosaicLayoutTilesWidgetLogsPanel(c *Client, f *DashboardMosaicLayoutTilesWidgetLogsPanel, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- m["filter"] = v
- }
- if v := f.ResourceNames; v != nil {
- m["resourceNames"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetLogsPanel flattens an instance of DashboardMosaicLayoutTilesWidgetLogsPanel from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetLogsPanel(c *Client, i interface{}, res *Dashboard) *DashboardMosaicLayoutTilesWidgetLogsPanel {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardMosaicLayoutTilesWidgetLogsPanel{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardMosaicLayoutTilesWidgetLogsPanel
- }
- r.Filter = dcl.FlattenString(m["filter"])
- r.ResourceNames = dcl.FlattenStringSlice(m["resourceNames"])
-
- return r
-}
-
-// expandDashboardRowLayoutMap expands the contents of DashboardRowLayout into a JSON
-// request object.
-func expandDashboardRowLayoutMap(c *Client, f map[string]DashboardRowLayout, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayout(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutSlice expands the contents of DashboardRowLayout into a JSON
-// request object.
-func expandDashboardRowLayoutSlice(c *Client, f []DashboardRowLayout, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayout(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutMap flattens the contents of DashboardRowLayout from a JSON
-// response object.
-func flattenDashboardRowLayoutMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayout {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayout{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayout{}
- }
-
- items := make(map[string]DashboardRowLayout)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayout(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutSlice flattens the contents of DashboardRowLayout from a JSON
-// response object.
-func flattenDashboardRowLayoutSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayout {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayout{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayout{}
- }
-
- items := make([]DashboardRowLayout, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayout(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayout expands an instance of DashboardRowLayout into a JSON
-// request object.
-func expandDashboardRowLayout(c *Client, f *DashboardRowLayout, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandDashboardRowLayoutRowsSlice(c, f.Rows, res); err != nil {
- return nil, fmt.Errorf("error expanding Rows into rows: %w", err)
- } else if v != nil {
- m["rows"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayout flattens an instance of DashboardRowLayout from a JSON
-// response object.
-func flattenDashboardRowLayout(c *Client, i interface{}, res *Dashboard) *DashboardRowLayout {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayout{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayout
- }
- r.Rows = flattenDashboardRowLayoutRowsSlice(c, m["rows"], res)
-
- return r
-}
-
-// expandDashboardRowLayoutRowsMap expands the contents of DashboardRowLayoutRows into a JSON
-// request object.
-func expandDashboardRowLayoutRowsMap(c *Client, f map[string]DashboardRowLayoutRows, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRows(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsSlice expands the contents of DashboardRowLayoutRows into a JSON
-// request object.
-func expandDashboardRowLayoutRowsSlice(c *Client, f []DashboardRowLayoutRows, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRows(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsMap flattens the contents of DashboardRowLayoutRows from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRows {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRows{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRows{}
- }
-
- items := make(map[string]DashboardRowLayoutRows)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRows(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsSlice flattens the contents of DashboardRowLayoutRows from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRows {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRows{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRows{}
- }
-
- items := make([]DashboardRowLayoutRows, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRows(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRows expands an instance of DashboardRowLayoutRows into a JSON
-// request object.
-func expandDashboardRowLayoutRows(c *Client, f *DashboardRowLayoutRows, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Weight; !dcl.IsEmptyValueIndirect(v) {
- m["weight"] = v
- }
- if v, err := expandDashboardRowLayoutRowsWidgetsSlice(c, f.Widgets, res); err != nil {
- return nil, fmt.Errorf("error expanding Widgets into widgets: %w", err)
- } else if v != nil {
- m["widgets"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRows flattens an instance of DashboardRowLayoutRows from a JSON
-// response object.
-func flattenDashboardRowLayoutRows(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRows {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRows{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRows
- }
- r.Weight = dcl.FlattenInteger(m["weight"])
- r.Widgets = flattenDashboardRowLayoutRowsWidgetsSlice(c, m["widgets"], res)
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsMap expands the contents of DashboardRowLayoutRowsWidgets into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsMap(c *Client, f map[string]DashboardRowLayoutRowsWidgets, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgets(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsSlice expands the contents of DashboardRowLayoutRowsWidgets into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsSlice(c *Client, f []DashboardRowLayoutRowsWidgets, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgets(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsMap flattens the contents of DashboardRowLayoutRowsWidgets from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgets {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgets{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgets{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgets)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgets(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsSlice flattens the contents of DashboardRowLayoutRowsWidgets from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgets {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgets{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgets{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgets, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgets(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgets expands an instance of DashboardRowLayoutRowsWidgets into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgets(c *Client, f *DashboardRowLayoutRowsWidgets, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Title; !dcl.IsEmptyValueIndirect(v) {
- m["title"] = v
- }
- if v, err := expandDashboardRowLayoutRowsWidgetsXyChart(c, f.XyChart, res); err != nil {
- return nil, fmt.Errorf("error expanding XyChart into xyChart: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["xyChart"] = v
- }
- if v, err := expandDashboardRowLayoutRowsWidgetsScorecard(c, f.Scorecard, res); err != nil {
- return nil, fmt.Errorf("error expanding Scorecard into scorecard: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["scorecard"] = v
- }
- if v, err := expandDashboardRowLayoutRowsWidgetsText(c, f.Text, res); err != nil {
- return nil, fmt.Errorf("error expanding Text into text: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["text"] = v
- }
- if v, err := expandDashboardRowLayoutRowsWidgetsBlank(c, f.Blank, res); err != nil {
- return nil, fmt.Errorf("error expanding Blank into blank: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["blank"] = v
- }
- if v, err := expandDashboardRowLayoutRowsWidgetsLogsPanel(c, f.LogsPanel, res); err != nil {
- return nil, fmt.Errorf("error expanding LogsPanel into logsPanel: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["logsPanel"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgets flattens an instance of DashboardRowLayoutRowsWidgets from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgets(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgets {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgets{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgets
- }
- r.Title = dcl.FlattenString(m["title"])
- r.XyChart = flattenDashboardRowLayoutRowsWidgetsXyChart(c, m["xyChart"], res)
- r.Scorecard = flattenDashboardRowLayoutRowsWidgetsScorecard(c, m["scorecard"], res)
- r.Text = flattenDashboardRowLayoutRowsWidgetsText(c, m["text"], res)
- r.Blank = flattenDashboardRowLayoutRowsWidgetsBlank(c, m["blank"], res)
- r.LogsPanel = flattenDashboardRowLayoutRowsWidgetsLogsPanel(c, m["logsPanel"], res)
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartMap expands the contents of DashboardRowLayoutRowsWidgetsXyChart into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsXyChart, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChart(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartSlice expands the contents of DashboardRowLayoutRowsWidgetsXyChart into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartSlice(c *Client, f []DashboardRowLayoutRowsWidgetsXyChart, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChart(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChart from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChart {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChart{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChart{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChart)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChart(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChart from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChart {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChart{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChart{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChart, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChart(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChart expands an instance of DashboardRowLayoutRowsWidgetsXyChart into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChart(c *Client, f *DashboardRowLayoutRowsWidgetsXyChart, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsSlice(c, f.DataSets, res); err != nil {
- return nil, fmt.Errorf("error expanding DataSets into dataSets: %w", err)
- } else if v != nil {
- m["dataSets"] = v
- }
- if v := f.TimeshiftDuration; !dcl.IsEmptyValueIndirect(v) {
- m["timeshiftDuration"] = v
- }
- if v, err := expandDashboardRowLayoutRowsWidgetsXyChartThresholdsSlice(c, f.Thresholds, res); err != nil {
- return nil, fmt.Errorf("error expanding Thresholds into thresholds: %w", err)
- } else if v != nil {
- m["thresholds"] = v
- }
- if v, err := expandDashboardRowLayoutRowsWidgetsXyChartXAxis(c, f.XAxis, res); err != nil {
- return nil, fmt.Errorf("error expanding XAxis into xAxis: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["xAxis"] = v
- }
- if v, err := expandDashboardRowLayoutRowsWidgetsXyChartYAxis(c, f.YAxis, res); err != nil {
- return nil, fmt.Errorf("error expanding YAxis into yAxis: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["yAxis"] = v
- }
- if v, err := expandDashboardRowLayoutRowsWidgetsXyChartChartOptions(c, f.ChartOptions, res); err != nil {
- return nil, fmt.Errorf("error expanding ChartOptions into chartOptions: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["chartOptions"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChart flattens an instance of DashboardRowLayoutRowsWidgetsXyChart from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChart(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsXyChart {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsXyChart{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsXyChart
- }
- r.DataSets = flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsSlice(c, m["dataSets"], res)
- r.TimeshiftDuration = dcl.FlattenString(m["timeshiftDuration"])
- r.Thresholds = flattenDashboardRowLayoutRowsWidgetsXyChartThresholdsSlice(c, m["thresholds"], res)
- r.XAxis = flattenDashboardRowLayoutRowsWidgetsXyChartXAxis(c, m["xAxis"], res)
- r.YAxis = flattenDashboardRowLayoutRowsWidgetsXyChartYAxis(c, m["yAxis"], res)
- r.ChartOptions = flattenDashboardRowLayoutRowsWidgetsXyChartChartOptions(c, m["chartOptions"], res)
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsMap expands the contents of DashboardRowLayoutRowsWidgetsXyChartDataSets into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsXyChartDataSets, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSets(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsSlice expands the contents of DashboardRowLayoutRowsWidgetsXyChartDataSets into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsSlice(c *Client, f []DashboardRowLayoutRowsWidgetsXyChartDataSets, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSets(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSets from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartDataSets {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSets{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSets{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartDataSets)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartDataSets(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSets from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartDataSets {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSets{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSets{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSets, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartDataSets(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSets expands an instance of DashboardRowLayoutRowsWidgetsXyChartDataSets into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSets(c *Client, f *DashboardRowLayoutRowsWidgetsXyChartDataSets, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery(c, f.TimeSeriesQuery, res); err != nil {
- return nil, fmt.Errorf("error expanding TimeSeriesQuery into timeSeriesQuery: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesQuery"] = v
- }
- if v := f.PlotType; !dcl.IsEmptyValueIndirect(v) {
- m["plotType"] = v
- }
- if v := f.LegendTemplate; !dcl.IsEmptyValueIndirect(v) {
- m["legendTemplate"] = v
- }
- if v := f.MinAlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["minAlignmentPeriod"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSets flattens an instance of DashboardRowLayoutRowsWidgetsXyChartDataSets from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSets(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsXyChartDataSets {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsXyChartDataSets{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsXyChartDataSets
- }
- r.TimeSeriesQuery = flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery(c, m["timeSeriesQuery"], res)
- r.PlotType = flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnum(m["plotType"])
- r.LegendTemplate = dcl.FlattenString(m["legendTemplate"])
- r.MinAlignmentPeriod = dcl.FlattenString(m["minAlignmentPeriod"])
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryMap expands the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuerySlice expands the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuerySlice(c *Client, f []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuerySlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuerySlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery expands an instance of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery(c *Client, f *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, f.TimeSeriesFilter, res); err != nil {
- return nil, fmt.Errorf("error expanding TimeSeriesFilter into timeSeriesFilter: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesFilter"] = v
- }
- if v, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, f.TimeSeriesFilterRatio, res); err != nil {
- return nil, fmt.Errorf("error expanding TimeSeriesFilterRatio into timeSeriesFilterRatio: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesFilterRatio"] = v
- }
- if v := f.TimeSeriesQueryLanguage; !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesQueryLanguage"] = v
- }
- if v := f.UnitOverride; !dcl.IsEmptyValueIndirect(v) {
- m["unitOverride"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery flattens an instance of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery
- }
- r.TimeSeriesFilter = flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, m["timeSeriesFilter"], res)
- r.TimeSeriesFilterRatio = flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, m["timeSeriesFilterRatio"], res)
- r.TimeSeriesQueryLanguage = dcl.FlattenString(m["timeSeriesQueryLanguage"])
- r.UnitOverride = dcl.FlattenString(m["unitOverride"])
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterMap expands the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSlice expands the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSlice(c *Client, f []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter expands an instance of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c *Client, f *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- m["filter"] = v
- }
- if v, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, f.Aggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding Aggregation into aggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["aggregation"] = v
- }
- if v, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, f.SecondaryAggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding SecondaryAggregation into secondaryAggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["secondaryAggregation"] = v
- }
- if v, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, f.PickTimeSeriesFilter, res); err != nil {
- return nil, fmt.Errorf("error expanding PickTimeSeriesFilter into pickTimeSeriesFilter: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["pickTimeSeriesFilter"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter flattens an instance of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
- }
- r.Filter = dcl.FlattenString(m["filter"])
- r.Aggregation = flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, m["aggregation"], res)
- r.SecondaryAggregation = flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, m["secondaryAggregation"], res)
- r.PickTimeSeriesFilter = flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, m["pickTimeSeriesFilter"], res)
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationMap expands the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationSlice expands the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationSlice(c *Client, f []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation expands an instance of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c *Client, f *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation flattens an instance of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap expands the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice expands the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(c *Client, f []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation expands an instance of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c *Client, f *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation flattens an instance of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap expands the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice expands the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(c *Client, f []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter expands an instance of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c *Client, f *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.RankingMethod; !dcl.IsEmptyValueIndirect(v) {
- m["rankingMethod"] = v
- }
- if v := f.NumTimeSeries; !dcl.IsEmptyValueIndirect(v) {
- m["numTimeSeries"] = v
- }
- if v := f.Direction; !dcl.IsEmptyValueIndirect(v) {
- m["direction"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter flattens an instance of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- }
- r.RankingMethod = flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(m["rankingMethod"])
- r.NumTimeSeries = dcl.FlattenInteger(m["numTimeSeries"])
- r.Direction = flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(m["direction"])
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioMap expands the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSlice expands the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSlice(c *Client, f []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio expands an instance of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c *Client, f *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, f.Numerator, res); err != nil {
- return nil, fmt.Errorf("error expanding Numerator into numerator: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["numerator"] = v
- }
- if v, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, f.Denominator, res); err != nil {
- return nil, fmt.Errorf("error expanding Denominator into denominator: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["denominator"] = v
- }
- if v, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, f.SecondaryAggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding SecondaryAggregation into secondaryAggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["secondaryAggregation"] = v
- }
- if v, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, f.PickTimeSeriesFilter, res); err != nil {
- return nil, fmt.Errorf("error expanding PickTimeSeriesFilter into pickTimeSeriesFilter: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["pickTimeSeriesFilter"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio flattens an instance of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
- }
- r.Numerator = flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, m["numerator"], res)
- r.Denominator = flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, m["denominator"], res)
- r.SecondaryAggregation = flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, m["secondaryAggregation"], res)
- r.PickTimeSeriesFilter = flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, m["pickTimeSeriesFilter"], res)
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap expands the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice expands the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(c *Client, f []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator expands an instance of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c *Client, f *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- m["filter"] = v
- }
- if v, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, f.Aggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding Aggregation into aggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["aggregation"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator flattens an instance of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
- }
- r.Filter = dcl.FlattenString(m["filter"])
- r.Aggregation = flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, m["aggregation"], res)
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap expands the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice expands the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(c *Client, f []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation expands an instance of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c *Client, f *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation flattens an instance of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap expands the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice expands the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(c *Client, f []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator expands an instance of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c *Client, f *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- m["filter"] = v
- }
- if v, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, f.Aggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding Aggregation into aggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["aggregation"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator flattens an instance of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
- }
- r.Filter = dcl.FlattenString(m["filter"])
- r.Aggregation = flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, m["aggregation"], res)
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap expands the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice expands the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(c *Client, f []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation expands an instance of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c *Client, f *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation flattens an instance of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap expands the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice expands the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(c *Client, f []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation expands an instance of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c *Client, f *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation flattens an instance of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap expands the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice expands the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(c *Client, f []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter expands an instance of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c *Client, f *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.RankingMethod; !dcl.IsEmptyValueIndirect(v) {
- m["rankingMethod"] = v
- }
- if v := f.NumTimeSeries; !dcl.IsEmptyValueIndirect(v) {
- m["numTimeSeries"] = v
- }
- if v := f.Direction; !dcl.IsEmptyValueIndirect(v) {
- m["direction"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter flattens an instance of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- }
- r.RankingMethod = flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(m["rankingMethod"])
- r.NumTimeSeries = dcl.FlattenInteger(m["numTimeSeries"])
- r.Direction = flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(m["direction"])
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartThresholdsMap expands the contents of DashboardRowLayoutRowsWidgetsXyChartThresholds into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartThresholdsMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsXyChartThresholds, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartThresholds(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartThresholdsSlice expands the contents of DashboardRowLayoutRowsWidgetsXyChartThresholds into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartThresholdsSlice(c *Client, f []DashboardRowLayoutRowsWidgetsXyChartThresholds, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartThresholds(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartThresholdsMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartThresholds from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartThresholdsMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartThresholds {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartThresholds{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartThresholds{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartThresholds)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartThresholds(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartThresholdsSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartThresholds from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartThresholdsSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartThresholds {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartThresholds{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartThresholds{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartThresholds, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartThresholds(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartThresholds expands an instance of DashboardRowLayoutRowsWidgetsXyChartThresholds into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartThresholds(c *Client, f *DashboardRowLayoutRowsWidgetsXyChartThresholds, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Label; !dcl.IsEmptyValueIndirect(v) {
- m["label"] = v
- }
- if v := f.Value; !dcl.IsEmptyValueIndirect(v) {
- m["value"] = v
- }
- if v := f.Color; !dcl.IsEmptyValueIndirect(v) {
- m["color"] = v
- }
- if v := f.Direction; !dcl.IsEmptyValueIndirect(v) {
- m["direction"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartThresholds flattens an instance of DashboardRowLayoutRowsWidgetsXyChartThresholds from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartThresholds(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsXyChartThresholds {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsXyChartThresholds{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsXyChartThresholds
- }
- r.Label = dcl.FlattenString(m["label"])
- r.Value = dcl.FlattenDouble(m["value"])
- r.Color = flattenDashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnum(m["color"])
- r.Direction = flattenDashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnum(m["direction"])
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartXAxisMap expands the contents of DashboardRowLayoutRowsWidgetsXyChartXAxis into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartXAxisMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsXyChartXAxis, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartXAxis(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartXAxisSlice expands the contents of DashboardRowLayoutRowsWidgetsXyChartXAxis into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartXAxisSlice(c *Client, f []DashboardRowLayoutRowsWidgetsXyChartXAxis, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartXAxis(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartXAxisMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartXAxis from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartXAxisMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartXAxis {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartXAxis{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartXAxis{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartXAxis)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartXAxis(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartXAxisSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartXAxis from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartXAxisSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartXAxis {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartXAxis{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartXAxis{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartXAxis, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartXAxis(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartXAxis expands an instance of DashboardRowLayoutRowsWidgetsXyChartXAxis into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartXAxis(c *Client, f *DashboardRowLayoutRowsWidgetsXyChartXAxis, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Label; !dcl.IsEmptyValueIndirect(v) {
- m["label"] = v
- }
- if v := f.Scale; !dcl.IsEmptyValueIndirect(v) {
- m["scale"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartXAxis flattens an instance of DashboardRowLayoutRowsWidgetsXyChartXAxis from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartXAxis(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsXyChartXAxis {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsXyChartXAxis{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsXyChartXAxis
- }
- r.Label = dcl.FlattenString(m["label"])
- r.Scale = flattenDashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnum(m["scale"])
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartYAxisMap expands the contents of DashboardRowLayoutRowsWidgetsXyChartYAxis into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartYAxisMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsXyChartYAxis, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartYAxis(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartYAxisSlice expands the contents of DashboardRowLayoutRowsWidgetsXyChartYAxis into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartYAxisSlice(c *Client, f []DashboardRowLayoutRowsWidgetsXyChartYAxis, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartYAxis(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartYAxisMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartYAxis from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartYAxisMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartYAxis {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartYAxis{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartYAxis{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartYAxis)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartYAxis(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartYAxisSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartYAxis from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartYAxisSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartYAxis {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartYAxis{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartYAxis{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartYAxis, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartYAxis(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartYAxis expands an instance of DashboardRowLayoutRowsWidgetsXyChartYAxis into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartYAxis(c *Client, f *DashboardRowLayoutRowsWidgetsXyChartYAxis, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Label; !dcl.IsEmptyValueIndirect(v) {
- m["label"] = v
- }
- if v := f.Scale; !dcl.IsEmptyValueIndirect(v) {
- m["scale"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartYAxis flattens an instance of DashboardRowLayoutRowsWidgetsXyChartYAxis from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartYAxis(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsXyChartYAxis {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsXyChartYAxis{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsXyChartYAxis
- }
- r.Label = dcl.FlattenString(m["label"])
- r.Scale = flattenDashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnum(m["scale"])
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartChartOptionsMap expands the contents of DashboardRowLayoutRowsWidgetsXyChartChartOptions into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartChartOptionsMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsXyChartChartOptions, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartChartOptions(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartChartOptionsSlice expands the contents of DashboardRowLayoutRowsWidgetsXyChartChartOptions into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartChartOptionsSlice(c *Client, f []DashboardRowLayoutRowsWidgetsXyChartChartOptions, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsXyChartChartOptions(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartChartOptionsMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartChartOptions from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartChartOptionsMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartChartOptions {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartChartOptions{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartChartOptions{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartChartOptions)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartChartOptions(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartChartOptionsSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartChartOptions from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartChartOptionsSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartChartOptions {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartChartOptions{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartChartOptions{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartChartOptions, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartChartOptions(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsXyChartChartOptions expands an instance of DashboardRowLayoutRowsWidgetsXyChartChartOptions into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsXyChartChartOptions(c *Client, f *DashboardRowLayoutRowsWidgetsXyChartChartOptions, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Mode; !dcl.IsEmptyValueIndirect(v) {
- m["mode"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartChartOptions flattens an instance of DashboardRowLayoutRowsWidgetsXyChartChartOptions from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartChartOptions(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsXyChartChartOptions {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsXyChartChartOptions{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsXyChartChartOptions
- }
- r.Mode = flattenDashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnum(m["mode"])
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardMap expands the contents of DashboardRowLayoutRowsWidgetsScorecard into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsScorecard, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecard(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardSlice expands the contents of DashboardRowLayoutRowsWidgetsScorecard into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardSlice(c *Client, f []DashboardRowLayoutRowsWidgetsScorecard, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecard(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecard from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecard {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecard{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecard{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecard)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecard(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecard from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecard {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecard{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecard{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecard, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecard(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecard expands an instance of DashboardRowLayoutRowsWidgetsScorecard into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecard(c *Client, f *DashboardRowLayoutRowsWidgetsScorecard, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery(c, f.TimeSeriesQuery, res); err != nil {
- return nil, fmt.Errorf("error expanding TimeSeriesQuery into timeSeriesQuery: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesQuery"] = v
- }
- if v, err := expandDashboardRowLayoutRowsWidgetsScorecardGaugeView(c, f.GaugeView, res); err != nil {
- return nil, fmt.Errorf("error expanding GaugeView into gaugeView: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["gaugeView"] = v
- }
- if v, err := expandDashboardRowLayoutRowsWidgetsScorecardSparkChartView(c, f.SparkChartView, res); err != nil {
- return nil, fmt.Errorf("error expanding SparkChartView into sparkChartView: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["sparkChartView"] = v
- }
- if v, err := expandDashboardRowLayoutRowsWidgetsScorecardThresholdsSlice(c, f.Thresholds, res); err != nil {
- return nil, fmt.Errorf("error expanding Thresholds into thresholds: %w", err)
- } else if v != nil {
- m["thresholds"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecard flattens an instance of DashboardRowLayoutRowsWidgetsScorecard from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecard(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsScorecard {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsScorecard{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsScorecard
- }
- r.TimeSeriesQuery = flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery(c, m["timeSeriesQuery"], res)
- r.GaugeView = flattenDashboardRowLayoutRowsWidgetsScorecardGaugeView(c, m["gaugeView"], res)
- r.SparkChartView = flattenDashboardRowLayoutRowsWidgetsScorecardSparkChartView(c, m["sparkChartView"], res)
- r.Thresholds = flattenDashboardRowLayoutRowsWidgetsScorecardThresholdsSlice(c, m["thresholds"], res)
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryMap expands the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuerySlice expands the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuerySlice(c *Client, f []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuerySlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuerySlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery expands an instance of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery(c *Client, f *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c, f.TimeSeriesFilter, res); err != nil {
- return nil, fmt.Errorf("error expanding TimeSeriesFilter into timeSeriesFilter: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesFilter"] = v
- }
- if v, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, f.TimeSeriesFilterRatio, res); err != nil {
- return nil, fmt.Errorf("error expanding TimeSeriesFilterRatio into timeSeriesFilterRatio: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesFilterRatio"] = v
- }
- if v := f.TimeSeriesQueryLanguage; !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesQueryLanguage"] = v
- }
- if v := f.UnitOverride; !dcl.IsEmptyValueIndirect(v) {
- m["unitOverride"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery flattens an instance of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery
- }
- r.TimeSeriesFilter = flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c, m["timeSeriesFilter"], res)
- r.TimeSeriesFilterRatio = flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, m["timeSeriesFilterRatio"], res)
- r.TimeSeriesQueryLanguage = dcl.FlattenString(m["timeSeriesQueryLanguage"])
- r.UnitOverride = dcl.FlattenString(m["unitOverride"])
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterMap expands the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSlice expands the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSlice(c *Client, f []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter expands an instance of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c *Client, f *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- m["filter"] = v
- }
- if v, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, f.Aggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding Aggregation into aggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["aggregation"] = v
- }
- if v, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, f.SecondaryAggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding SecondaryAggregation into secondaryAggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["secondaryAggregation"] = v
- }
- if v, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, f.PickTimeSeriesFilter, res); err != nil {
- return nil, fmt.Errorf("error expanding PickTimeSeriesFilter into pickTimeSeriesFilter: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["pickTimeSeriesFilter"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter flattens an instance of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter
- }
- r.Filter = dcl.FlattenString(m["filter"])
- r.Aggregation = flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, m["aggregation"], res)
- r.SecondaryAggregation = flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, m["secondaryAggregation"], res)
- r.PickTimeSeriesFilter = flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, m["pickTimeSeriesFilter"], res)
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationMap expands the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationSlice expands the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationSlice(c *Client, f []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation expands an instance of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c *Client, f *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation flattens an instance of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap expands the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice expands the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(c *Client, f []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation expands an instance of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c *Client, f *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation flattens an instance of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap expands the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice expands the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(c *Client, f []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter expands an instance of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c *Client, f *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.RankingMethod; !dcl.IsEmptyValueIndirect(v) {
- m["rankingMethod"] = v
- }
- if v := f.NumTimeSeries; !dcl.IsEmptyValueIndirect(v) {
- m["numTimeSeries"] = v
- }
- if v := f.Direction; !dcl.IsEmptyValueIndirect(v) {
- m["direction"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter flattens an instance of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- }
- r.RankingMethod = flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(m["rankingMethod"])
- r.NumTimeSeries = dcl.FlattenInteger(m["numTimeSeries"])
- r.Direction = flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(m["direction"])
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioMap expands the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSlice expands the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSlice(c *Client, f []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio expands an instance of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c *Client, f *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, f.Numerator, res); err != nil {
- return nil, fmt.Errorf("error expanding Numerator into numerator: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["numerator"] = v
- }
- if v, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, f.Denominator, res); err != nil {
- return nil, fmt.Errorf("error expanding Denominator into denominator: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["denominator"] = v
- }
- if v, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, f.SecondaryAggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding SecondaryAggregation into secondaryAggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["secondaryAggregation"] = v
- }
- if v, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, f.PickTimeSeriesFilter, res); err != nil {
- return nil, fmt.Errorf("error expanding PickTimeSeriesFilter into pickTimeSeriesFilter: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["pickTimeSeriesFilter"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio flattens an instance of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio
- }
- r.Numerator = flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, m["numerator"], res)
- r.Denominator = flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, m["denominator"], res)
- r.SecondaryAggregation = flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, m["secondaryAggregation"], res)
- r.PickTimeSeriesFilter = flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, m["pickTimeSeriesFilter"], res)
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap expands the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice expands the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(c *Client, f []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator expands an instance of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c *Client, f *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- m["filter"] = v
- }
- if v, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, f.Aggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding Aggregation into aggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["aggregation"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator flattens an instance of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
- }
- r.Filter = dcl.FlattenString(m["filter"])
- r.Aggregation = flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, m["aggregation"], res)
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap expands the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice expands the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(c *Client, f []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation expands an instance of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c *Client, f *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation flattens an instance of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap expands the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice expands the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(c *Client, f []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator expands an instance of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c *Client, f *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- m["filter"] = v
- }
- if v, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, f.Aggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding Aggregation into aggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["aggregation"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator flattens an instance of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
- }
- r.Filter = dcl.FlattenString(m["filter"])
- r.Aggregation = flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, m["aggregation"], res)
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap expands the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice expands the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(c *Client, f []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation expands an instance of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c *Client, f *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation flattens an instance of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap expands the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice expands the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(c *Client, f []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation expands an instance of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c *Client, f *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation flattens an instance of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap expands the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice expands the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(c *Client, f []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter expands an instance of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c *Client, f *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.RankingMethod; !dcl.IsEmptyValueIndirect(v) {
- m["rankingMethod"] = v
- }
- if v := f.NumTimeSeries; !dcl.IsEmptyValueIndirect(v) {
- m["numTimeSeries"] = v
- }
- if v := f.Direction; !dcl.IsEmptyValueIndirect(v) {
- m["direction"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter flattens an instance of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- }
- r.RankingMethod = flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(m["rankingMethod"])
- r.NumTimeSeries = dcl.FlattenInteger(m["numTimeSeries"])
- r.Direction = flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(m["direction"])
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardGaugeViewMap expands the contents of DashboardRowLayoutRowsWidgetsScorecardGaugeView into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardGaugeViewMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsScorecardGaugeView, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecardGaugeView(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardGaugeViewSlice expands the contents of DashboardRowLayoutRowsWidgetsScorecardGaugeView into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardGaugeViewSlice(c *Client, f []DashboardRowLayoutRowsWidgetsScorecardGaugeView, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecardGaugeView(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardGaugeViewMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardGaugeView from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardGaugeViewMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardGaugeView {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardGaugeView{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardGaugeView{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardGaugeView)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardGaugeView(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardGaugeViewSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardGaugeView from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardGaugeViewSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardGaugeView {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardGaugeView{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardGaugeView{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardGaugeView, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardGaugeView(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardGaugeView expands an instance of DashboardRowLayoutRowsWidgetsScorecardGaugeView into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardGaugeView(c *Client, f *DashboardRowLayoutRowsWidgetsScorecardGaugeView, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.LowerBound; !dcl.IsEmptyValueIndirect(v) {
- m["lowerBound"] = v
- }
- if v := f.UpperBound; !dcl.IsEmptyValueIndirect(v) {
- m["upperBound"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardGaugeView flattens an instance of DashboardRowLayoutRowsWidgetsScorecardGaugeView from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardGaugeView(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsScorecardGaugeView {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsScorecardGaugeView{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsScorecardGaugeView
- }
- r.LowerBound = dcl.FlattenDouble(m["lowerBound"])
- r.UpperBound = dcl.FlattenDouble(m["upperBound"])
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardSparkChartViewMap expands the contents of DashboardRowLayoutRowsWidgetsScorecardSparkChartView into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardSparkChartViewMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsScorecardSparkChartView, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecardSparkChartView(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardSparkChartViewSlice expands the contents of DashboardRowLayoutRowsWidgetsScorecardSparkChartView into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardSparkChartViewSlice(c *Client, f []DashboardRowLayoutRowsWidgetsScorecardSparkChartView, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecardSparkChartView(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardSparkChartViewMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardSparkChartView from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardSparkChartViewMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardSparkChartView {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardSparkChartView{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardSparkChartView{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardSparkChartView)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardSparkChartView(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardSparkChartViewSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardSparkChartView from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardSparkChartViewSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardSparkChartView {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardSparkChartView{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardSparkChartView{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardSparkChartView, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardSparkChartView(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardSparkChartView expands an instance of DashboardRowLayoutRowsWidgetsScorecardSparkChartView into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardSparkChartView(c *Client, f *DashboardRowLayoutRowsWidgetsScorecardSparkChartView, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.SparkChartType; !dcl.IsEmptyValueIndirect(v) {
- m["sparkChartType"] = v
- }
- if v := f.MinAlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["minAlignmentPeriod"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardSparkChartView flattens an instance of DashboardRowLayoutRowsWidgetsScorecardSparkChartView from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardSparkChartView(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsScorecardSparkChartView {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsScorecardSparkChartView{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsScorecardSparkChartView
- }
- r.SparkChartType = flattenDashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnum(m["sparkChartType"])
- r.MinAlignmentPeriod = dcl.FlattenString(m["minAlignmentPeriod"])
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardThresholdsMap expands the contents of DashboardRowLayoutRowsWidgetsScorecardThresholds into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardThresholdsMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsScorecardThresholds, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecardThresholds(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardThresholdsSlice expands the contents of DashboardRowLayoutRowsWidgetsScorecardThresholds into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardThresholdsSlice(c *Client, f []DashboardRowLayoutRowsWidgetsScorecardThresholds, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsScorecardThresholds(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardThresholdsMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardThresholds from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardThresholdsMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardThresholds {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardThresholds{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardThresholds{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardThresholds)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardThresholds(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardThresholdsSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardThresholds from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardThresholdsSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardThresholds {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardThresholds{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardThresholds{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardThresholds, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardThresholds(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsScorecardThresholds expands an instance of DashboardRowLayoutRowsWidgetsScorecardThresholds into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsScorecardThresholds(c *Client, f *DashboardRowLayoutRowsWidgetsScorecardThresholds, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Label; !dcl.IsEmptyValueIndirect(v) {
- m["label"] = v
- }
- if v := f.Value; !dcl.IsEmptyValueIndirect(v) {
- m["value"] = v
- }
- if v := f.Color; !dcl.IsEmptyValueIndirect(v) {
- m["color"] = v
- }
- if v := f.Direction; !dcl.IsEmptyValueIndirect(v) {
- m["direction"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardThresholds flattens an instance of DashboardRowLayoutRowsWidgetsScorecardThresholds from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardThresholds(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsScorecardThresholds {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsScorecardThresholds{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsScorecardThresholds
- }
- r.Label = dcl.FlattenString(m["label"])
- r.Value = dcl.FlattenDouble(m["value"])
- r.Color = flattenDashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnum(m["color"])
- r.Direction = flattenDashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnum(m["direction"])
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsTextMap expands the contents of DashboardRowLayoutRowsWidgetsText into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsTextMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsText, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsText(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsTextSlice expands the contents of DashboardRowLayoutRowsWidgetsText into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsTextSlice(c *Client, f []DashboardRowLayoutRowsWidgetsText, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsText(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsTextMap flattens the contents of DashboardRowLayoutRowsWidgetsText from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsTextMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsText {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsText{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsText{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsText)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsText(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsTextSlice flattens the contents of DashboardRowLayoutRowsWidgetsText from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsTextSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsText {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsText{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsText{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsText, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsText(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsText expands an instance of DashboardRowLayoutRowsWidgetsText into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsText(c *Client, f *DashboardRowLayoutRowsWidgetsText, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Content; !dcl.IsEmptyValueIndirect(v) {
- m["content"] = v
- }
- if v := f.Format; !dcl.IsEmptyValueIndirect(v) {
- m["format"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsText flattens an instance of DashboardRowLayoutRowsWidgetsText from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsText(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsText {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsText{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsText
- }
- r.Content = dcl.FlattenString(m["content"])
- r.Format = flattenDashboardRowLayoutRowsWidgetsTextFormatEnum(m["format"])
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsBlankMap expands the contents of DashboardRowLayoutRowsWidgetsBlank into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsBlankMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsBlank, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsBlank(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsBlankSlice expands the contents of DashboardRowLayoutRowsWidgetsBlank into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsBlankSlice(c *Client, f []DashboardRowLayoutRowsWidgetsBlank, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsBlank(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsBlankMap flattens the contents of DashboardRowLayoutRowsWidgetsBlank from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsBlankMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsBlank {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsBlank{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsBlank{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsBlank)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsBlank(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsBlankSlice flattens the contents of DashboardRowLayoutRowsWidgetsBlank from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsBlankSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsBlank {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsBlank{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsBlank{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsBlank, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsBlank(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsBlank expands an instance of DashboardRowLayoutRowsWidgetsBlank into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsBlank(c *Client, f *DashboardRowLayoutRowsWidgetsBlank, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsBlank flattens an instance of DashboardRowLayoutRowsWidgetsBlank from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsBlank(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsBlank {
- _, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsBlank{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsBlank
- }
-
- return r
-}
-
-// expandDashboardRowLayoutRowsWidgetsLogsPanelMap expands the contents of DashboardRowLayoutRowsWidgetsLogsPanel into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsLogsPanelMap(c *Client, f map[string]DashboardRowLayoutRowsWidgetsLogsPanel, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsLogsPanel(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardRowLayoutRowsWidgetsLogsPanelSlice expands the contents of DashboardRowLayoutRowsWidgetsLogsPanel into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsLogsPanelSlice(c *Client, f []DashboardRowLayoutRowsWidgetsLogsPanel, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardRowLayoutRowsWidgetsLogsPanel(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsLogsPanelMap flattens the contents of DashboardRowLayoutRowsWidgetsLogsPanel from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsLogsPanelMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsLogsPanel {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsLogsPanel{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsLogsPanel{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsLogsPanel)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsLogsPanel(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsLogsPanelSlice flattens the contents of DashboardRowLayoutRowsWidgetsLogsPanel from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsLogsPanelSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsLogsPanel {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsLogsPanel{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsLogsPanel{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsLogsPanel, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsLogsPanel(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardRowLayoutRowsWidgetsLogsPanel expands an instance of DashboardRowLayoutRowsWidgetsLogsPanel into a JSON
-// request object.
-func expandDashboardRowLayoutRowsWidgetsLogsPanel(c *Client, f *DashboardRowLayoutRowsWidgetsLogsPanel, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- m["filter"] = v
- }
- if v := f.ResourceNames; v != nil {
- m["resourceNames"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardRowLayoutRowsWidgetsLogsPanel flattens an instance of DashboardRowLayoutRowsWidgetsLogsPanel from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsLogsPanel(c *Client, i interface{}, res *Dashboard) *DashboardRowLayoutRowsWidgetsLogsPanel {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardRowLayoutRowsWidgetsLogsPanel{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardRowLayoutRowsWidgetsLogsPanel
- }
- r.Filter = dcl.FlattenString(m["filter"])
- r.ResourceNames = dcl.FlattenStringSlice(m["resourceNames"])
-
- return r
-}
-
-// expandDashboardColumnLayoutMap expands the contents of DashboardColumnLayout into a JSON
-// request object.
-func expandDashboardColumnLayoutMap(c *Client, f map[string]DashboardColumnLayout, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayout(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutSlice expands the contents of DashboardColumnLayout into a JSON
-// request object.
-func expandDashboardColumnLayoutSlice(c *Client, f []DashboardColumnLayout, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayout(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutMap flattens the contents of DashboardColumnLayout from a JSON
-// response object.
-func flattenDashboardColumnLayoutMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayout {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayout{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayout{}
- }
-
- items := make(map[string]DashboardColumnLayout)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayout(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutSlice flattens the contents of DashboardColumnLayout from a JSON
-// response object.
-func flattenDashboardColumnLayoutSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayout {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayout{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayout{}
- }
-
- items := make([]DashboardColumnLayout, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayout(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayout expands an instance of DashboardColumnLayout into a JSON
-// request object.
-func expandDashboardColumnLayout(c *Client, f *DashboardColumnLayout, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandDashboardColumnLayoutColumnsSlice(c, f.Columns, res); err != nil {
- return nil, fmt.Errorf("error expanding Columns into columns: %w", err)
- } else if v != nil {
- m["columns"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayout flattens an instance of DashboardColumnLayout from a JSON
-// response object.
-func flattenDashboardColumnLayout(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayout {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayout{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayout
- }
- r.Columns = flattenDashboardColumnLayoutColumnsSlice(c, m["columns"], res)
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsMap expands the contents of DashboardColumnLayoutColumns into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsMap(c *Client, f map[string]DashboardColumnLayoutColumns, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumns(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsSlice expands the contents of DashboardColumnLayoutColumns into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsSlice(c *Client, f []DashboardColumnLayoutColumns, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumns(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsMap flattens the contents of DashboardColumnLayoutColumns from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumns {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumns{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumns{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumns)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumns(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsSlice flattens the contents of DashboardColumnLayoutColumns from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumns {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumns{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumns{}
- }
-
- items := make([]DashboardColumnLayoutColumns, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumns(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumns expands an instance of DashboardColumnLayoutColumns into a JSON
-// request object.
-func expandDashboardColumnLayoutColumns(c *Client, f *DashboardColumnLayoutColumns, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Weight; !dcl.IsEmptyValueIndirect(v) {
- m["weight"] = v
- }
- if v, err := expandDashboardColumnLayoutColumnsWidgetsSlice(c, f.Widgets, res); err != nil {
- return nil, fmt.Errorf("error expanding Widgets into widgets: %w", err)
- } else if v != nil {
- m["widgets"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumns flattens an instance of DashboardColumnLayoutColumns from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumns(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumns {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumns{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumns
- }
- r.Weight = dcl.FlattenInteger(m["weight"])
- r.Widgets = flattenDashboardColumnLayoutColumnsWidgetsSlice(c, m["widgets"], res)
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsMap expands the contents of DashboardColumnLayoutColumnsWidgets into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgets, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgets(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsSlice expands the contents of DashboardColumnLayoutColumnsWidgets into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsSlice(c *Client, f []DashboardColumnLayoutColumnsWidgets, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgets(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsMap flattens the contents of DashboardColumnLayoutColumnsWidgets from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgets {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgets{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgets{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgets)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgets(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsSlice flattens the contents of DashboardColumnLayoutColumnsWidgets from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgets {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgets{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgets{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgets, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgets(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgets expands an instance of DashboardColumnLayoutColumnsWidgets into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgets(c *Client, f *DashboardColumnLayoutColumnsWidgets, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Title; !dcl.IsEmptyValueIndirect(v) {
- m["title"] = v
- }
- if v, err := expandDashboardColumnLayoutColumnsWidgetsXyChart(c, f.XyChart, res); err != nil {
- return nil, fmt.Errorf("error expanding XyChart into xyChart: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["xyChart"] = v
- }
- if v, err := expandDashboardColumnLayoutColumnsWidgetsScorecard(c, f.Scorecard, res); err != nil {
- return nil, fmt.Errorf("error expanding Scorecard into scorecard: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["scorecard"] = v
- }
- if v, err := expandDashboardColumnLayoutColumnsWidgetsText(c, f.Text, res); err != nil {
- return nil, fmt.Errorf("error expanding Text into text: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["text"] = v
- }
- if v, err := expandDashboardColumnLayoutColumnsWidgetsBlank(c, f.Blank, res); err != nil {
- return nil, fmt.Errorf("error expanding Blank into blank: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["blank"] = v
- }
- if v, err := expandDashboardColumnLayoutColumnsWidgetsLogsPanel(c, f.LogsPanel, res); err != nil {
- return nil, fmt.Errorf("error expanding LogsPanel into logsPanel: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["logsPanel"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgets flattens an instance of DashboardColumnLayoutColumnsWidgets from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgets(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgets {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgets{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgets
- }
- r.Title = dcl.FlattenString(m["title"])
- r.XyChart = flattenDashboardColumnLayoutColumnsWidgetsXyChart(c, m["xyChart"], res)
- r.Scorecard = flattenDashboardColumnLayoutColumnsWidgetsScorecard(c, m["scorecard"], res)
- r.Text = flattenDashboardColumnLayoutColumnsWidgetsText(c, m["text"], res)
- r.Blank = flattenDashboardColumnLayoutColumnsWidgetsBlank(c, m["blank"], res)
- r.LogsPanel = flattenDashboardColumnLayoutColumnsWidgetsLogsPanel(c, m["logsPanel"], res)
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartMap expands the contents of DashboardColumnLayoutColumnsWidgetsXyChart into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsXyChart, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChart(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartSlice expands the contents of DashboardColumnLayoutColumnsWidgetsXyChart into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsXyChart, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChart(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChart from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChart {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChart{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChart{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChart)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChart(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChart from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChart {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChart{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChart{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChart, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChart(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChart expands an instance of DashboardColumnLayoutColumnsWidgetsXyChart into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChart(c *Client, f *DashboardColumnLayoutColumnsWidgetsXyChart, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsSlice(c, f.DataSets, res); err != nil {
- return nil, fmt.Errorf("error expanding DataSets into dataSets: %w", err)
- } else if v != nil {
- m["dataSets"] = v
- }
- if v := f.TimeshiftDuration; !dcl.IsEmptyValueIndirect(v) {
- m["timeshiftDuration"] = v
- }
- if v, err := expandDashboardColumnLayoutColumnsWidgetsXyChartThresholdsSlice(c, f.Thresholds, res); err != nil {
- return nil, fmt.Errorf("error expanding Thresholds into thresholds: %w", err)
- } else if v != nil {
- m["thresholds"] = v
- }
- if v, err := expandDashboardColumnLayoutColumnsWidgetsXyChartXAxis(c, f.XAxis, res); err != nil {
- return nil, fmt.Errorf("error expanding XAxis into xAxis: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["xAxis"] = v
- }
- if v, err := expandDashboardColumnLayoutColumnsWidgetsXyChartYAxis(c, f.YAxis, res); err != nil {
- return nil, fmt.Errorf("error expanding YAxis into yAxis: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["yAxis"] = v
- }
- if v, err := expandDashboardColumnLayoutColumnsWidgetsXyChartChartOptions(c, f.ChartOptions, res); err != nil {
- return nil, fmt.Errorf("error expanding ChartOptions into chartOptions: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["chartOptions"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChart flattens an instance of DashboardColumnLayoutColumnsWidgetsXyChart from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChart(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsXyChart {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsXyChart{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsXyChart
- }
- r.DataSets = flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsSlice(c, m["dataSets"], res)
- r.TimeshiftDuration = dcl.FlattenString(m["timeshiftDuration"])
- r.Thresholds = flattenDashboardColumnLayoutColumnsWidgetsXyChartThresholdsSlice(c, m["thresholds"], res)
- r.XAxis = flattenDashboardColumnLayoutColumnsWidgetsXyChartXAxis(c, m["xAxis"], res)
- r.YAxis = flattenDashboardColumnLayoutColumnsWidgetsXyChartYAxis(c, m["yAxis"], res)
- r.ChartOptions = flattenDashboardColumnLayoutColumnsWidgetsXyChartChartOptions(c, m["chartOptions"], res)
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsMap expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSets into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSets, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSets(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsSlice expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSets into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsXyChartDataSets, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSets(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSets from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSets {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSets{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSets{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSets)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSets(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSets from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartDataSets {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSets{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSets{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSets, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSets(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSets expands an instance of DashboardColumnLayoutColumnsWidgetsXyChartDataSets into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSets(c *Client, f *DashboardColumnLayoutColumnsWidgetsXyChartDataSets, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery(c, f.TimeSeriesQuery, res); err != nil {
- return nil, fmt.Errorf("error expanding TimeSeriesQuery into timeSeriesQuery: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesQuery"] = v
- }
- if v := f.PlotType; !dcl.IsEmptyValueIndirect(v) {
- m["plotType"] = v
- }
- if v := f.LegendTemplate; !dcl.IsEmptyValueIndirect(v) {
- m["legendTemplate"] = v
- }
- if v := f.MinAlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["minAlignmentPeriod"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSets flattens an instance of DashboardColumnLayoutColumnsWidgetsXyChartDataSets from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSets(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsXyChartDataSets {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsXyChartDataSets{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSets
- }
- r.TimeSeriesQuery = flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery(c, m["timeSeriesQuery"], res)
- r.PlotType = flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnum(m["plotType"])
- r.LegendTemplate = dcl.FlattenString(m["legendTemplate"])
- r.MinAlignmentPeriod = dcl.FlattenString(m["minAlignmentPeriod"])
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryMap expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuerySlice expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuerySlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuerySlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuerySlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery expands an instance of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery(c *Client, f *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, f.TimeSeriesFilter, res); err != nil {
- return nil, fmt.Errorf("error expanding TimeSeriesFilter into timeSeriesFilter: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesFilter"] = v
- }
- if v, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, f.TimeSeriesFilterRatio, res); err != nil {
- return nil, fmt.Errorf("error expanding TimeSeriesFilterRatio into timeSeriesFilterRatio: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesFilterRatio"] = v
- }
- if v := f.TimeSeriesQueryLanguage; !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesQueryLanguage"] = v
- }
- if v := f.UnitOverride; !dcl.IsEmptyValueIndirect(v) {
- m["unitOverride"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery flattens an instance of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery
- }
- r.TimeSeriesFilter = flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, m["timeSeriesFilter"], res)
- r.TimeSeriesFilterRatio = flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, m["timeSeriesFilterRatio"], res)
- r.TimeSeriesQueryLanguage = dcl.FlattenString(m["timeSeriesQueryLanguage"])
- r.UnitOverride = dcl.FlattenString(m["unitOverride"])
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterMap expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSlice expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter expands an instance of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c *Client, f *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- m["filter"] = v
- }
- if v, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, f.Aggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding Aggregation into aggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["aggregation"] = v
- }
- if v, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, f.SecondaryAggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding SecondaryAggregation into secondaryAggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["secondaryAggregation"] = v
- }
- if v, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, f.PickTimeSeriesFilter, res); err != nil {
- return nil, fmt.Errorf("error expanding PickTimeSeriesFilter into pickTimeSeriesFilter: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["pickTimeSeriesFilter"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter flattens an instance of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
- }
- r.Filter = dcl.FlattenString(m["filter"])
- r.Aggregation = flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, m["aggregation"], res)
- r.SecondaryAggregation = flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, m["secondaryAggregation"], res)
- r.PickTimeSeriesFilter = flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, m["pickTimeSeriesFilter"], res)
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationMap expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationSlice expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation expands an instance of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c *Client, f *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation flattens an instance of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation expands an instance of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c *Client, f *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation flattens an instance of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter expands an instance of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c *Client, f *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.RankingMethod; !dcl.IsEmptyValueIndirect(v) {
- m["rankingMethod"] = v
- }
- if v := f.NumTimeSeries; !dcl.IsEmptyValueIndirect(v) {
- m["numTimeSeries"] = v
- }
- if v := f.Direction; !dcl.IsEmptyValueIndirect(v) {
- m["direction"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter flattens an instance of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- }
- r.RankingMethod = flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(m["rankingMethod"])
- r.NumTimeSeries = dcl.FlattenInteger(m["numTimeSeries"])
- r.Direction = flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(m["direction"])
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioMap expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSlice expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio expands an instance of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c *Client, f *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, f.Numerator, res); err != nil {
- return nil, fmt.Errorf("error expanding Numerator into numerator: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["numerator"] = v
- }
- if v, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, f.Denominator, res); err != nil {
- return nil, fmt.Errorf("error expanding Denominator into denominator: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["denominator"] = v
- }
- if v, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, f.SecondaryAggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding SecondaryAggregation into secondaryAggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["secondaryAggregation"] = v
- }
- if v, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, f.PickTimeSeriesFilter, res); err != nil {
- return nil, fmt.Errorf("error expanding PickTimeSeriesFilter into pickTimeSeriesFilter: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["pickTimeSeriesFilter"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio flattens an instance of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
- }
- r.Numerator = flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, m["numerator"], res)
- r.Denominator = flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, m["denominator"], res)
- r.SecondaryAggregation = flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, m["secondaryAggregation"], res)
- r.PickTimeSeriesFilter = flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, m["pickTimeSeriesFilter"], res)
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator expands an instance of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c *Client, f *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- m["filter"] = v
- }
- if v, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, f.Aggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding Aggregation into aggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["aggregation"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator flattens an instance of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
- }
- r.Filter = dcl.FlattenString(m["filter"])
- r.Aggregation = flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, m["aggregation"], res)
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation expands an instance of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c *Client, f *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation flattens an instance of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator expands an instance of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c *Client, f *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- m["filter"] = v
- }
- if v, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, f.Aggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding Aggregation into aggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["aggregation"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator flattens an instance of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
- }
- r.Filter = dcl.FlattenString(m["filter"])
- r.Aggregation = flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, m["aggregation"], res)
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation expands an instance of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c *Client, f *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation flattens an instance of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation expands an instance of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c *Client, f *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation flattens an instance of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter expands an instance of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c *Client, f *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.RankingMethod; !dcl.IsEmptyValueIndirect(v) {
- m["rankingMethod"] = v
- }
- if v := f.NumTimeSeries; !dcl.IsEmptyValueIndirect(v) {
- m["numTimeSeries"] = v
- }
- if v := f.Direction; !dcl.IsEmptyValueIndirect(v) {
- m["direction"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter flattens an instance of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- }
- r.RankingMethod = flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(m["rankingMethod"])
- r.NumTimeSeries = dcl.FlattenInteger(m["numTimeSeries"])
- r.Direction = flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(m["direction"])
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartThresholdsMap expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartThresholds into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartThresholdsMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsXyChartThresholds, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartThresholds(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartThresholdsSlice expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartThresholds into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartThresholdsSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsXyChartThresholds, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartThresholds(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartThresholdsMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartThresholds from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartThresholdsMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartThresholds {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartThresholds{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartThresholds{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartThresholds)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartThresholds(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartThresholdsSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartThresholds from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartThresholdsSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartThresholds {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartThresholds{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartThresholds{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartThresholds, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartThresholds(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartThresholds expands an instance of DashboardColumnLayoutColumnsWidgetsXyChartThresholds into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartThresholds(c *Client, f *DashboardColumnLayoutColumnsWidgetsXyChartThresholds, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Label; !dcl.IsEmptyValueIndirect(v) {
- m["label"] = v
- }
- if v := f.Value; !dcl.IsEmptyValueIndirect(v) {
- m["value"] = v
- }
- if v := f.Color; !dcl.IsEmptyValueIndirect(v) {
- m["color"] = v
- }
- if v := f.Direction; !dcl.IsEmptyValueIndirect(v) {
- m["direction"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartThresholds flattens an instance of DashboardColumnLayoutColumnsWidgetsXyChartThresholds from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartThresholds(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsXyChartThresholds {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsXyChartThresholds{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsXyChartThresholds
- }
- r.Label = dcl.FlattenString(m["label"])
- r.Value = dcl.FlattenDouble(m["value"])
- r.Color = flattenDashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnum(m["color"])
- r.Direction = flattenDashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnum(m["direction"])
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartXAxisMap expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartXAxis into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartXAxisMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsXyChartXAxis, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartXAxis(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartXAxisSlice expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartXAxis into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartXAxisSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsXyChartXAxis, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartXAxis(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartXAxisMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartXAxis from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartXAxisMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartXAxis {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartXAxis{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartXAxis{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartXAxis)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartXAxis(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartXAxisSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartXAxis from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartXAxisSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartXAxis {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartXAxis{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartXAxis{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartXAxis, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartXAxis(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartXAxis expands an instance of DashboardColumnLayoutColumnsWidgetsXyChartXAxis into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartXAxis(c *Client, f *DashboardColumnLayoutColumnsWidgetsXyChartXAxis, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Label; !dcl.IsEmptyValueIndirect(v) {
- m["label"] = v
- }
- if v := f.Scale; !dcl.IsEmptyValueIndirect(v) {
- m["scale"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartXAxis flattens an instance of DashboardColumnLayoutColumnsWidgetsXyChartXAxis from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartXAxis(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsXyChartXAxis {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsXyChartXAxis{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsXyChartXAxis
- }
- r.Label = dcl.FlattenString(m["label"])
- r.Scale = flattenDashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnum(m["scale"])
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartYAxisMap expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartYAxis into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartYAxisMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsXyChartYAxis, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartYAxis(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartYAxisSlice expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartYAxis into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartYAxisSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsXyChartYAxis, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartYAxis(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartYAxisMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartYAxis from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartYAxisMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartYAxis {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartYAxis{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartYAxis{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartYAxis)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartYAxis(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartYAxisSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartYAxis from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartYAxisSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartYAxis {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartYAxis{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartYAxis{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartYAxis, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartYAxis(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartYAxis expands an instance of DashboardColumnLayoutColumnsWidgetsXyChartYAxis into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartYAxis(c *Client, f *DashboardColumnLayoutColumnsWidgetsXyChartYAxis, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Label; !dcl.IsEmptyValueIndirect(v) {
- m["label"] = v
- }
- if v := f.Scale; !dcl.IsEmptyValueIndirect(v) {
- m["scale"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartYAxis flattens an instance of DashboardColumnLayoutColumnsWidgetsXyChartYAxis from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartYAxis(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsXyChartYAxis {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsXyChartYAxis{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsXyChartYAxis
- }
- r.Label = dcl.FlattenString(m["label"])
- r.Scale = flattenDashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnum(m["scale"])
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartChartOptionsMap expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartChartOptions into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartChartOptionsMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsXyChartChartOptions, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartChartOptions(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartChartOptionsSlice expands the contents of DashboardColumnLayoutColumnsWidgetsXyChartChartOptions into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartChartOptionsSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsXyChartChartOptions, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsXyChartChartOptions(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartChartOptionsMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartChartOptions from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartChartOptionsMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartChartOptions {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartChartOptions{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartChartOptions{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartChartOptions)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartChartOptions(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartChartOptionsSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartChartOptions from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartChartOptionsSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartChartOptions {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartChartOptions{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartChartOptions{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartChartOptions, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartChartOptions(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsXyChartChartOptions expands an instance of DashboardColumnLayoutColumnsWidgetsXyChartChartOptions into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsXyChartChartOptions(c *Client, f *DashboardColumnLayoutColumnsWidgetsXyChartChartOptions, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Mode; !dcl.IsEmptyValueIndirect(v) {
- m["mode"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartChartOptions flattens an instance of DashboardColumnLayoutColumnsWidgetsXyChartChartOptions from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartChartOptions(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsXyChartChartOptions {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsXyChartChartOptions{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsXyChartChartOptions
- }
- r.Mode = flattenDashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnum(m["mode"])
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardMap expands the contents of DashboardColumnLayoutColumnsWidgetsScorecard into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsScorecard, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecard(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardSlice expands the contents of DashboardColumnLayoutColumnsWidgetsScorecard into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsScorecard, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecard(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecard from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecard {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecard{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecard{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecard)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecard(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecard from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecard {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecard{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecard{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecard, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecard(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecard expands an instance of DashboardColumnLayoutColumnsWidgetsScorecard into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecard(c *Client, f *DashboardColumnLayoutColumnsWidgetsScorecard, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery(c, f.TimeSeriesQuery, res); err != nil {
- return nil, fmt.Errorf("error expanding TimeSeriesQuery into timeSeriesQuery: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesQuery"] = v
- }
- if v, err := expandDashboardColumnLayoutColumnsWidgetsScorecardGaugeView(c, f.GaugeView, res); err != nil {
- return nil, fmt.Errorf("error expanding GaugeView into gaugeView: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["gaugeView"] = v
- }
- if v, err := expandDashboardColumnLayoutColumnsWidgetsScorecardSparkChartView(c, f.SparkChartView, res); err != nil {
- return nil, fmt.Errorf("error expanding SparkChartView into sparkChartView: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["sparkChartView"] = v
- }
- if v, err := expandDashboardColumnLayoutColumnsWidgetsScorecardThresholdsSlice(c, f.Thresholds, res); err != nil {
- return nil, fmt.Errorf("error expanding Thresholds into thresholds: %w", err)
- } else if v != nil {
- m["thresholds"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecard flattens an instance of DashboardColumnLayoutColumnsWidgetsScorecard from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecard(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsScorecard {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsScorecard{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsScorecard
- }
- r.TimeSeriesQuery = flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery(c, m["timeSeriesQuery"], res)
- r.GaugeView = flattenDashboardColumnLayoutColumnsWidgetsScorecardGaugeView(c, m["gaugeView"], res)
- r.SparkChartView = flattenDashboardColumnLayoutColumnsWidgetsScorecardSparkChartView(c, m["sparkChartView"], res)
- r.Thresholds = flattenDashboardColumnLayoutColumnsWidgetsScorecardThresholdsSlice(c, m["thresholds"], res)
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryMap expands the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuerySlice expands the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuerySlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuerySlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuerySlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery expands an instance of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery(c *Client, f *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c, f.TimeSeriesFilter, res); err != nil {
- return nil, fmt.Errorf("error expanding TimeSeriesFilter into timeSeriesFilter: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesFilter"] = v
- }
- if v, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, f.TimeSeriesFilterRatio, res); err != nil {
- return nil, fmt.Errorf("error expanding TimeSeriesFilterRatio into timeSeriesFilterRatio: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesFilterRatio"] = v
- }
- if v := f.TimeSeriesQueryLanguage; !dcl.IsEmptyValueIndirect(v) {
- m["timeSeriesQueryLanguage"] = v
- }
- if v := f.UnitOverride; !dcl.IsEmptyValueIndirect(v) {
- m["unitOverride"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery flattens an instance of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery
- }
- r.TimeSeriesFilter = flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c, m["timeSeriesFilter"], res)
- r.TimeSeriesFilterRatio = flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, m["timeSeriesFilterRatio"], res)
- r.TimeSeriesQueryLanguage = dcl.FlattenString(m["timeSeriesQueryLanguage"])
- r.UnitOverride = dcl.FlattenString(m["unitOverride"])
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterMap expands the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSlice expands the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter expands an instance of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c *Client, f *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- m["filter"] = v
- }
- if v, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, f.Aggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding Aggregation into aggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["aggregation"] = v
- }
- if v, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, f.SecondaryAggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding SecondaryAggregation into secondaryAggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["secondaryAggregation"] = v
- }
- if v, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, f.PickTimeSeriesFilter, res); err != nil {
- return nil, fmt.Errorf("error expanding PickTimeSeriesFilter into pickTimeSeriesFilter: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["pickTimeSeriesFilter"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter flattens an instance of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter
- }
- r.Filter = dcl.FlattenString(m["filter"])
- r.Aggregation = flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, m["aggregation"], res)
- r.SecondaryAggregation = flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, m["secondaryAggregation"], res)
- r.PickTimeSeriesFilter = flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, m["pickTimeSeriesFilter"], res)
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationMap expands the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationSlice expands the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation expands an instance of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c *Client, f *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation flattens an instance of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap expands the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice expands the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation expands an instance of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c *Client, f *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation flattens an instance of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap expands the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice expands the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter expands an instance of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c *Client, f *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.RankingMethod; !dcl.IsEmptyValueIndirect(v) {
- m["rankingMethod"] = v
- }
- if v := f.NumTimeSeries; !dcl.IsEmptyValueIndirect(v) {
- m["numTimeSeries"] = v
- }
- if v := f.Direction; !dcl.IsEmptyValueIndirect(v) {
- m["direction"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter flattens an instance of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
- }
- r.RankingMethod = flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(m["rankingMethod"])
- r.NumTimeSeries = dcl.FlattenInteger(m["numTimeSeries"])
- r.Direction = flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(m["direction"])
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioMap expands the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSlice expands the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio expands an instance of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c *Client, f *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, f.Numerator, res); err != nil {
- return nil, fmt.Errorf("error expanding Numerator into numerator: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["numerator"] = v
- }
- if v, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, f.Denominator, res); err != nil {
- return nil, fmt.Errorf("error expanding Denominator into denominator: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["denominator"] = v
- }
- if v, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, f.SecondaryAggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding SecondaryAggregation into secondaryAggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["secondaryAggregation"] = v
- }
- if v, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, f.PickTimeSeriesFilter, res); err != nil {
- return nil, fmt.Errorf("error expanding PickTimeSeriesFilter into pickTimeSeriesFilter: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["pickTimeSeriesFilter"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio flattens an instance of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio
- }
- r.Numerator = flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, m["numerator"], res)
- r.Denominator = flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, m["denominator"], res)
- r.SecondaryAggregation = flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, m["secondaryAggregation"], res)
- r.PickTimeSeriesFilter = flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, m["pickTimeSeriesFilter"], res)
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap expands the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice expands the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator expands an instance of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c *Client, f *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- m["filter"] = v
- }
- if v, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, f.Aggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding Aggregation into aggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["aggregation"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator flattens an instance of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
- }
- r.Filter = dcl.FlattenString(m["filter"])
- r.Aggregation = flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, m["aggregation"], res)
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap expands the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice expands the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation expands an instance of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c *Client, f *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation flattens an instance of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap expands the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice expands the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator expands an instance of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c *Client, f *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- m["filter"] = v
- }
- if v, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, f.Aggregation, res); err != nil {
- return nil, fmt.Errorf("error expanding Aggregation into aggregation: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["aggregation"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator flattens an instance of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
- }
- r.Filter = dcl.FlattenString(m["filter"])
- r.Aggregation = flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, m["aggregation"], res)
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap expands the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice expands the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation expands an instance of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c *Client, f *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation flattens an instance of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap expands the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice expands the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation expands an instance of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c *Client, f *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.AlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["alignmentPeriod"] = v
- }
- if v := f.PerSeriesAligner; !dcl.IsEmptyValueIndirect(v) {
- m["perSeriesAligner"] = v
- }
- if v := f.CrossSeriesReducer; !dcl.IsEmptyValueIndirect(v) {
- m["crossSeriesReducer"] = v
- }
- if v := f.GroupByFields; v != nil {
- m["groupByFields"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation flattens an instance of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
- }
- r.AlignmentPeriod = dcl.FlattenString(m["alignmentPeriod"])
- r.PerSeriesAligner = flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(m["perSeriesAligner"])
- r.CrossSeriesReducer = flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(m["crossSeriesReducer"])
- r.GroupByFields = dcl.FlattenStringSlice(m["groupByFields"])
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap expands the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice expands the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter expands an instance of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c *Client, f *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.RankingMethod; !dcl.IsEmptyValueIndirect(v) {
- m["rankingMethod"] = v
- }
- if v := f.NumTimeSeries; !dcl.IsEmptyValueIndirect(v) {
- m["numTimeSeries"] = v
- }
- if v := f.Direction; !dcl.IsEmptyValueIndirect(v) {
- m["direction"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter flattens an instance of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
- }
- r.RankingMethod = flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(m["rankingMethod"])
- r.NumTimeSeries = dcl.FlattenInteger(m["numTimeSeries"])
- r.Direction = flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(m["direction"])
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardGaugeViewMap expands the contents of DashboardColumnLayoutColumnsWidgetsScorecardGaugeView into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardGaugeViewMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsScorecardGaugeView, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecardGaugeView(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardGaugeViewSlice expands the contents of DashboardColumnLayoutColumnsWidgetsScorecardGaugeView into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardGaugeViewSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsScorecardGaugeView, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecardGaugeView(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardGaugeViewMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardGaugeView from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardGaugeViewMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardGaugeView {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardGaugeView{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardGaugeView{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardGaugeView)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardGaugeView(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardGaugeViewSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardGaugeView from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardGaugeViewSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardGaugeView {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardGaugeView{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardGaugeView{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardGaugeView, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardGaugeView(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardGaugeView expands an instance of DashboardColumnLayoutColumnsWidgetsScorecardGaugeView into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardGaugeView(c *Client, f *DashboardColumnLayoutColumnsWidgetsScorecardGaugeView, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.LowerBound; !dcl.IsEmptyValueIndirect(v) {
- m["lowerBound"] = v
- }
- if v := f.UpperBound; !dcl.IsEmptyValueIndirect(v) {
- m["upperBound"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardGaugeView flattens an instance of DashboardColumnLayoutColumnsWidgetsScorecardGaugeView from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardGaugeView(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsScorecardGaugeView {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsScorecardGaugeView{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsScorecardGaugeView
- }
- r.LowerBound = dcl.FlattenDouble(m["lowerBound"])
- r.UpperBound = dcl.FlattenDouble(m["upperBound"])
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewMap expands the contents of DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecardSparkChartView(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSlice expands the contents of DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecardSparkChartView(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardSparkChartView(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardSparkChartView(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardSparkChartView expands an instance of DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardSparkChartView(c *Client, f *DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.SparkChartType; !dcl.IsEmptyValueIndirect(v) {
- m["sparkChartType"] = v
- }
- if v := f.MinAlignmentPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["minAlignmentPeriod"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardSparkChartView flattens an instance of DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardSparkChartView(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsScorecardSparkChartView
- }
- r.SparkChartType = flattenDashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnum(m["sparkChartType"])
- r.MinAlignmentPeriod = dcl.FlattenString(m["minAlignmentPeriod"])
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardThresholdsMap expands the contents of DashboardColumnLayoutColumnsWidgetsScorecardThresholds into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardThresholdsMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsScorecardThresholds, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecardThresholds(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardThresholdsSlice expands the contents of DashboardColumnLayoutColumnsWidgetsScorecardThresholds into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardThresholdsSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsScorecardThresholds, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsScorecardThresholds(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardThresholdsMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardThresholds from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardThresholdsMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardThresholds {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardThresholds{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardThresholds{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardThresholds)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardThresholds(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardThresholdsSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardThresholds from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardThresholdsSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardThresholds {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardThresholds{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardThresholds{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardThresholds, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardThresholds(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsScorecardThresholds expands an instance of DashboardColumnLayoutColumnsWidgetsScorecardThresholds into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsScorecardThresholds(c *Client, f *DashboardColumnLayoutColumnsWidgetsScorecardThresholds, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Label; !dcl.IsEmptyValueIndirect(v) {
- m["label"] = v
- }
- if v := f.Value; !dcl.IsEmptyValueIndirect(v) {
- m["value"] = v
- }
- if v := f.Color; !dcl.IsEmptyValueIndirect(v) {
- m["color"] = v
- }
- if v := f.Direction; !dcl.IsEmptyValueIndirect(v) {
- m["direction"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardThresholds flattens an instance of DashboardColumnLayoutColumnsWidgetsScorecardThresholds from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardThresholds(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsScorecardThresholds {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsScorecardThresholds{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsScorecardThresholds
- }
- r.Label = dcl.FlattenString(m["label"])
- r.Value = dcl.FlattenDouble(m["value"])
- r.Color = flattenDashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnum(m["color"])
- r.Direction = flattenDashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnum(m["direction"])
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsTextMap expands the contents of DashboardColumnLayoutColumnsWidgetsText into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsTextMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsText, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsText(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsTextSlice expands the contents of DashboardColumnLayoutColumnsWidgetsText into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsTextSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsText, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsText(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsTextMap flattens the contents of DashboardColumnLayoutColumnsWidgetsText from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsTextMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsText {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsText{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsText{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsText)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsText(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsTextSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsText from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsTextSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsText {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsText{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsText{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsText, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsText(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsText expands an instance of DashboardColumnLayoutColumnsWidgetsText into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsText(c *Client, f *DashboardColumnLayoutColumnsWidgetsText, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Content; !dcl.IsEmptyValueIndirect(v) {
- m["content"] = v
- }
- if v := f.Format; !dcl.IsEmptyValueIndirect(v) {
- m["format"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsText flattens an instance of DashboardColumnLayoutColumnsWidgetsText from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsText(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsText {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsText{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsText
- }
- r.Content = dcl.FlattenString(m["content"])
- r.Format = flattenDashboardColumnLayoutColumnsWidgetsTextFormatEnum(m["format"])
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsBlankMap expands the contents of DashboardColumnLayoutColumnsWidgetsBlank into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsBlankMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsBlank, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsBlank(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsBlankSlice expands the contents of DashboardColumnLayoutColumnsWidgetsBlank into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsBlankSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsBlank, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsBlank(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsBlankMap flattens the contents of DashboardColumnLayoutColumnsWidgetsBlank from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsBlankMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsBlank {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsBlank{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsBlank{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsBlank)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsBlank(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsBlankSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsBlank from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsBlankSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsBlank {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsBlank{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsBlank{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsBlank, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsBlank(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsBlank expands an instance of DashboardColumnLayoutColumnsWidgetsBlank into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsBlank(c *Client, f *DashboardColumnLayoutColumnsWidgetsBlank, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsBlank flattens an instance of DashboardColumnLayoutColumnsWidgetsBlank from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsBlank(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsBlank {
- _, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsBlank{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsBlank
- }
-
- return r
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsLogsPanelMap expands the contents of DashboardColumnLayoutColumnsWidgetsLogsPanel into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsLogsPanelMap(c *Client, f map[string]DashboardColumnLayoutColumnsWidgetsLogsPanel, res *Dashboard) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsLogsPanel(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsLogsPanelSlice expands the contents of DashboardColumnLayoutColumnsWidgetsLogsPanel into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsLogsPanelSlice(c *Client, f []DashboardColumnLayoutColumnsWidgetsLogsPanel, res *Dashboard) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandDashboardColumnLayoutColumnsWidgetsLogsPanel(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsLogsPanelMap flattens the contents of DashboardColumnLayoutColumnsWidgetsLogsPanel from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsLogsPanelMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsLogsPanel {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsLogsPanel{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsLogsPanel{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsLogsPanel)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsLogsPanel(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsLogsPanelSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsLogsPanel from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsLogsPanelSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsLogsPanel {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsLogsPanel{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsLogsPanel{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsLogsPanel, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsLogsPanel(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandDashboardColumnLayoutColumnsWidgetsLogsPanel expands an instance of DashboardColumnLayoutColumnsWidgetsLogsPanel into a JSON
-// request object.
-func expandDashboardColumnLayoutColumnsWidgetsLogsPanel(c *Client, f *DashboardColumnLayoutColumnsWidgetsLogsPanel, res *Dashboard) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- m["filter"] = v
- }
- if v := f.ResourceNames; v != nil {
- m["resourceNames"] = v
- }
-
- return m, nil
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsLogsPanel flattens an instance of DashboardColumnLayoutColumnsWidgetsLogsPanel from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsLogsPanel(c *Client, i interface{}, res *Dashboard) *DashboardColumnLayoutColumnsWidgetsLogsPanel {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &DashboardColumnLayoutColumnsWidgetsLogsPanel{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyDashboardColumnLayoutColumnsWidgetsLogsPanel
- }
- r.Filter = dcl.FlattenString(m["filter"])
- r.ResourceNames = dcl.FlattenStringSlice(m["resourceNames"])
-
- return r
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(i interface{}) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(i interface{}) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(i interface{}) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(i interface{}) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumMap flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumSlice flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(i interface{}) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumMap flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumSlice flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(i interface{}) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(i interface{}) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(i interface{}) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(i interface{}) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(i interface{}) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(i interface{}) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(i interface{}) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumMap flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumSlice flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(i interface{}) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumMap flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumSlice flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(i interface{}) *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnumMap flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnumSlice flattens the contents of DashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnum(i interface{}) *DashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartThresholdsColorEnumMap flattens the contents of DashboardGridLayoutWidgetsXyChartThresholdsColorEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartThresholdsColorEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartThresholdsColorEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartThresholdsColorEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartThresholdsColorEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartThresholdsColorEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartThresholdsColorEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartThresholdsColorEnumSlice flattens the contents of DashboardGridLayoutWidgetsXyChartThresholdsColorEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartThresholdsColorEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartThresholdsColorEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartThresholdsColorEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartThresholdsColorEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartThresholdsColorEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartThresholdsColorEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartThresholdsColorEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsXyChartThresholdsColorEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsXyChartThresholdsColorEnum(i interface{}) *DashboardGridLayoutWidgetsXyChartThresholdsColorEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsXyChartThresholdsColorEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartThresholdsDirectionEnumMap flattens the contents of DashboardGridLayoutWidgetsXyChartThresholdsDirectionEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartThresholdsDirectionEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartThresholdsDirectionEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartThresholdsDirectionEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartThresholdsDirectionEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartThresholdsDirectionEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartThresholdsDirectionEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartThresholdsDirectionEnumSlice flattens the contents of DashboardGridLayoutWidgetsXyChartThresholdsDirectionEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartThresholdsDirectionEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartThresholdsDirectionEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartThresholdsDirectionEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartThresholdsDirectionEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartThresholdsDirectionEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartThresholdsDirectionEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartThresholdsDirectionEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsXyChartThresholdsDirectionEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsXyChartThresholdsDirectionEnum(i interface{}) *DashboardGridLayoutWidgetsXyChartThresholdsDirectionEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsXyChartThresholdsDirectionEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartXAxisScaleEnumMap flattens the contents of DashboardGridLayoutWidgetsXyChartXAxisScaleEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartXAxisScaleEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartXAxisScaleEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartXAxisScaleEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartXAxisScaleEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartXAxisScaleEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartXAxisScaleEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartXAxisScaleEnumSlice flattens the contents of DashboardGridLayoutWidgetsXyChartXAxisScaleEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartXAxisScaleEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartXAxisScaleEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartXAxisScaleEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartXAxisScaleEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartXAxisScaleEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartXAxisScaleEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartXAxisScaleEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsXyChartXAxisScaleEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsXyChartXAxisScaleEnum(i interface{}) *DashboardGridLayoutWidgetsXyChartXAxisScaleEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsXyChartXAxisScaleEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartYAxisScaleEnumMap flattens the contents of DashboardGridLayoutWidgetsXyChartYAxisScaleEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartYAxisScaleEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartYAxisScaleEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartYAxisScaleEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartYAxisScaleEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartYAxisScaleEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartYAxisScaleEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartYAxisScaleEnumSlice flattens the contents of DashboardGridLayoutWidgetsXyChartYAxisScaleEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartYAxisScaleEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartYAxisScaleEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartYAxisScaleEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartYAxisScaleEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartYAxisScaleEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartYAxisScaleEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartYAxisScaleEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsXyChartYAxisScaleEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsXyChartYAxisScaleEnum(i interface{}) *DashboardGridLayoutWidgetsXyChartYAxisScaleEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsXyChartYAxisScaleEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartChartOptionsModeEnumMap flattens the contents of DashboardGridLayoutWidgetsXyChartChartOptionsModeEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartChartOptionsModeEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsXyChartChartOptionsModeEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsXyChartChartOptionsModeEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsXyChartChartOptionsModeEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsXyChartChartOptionsModeEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsXyChartChartOptionsModeEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartChartOptionsModeEnumSlice flattens the contents of DashboardGridLayoutWidgetsXyChartChartOptionsModeEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsXyChartChartOptionsModeEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsXyChartChartOptionsModeEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsXyChartChartOptionsModeEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsXyChartChartOptionsModeEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsXyChartChartOptionsModeEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsXyChartChartOptionsModeEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsXyChartChartOptionsModeEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsXyChartChartOptionsModeEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsXyChartChartOptionsModeEnum(i interface{}) *DashboardGridLayoutWidgetsXyChartChartOptionsModeEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsXyChartChartOptionsModeEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(i interface{}) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(i interface{}) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(i interface{}) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(i interface{}) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumMap flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumSlice flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(i interface{}) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumMap flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumSlice flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(i interface{}) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(i interface{}) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(i interface{}) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(i interface{}) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(i interface{}) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(i interface{}) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(i interface{}) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumMap flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumSlice flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(i interface{}) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumMap flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumSlice flattens the contents of DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(i interface{}) *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnumMap flattens the contents of DashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnumSlice flattens the contents of DashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnum(i interface{}) *DashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardThresholdsColorEnumMap flattens the contents of DashboardGridLayoutWidgetsScorecardThresholdsColorEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardThresholdsColorEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardThresholdsColorEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardThresholdsColorEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardThresholdsColorEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardThresholdsColorEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardThresholdsColorEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardThresholdsColorEnumSlice flattens the contents of DashboardGridLayoutWidgetsScorecardThresholdsColorEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardThresholdsColorEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardThresholdsColorEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardThresholdsColorEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardThresholdsColorEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardThresholdsColorEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardThresholdsColorEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardThresholdsColorEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsScorecardThresholdsColorEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsScorecardThresholdsColorEnum(i interface{}) *DashboardGridLayoutWidgetsScorecardThresholdsColorEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsScorecardThresholdsColorEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardThresholdsDirectionEnumMap flattens the contents of DashboardGridLayoutWidgetsScorecardThresholdsDirectionEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardThresholdsDirectionEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsScorecardThresholdsDirectionEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsScorecardThresholdsDirectionEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsScorecardThresholdsDirectionEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsScorecardThresholdsDirectionEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsScorecardThresholdsDirectionEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardThresholdsDirectionEnumSlice flattens the contents of DashboardGridLayoutWidgetsScorecardThresholdsDirectionEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsScorecardThresholdsDirectionEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsScorecardThresholdsDirectionEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsScorecardThresholdsDirectionEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsScorecardThresholdsDirectionEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsScorecardThresholdsDirectionEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsScorecardThresholdsDirectionEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsScorecardThresholdsDirectionEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsScorecardThresholdsDirectionEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsScorecardThresholdsDirectionEnum(i interface{}) *DashboardGridLayoutWidgetsScorecardThresholdsDirectionEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsScorecardThresholdsDirectionEnumRef(s)
-}
-
-// flattenDashboardGridLayoutWidgetsTextFormatEnumMap flattens the contents of DashboardGridLayoutWidgetsTextFormatEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsTextFormatEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardGridLayoutWidgetsTextFormatEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardGridLayoutWidgetsTextFormatEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardGridLayoutWidgetsTextFormatEnum{}
- }
-
- items := make(map[string]DashboardGridLayoutWidgetsTextFormatEnum)
- for k, item := range a {
- items[k] = *flattenDashboardGridLayoutWidgetsTextFormatEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsTextFormatEnumSlice flattens the contents of DashboardGridLayoutWidgetsTextFormatEnum from a JSON
-// response object.
-func flattenDashboardGridLayoutWidgetsTextFormatEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardGridLayoutWidgetsTextFormatEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardGridLayoutWidgetsTextFormatEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardGridLayoutWidgetsTextFormatEnum{}
- }
-
- items := make([]DashboardGridLayoutWidgetsTextFormatEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardGridLayoutWidgetsTextFormatEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardGridLayoutWidgetsTextFormatEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardGridLayoutWidgetsTextFormatEnum with the same value as that string.
-func flattenDashboardGridLayoutWidgetsTextFormatEnum(i interface{}) *DashboardGridLayoutWidgetsTextFormatEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardGridLayoutWidgetsTextFormatEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnumRef(s)
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetTextFormatEnumMap flattens the contents of DashboardMosaicLayoutTilesWidgetTextFormatEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetTextFormatEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardMosaicLayoutTilesWidgetTextFormatEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardMosaicLayoutTilesWidgetTextFormatEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardMosaicLayoutTilesWidgetTextFormatEnum{}
- }
-
- items := make(map[string]DashboardMosaicLayoutTilesWidgetTextFormatEnum)
- for k, item := range a {
- items[k] = *flattenDashboardMosaicLayoutTilesWidgetTextFormatEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetTextFormatEnumSlice flattens the contents of DashboardMosaicLayoutTilesWidgetTextFormatEnum from a JSON
-// response object.
-func flattenDashboardMosaicLayoutTilesWidgetTextFormatEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardMosaicLayoutTilesWidgetTextFormatEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardMosaicLayoutTilesWidgetTextFormatEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardMosaicLayoutTilesWidgetTextFormatEnum{}
- }
-
- items := make([]DashboardMosaicLayoutTilesWidgetTextFormatEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardMosaicLayoutTilesWidgetTextFormatEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardMosaicLayoutTilesWidgetTextFormatEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardMosaicLayoutTilesWidgetTextFormatEnum with the same value as that string.
-func flattenDashboardMosaicLayoutTilesWidgetTextFormatEnum(i interface{}) *DashboardMosaicLayoutTilesWidgetTextFormatEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardMosaicLayoutTilesWidgetTextFormatEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(i interface{}) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(i interface{}) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(i interface{}) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(i interface{}) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(i interface{}) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(i interface{}) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(i interface{}) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(i interface{}) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(i interface{}) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(i interface{}) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(i interface{}) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(i interface{}) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(i interface{}) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(i interface{}) *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnum(i interface{}) *DashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnum(i interface{}) *DashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnum(i interface{}) *DashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnum(i interface{}) *DashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnum(i interface{}) *DashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnum(i interface{}) *DashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(i interface{}) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(i interface{}) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(i interface{}) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(i interface{}) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(i interface{}) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(i interface{}) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(i interface{}) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(i interface{}) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(i interface{}) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(i interface{}) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(i interface{}) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(i interface{}) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(i interface{}) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(i interface{}) *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnum(i interface{}) *DashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnum(i interface{}) *DashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnum(i interface{}) *DashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnumRef(s)
-}
-
-// flattenDashboardRowLayoutRowsWidgetsTextFormatEnumMap flattens the contents of DashboardRowLayoutRowsWidgetsTextFormatEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsTextFormatEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardRowLayoutRowsWidgetsTextFormatEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardRowLayoutRowsWidgetsTextFormatEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardRowLayoutRowsWidgetsTextFormatEnum{}
- }
-
- items := make(map[string]DashboardRowLayoutRowsWidgetsTextFormatEnum)
- for k, item := range a {
- items[k] = *flattenDashboardRowLayoutRowsWidgetsTextFormatEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsTextFormatEnumSlice flattens the contents of DashboardRowLayoutRowsWidgetsTextFormatEnum from a JSON
-// response object.
-func flattenDashboardRowLayoutRowsWidgetsTextFormatEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardRowLayoutRowsWidgetsTextFormatEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardRowLayoutRowsWidgetsTextFormatEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardRowLayoutRowsWidgetsTextFormatEnum{}
- }
-
- items := make([]DashboardRowLayoutRowsWidgetsTextFormatEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardRowLayoutRowsWidgetsTextFormatEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardRowLayoutRowsWidgetsTextFormatEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardRowLayoutRowsWidgetsTextFormatEnum with the same value as that string.
-func flattenDashboardRowLayoutRowsWidgetsTextFormatEnum(i interface{}) *DashboardRowLayoutRowsWidgetsTextFormatEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardRowLayoutRowsWidgetsTextFormatEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnumRef(s)
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsTextFormatEnumMap flattens the contents of DashboardColumnLayoutColumnsWidgetsTextFormatEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsTextFormatEnumMap(c *Client, i interface{}, res *Dashboard) map[string]DashboardColumnLayoutColumnsWidgetsTextFormatEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]DashboardColumnLayoutColumnsWidgetsTextFormatEnum{}
- }
-
- if len(a) == 0 {
- return map[string]DashboardColumnLayoutColumnsWidgetsTextFormatEnum{}
- }
-
- items := make(map[string]DashboardColumnLayoutColumnsWidgetsTextFormatEnum)
- for k, item := range a {
- items[k] = *flattenDashboardColumnLayoutColumnsWidgetsTextFormatEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsTextFormatEnumSlice flattens the contents of DashboardColumnLayoutColumnsWidgetsTextFormatEnum from a JSON
-// response object.
-func flattenDashboardColumnLayoutColumnsWidgetsTextFormatEnumSlice(c *Client, i interface{}, res *Dashboard) []DashboardColumnLayoutColumnsWidgetsTextFormatEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []DashboardColumnLayoutColumnsWidgetsTextFormatEnum{}
- }
-
- if len(a) == 0 {
- return []DashboardColumnLayoutColumnsWidgetsTextFormatEnum{}
- }
-
- items := make([]DashboardColumnLayoutColumnsWidgetsTextFormatEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenDashboardColumnLayoutColumnsWidgetsTextFormatEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenDashboardColumnLayoutColumnsWidgetsTextFormatEnum asserts that an interface is a string, and returns a
-// pointer to a *DashboardColumnLayoutColumnsWidgetsTextFormatEnum with the same value as that string.
-func flattenDashboardColumnLayoutColumnsWidgetsTextFormatEnum(i interface{}) *DashboardColumnLayoutColumnsWidgetsTextFormatEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return DashboardColumnLayoutColumnsWidgetsTextFormatEnumRef(s)
-}
-
-// This function returns a matcher that checks whether a serialized resource matches this resource
-// in its parameters (as defined by the fields in a Get, which definitionally define resource
-// identity). This is useful in extracting the element from a List call.
-func (r *Dashboard) matcher(c *Client) func([]byte) bool {
- return func(b []byte) bool {
- cr, err := unmarshalDashboard(b, c, r)
- if err != nil {
- c.Config.Logger.Warning("failed to unmarshal provided resource in matcher.")
- return false
- }
- nr := r.urlNormalized()
- ncr := cr.urlNormalized()
- c.Config.Logger.Infof("looking for %v\nin %v", nr, ncr)
-
- if nr.Project == nil && ncr.Project == nil {
- c.Config.Logger.Info("Both Project fields null - considering equal.")
- } else if nr.Project == nil || ncr.Project == nil {
- c.Config.Logger.Info("Only one Project field is null - considering unequal.")
- return false
- } else if *nr.Project != *ncr.Project {
- return false
- }
- if nr.Name == nil && ncr.Name == nil {
- c.Config.Logger.Info("Both Name fields null - considering equal.")
- } else if nr.Name == nil || ncr.Name == nil {
- c.Config.Logger.Info("Only one Name field is null - considering unequal.")
- return false
- } else if *nr.Name != *ncr.Name {
- return false
- }
- return true
- }
-}
-
-type dashboardDiff struct {
- // The diff should include one or the other of RequiresRecreate or UpdateOp.
- RequiresRecreate bool
- UpdateOp dashboardApiOperation
- FieldName string // used for error logging
-}
-
-func convertFieldDiffsToDashboardDiffs(config *dcl.Config, fds []*dcl.FieldDiff, opts []dcl.ApplyOption) ([]dashboardDiff, error) {
- opNamesToFieldDiffs := make(map[string][]*dcl.FieldDiff)
- // Map each operation name to the field diffs associated with it.
- for _, fd := range fds {
- for _, ro := range fd.ResultingOperation {
- if fieldDiffs, ok := opNamesToFieldDiffs[ro]; ok {
- fieldDiffs = append(fieldDiffs, fd)
- opNamesToFieldDiffs[ro] = fieldDiffs
- } else {
- config.Logger.Infof("%s required due to diff: %v", ro, fd)
- opNamesToFieldDiffs[ro] = []*dcl.FieldDiff{fd}
- }
- }
- }
- var diffs []dashboardDiff
- // For each operation name, create a dashboardDiff which contains the operation.
- for opName, fieldDiffs := range opNamesToFieldDiffs {
- // Use the first field diff's field name for logging required recreate error.
- diff := dashboardDiff{FieldName: fieldDiffs[0].FieldName}
- if opName == "Recreate" {
- diff.RequiresRecreate = true
- } else {
- apiOp, err := convertOpNameToDashboardApiOperation(opName, fieldDiffs, opts...)
- if err != nil {
- return diffs, err
- }
- diff.UpdateOp = apiOp
- }
- diffs = append(diffs, diff)
- }
- return diffs, nil
-}
-
-func convertOpNameToDashboardApiOperation(opName string, fieldDiffs []*dcl.FieldDiff, opts ...dcl.ApplyOption) (dashboardApiOperation, error) {
- switch opName {
-
- case "updateDashboardUpdateDashboardOperation":
- return &updateDashboardUpdateDashboardOperation{FieldDiffs: fieldDiffs}, nil
-
- default:
- return nil, fmt.Errorf("no such operation with name: %v", opName)
- }
-}
-
-func extractDashboardFields(r *Dashboard) error {
- vGridLayout := r.GridLayout
- if vGridLayout == nil {
- // note: explicitly not the empty object.
- vGridLayout = &DashboardGridLayout{}
- }
- if err := extractDashboardGridLayoutFields(r, vGridLayout); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGridLayout) {
- r.GridLayout = vGridLayout
- }
- vMosaicLayout := r.MosaicLayout
- if vMosaicLayout == nil {
- // note: explicitly not the empty object.
- vMosaicLayout = &DashboardMosaicLayout{}
- }
- if err := extractDashboardMosaicLayoutFields(r, vMosaicLayout); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vMosaicLayout) {
- r.MosaicLayout = vMosaicLayout
- }
- vRowLayout := r.RowLayout
- if vRowLayout == nil {
- // note: explicitly not the empty object.
- vRowLayout = &DashboardRowLayout{}
- }
- if err := extractDashboardRowLayoutFields(r, vRowLayout); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vRowLayout) {
- r.RowLayout = vRowLayout
- }
- vColumnLayout := r.ColumnLayout
- if vColumnLayout == nil {
- // note: explicitly not the empty object.
- vColumnLayout = &DashboardColumnLayout{}
- }
- if err := extractDashboardColumnLayoutFields(r, vColumnLayout); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vColumnLayout) {
- r.ColumnLayout = vColumnLayout
- }
- return nil
-}
-func extractDashboardGridLayoutFields(r *Dashboard, o *DashboardGridLayout) error {
- return nil
-}
-func extractDashboardGridLayoutWidgetsFields(r *Dashboard, o *DashboardGridLayoutWidgets) error {
- vXyChart := o.XyChart
- if vXyChart == nil {
- // note: explicitly not the empty object.
- vXyChart = &DashboardGridLayoutWidgetsXyChart{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartFields(r, vXyChart); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vXyChart) {
- o.XyChart = vXyChart
- }
- vScorecard := o.Scorecard
- if vScorecard == nil {
- // note: explicitly not the empty object.
- vScorecard = &DashboardGridLayoutWidgetsScorecard{}
- }
- if err := extractDashboardGridLayoutWidgetsScorecardFields(r, vScorecard); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vScorecard) {
- o.Scorecard = vScorecard
- }
- vText := o.Text
- if vText == nil {
- // note: explicitly not the empty object.
- vText = &DashboardGridLayoutWidgetsText{}
- }
- if err := extractDashboardGridLayoutWidgetsTextFields(r, vText); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vText) {
- o.Text = vText
- }
- vBlank := o.Blank
- if vBlank == nil {
- // note: explicitly not the empty object.
- vBlank = &DashboardGridLayoutWidgetsBlank{}
- }
- if err := extractDashboardGridLayoutWidgetsBlankFields(r, vBlank); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vBlank) {
- o.Blank = vBlank
- }
- vLogsPanel := o.LogsPanel
- if vLogsPanel == nil {
- // note: explicitly not the empty object.
- vLogsPanel = &DashboardGridLayoutWidgetsLogsPanel{}
- }
- if err := extractDashboardGridLayoutWidgetsLogsPanelFields(r, vLogsPanel); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vLogsPanel) {
- o.LogsPanel = vLogsPanel
- }
- return nil
-}
-func extractDashboardGridLayoutWidgetsXyChartFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChart) error {
- vXAxis := o.XAxis
- if vXAxis == nil {
- // note: explicitly not the empty object.
- vXAxis = &DashboardGridLayoutWidgetsXyChartXAxis{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartXAxisFields(r, vXAxis); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vXAxis) {
- o.XAxis = vXAxis
- }
- vYAxis := o.YAxis
- if vYAxis == nil {
- // note: explicitly not the empty object.
- vYAxis = &DashboardGridLayoutWidgetsXyChartYAxis{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartYAxisFields(r, vYAxis); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vYAxis) {
- o.YAxis = vYAxis
- }
- vChartOptions := o.ChartOptions
- if vChartOptions == nil {
- // note: explicitly not the empty object.
- vChartOptions = &DashboardGridLayoutWidgetsXyChartChartOptions{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartChartOptionsFields(r, vChartOptions); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vChartOptions) {
- o.ChartOptions = vChartOptions
- }
- return nil
-}
-func extractDashboardGridLayoutWidgetsXyChartDataSetsFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartDataSets) error {
- vTimeSeriesQuery := o.TimeSeriesQuery
- if vTimeSeriesQuery == nil {
- // note: explicitly not the empty object.
- vTimeSeriesQuery = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryFields(r, vTimeSeriesQuery); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesQuery) {
- o.TimeSeriesQuery = vTimeSeriesQuery
- }
- return nil
-}
-func extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery) error {
- vTimeSeriesFilter := o.TimeSeriesFilter
- if vTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilter = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterFields(r, vTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilter) {
- o.TimeSeriesFilter = vTimeSeriesFilter
- }
- vTimeSeriesFilterRatio := o.TimeSeriesFilterRatio
- if vTimeSeriesFilterRatio == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilterRatio = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioFields(r, vTimeSeriesFilterRatio); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilterRatio) {
- o.TimeSeriesFilterRatio = vTimeSeriesFilterRatio
- }
- return nil
-}
-func extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) error {
- return nil
-}
-func extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) error {
- return nil
-}
-func extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) error {
- return nil
-}
-func extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) error {
- vNumerator := o.Numerator
- if vNumerator == nil {
- // note: explicitly not the empty object.
- vNumerator = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r, vNumerator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vNumerator) {
- o.Numerator = vNumerator
- }
- vDenominator := o.Denominator
- if vDenominator == nil {
- // note: explicitly not the empty object.
- vDenominator = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r, vDenominator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vDenominator) {
- o.Denominator = vDenominator
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) error {
- return nil
-}
-func extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) error {
- return nil
-}
-func extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) error {
- return nil
-}
-func extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) error {
- return nil
-}
-func extractDashboardGridLayoutWidgetsXyChartThresholdsFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartThresholds) error {
- return nil
-}
-func extractDashboardGridLayoutWidgetsXyChartXAxisFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartXAxis) error {
- return nil
-}
-func extractDashboardGridLayoutWidgetsXyChartYAxisFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartYAxis) error {
- return nil
-}
-func extractDashboardGridLayoutWidgetsXyChartChartOptionsFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartChartOptions) error {
- return nil
-}
-func extractDashboardGridLayoutWidgetsScorecardFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecard) error {
- vTimeSeriesQuery := o.TimeSeriesQuery
- if vTimeSeriesQuery == nil {
- // note: explicitly not the empty object.
- vTimeSeriesQuery = &DashboardGridLayoutWidgetsScorecardTimeSeriesQuery{}
- }
- if err := extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryFields(r, vTimeSeriesQuery); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesQuery) {
- o.TimeSeriesQuery = vTimeSeriesQuery
- }
- vGaugeView := o.GaugeView
- if vGaugeView == nil {
- // note: explicitly not the empty object.
- vGaugeView = &DashboardGridLayoutWidgetsScorecardGaugeView{}
- }
- if err := extractDashboardGridLayoutWidgetsScorecardGaugeViewFields(r, vGaugeView); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGaugeView) {
- o.GaugeView = vGaugeView
- }
- vSparkChartView := o.SparkChartView
- if vSparkChartView == nil {
- // note: explicitly not the empty object.
- vSparkChartView = &DashboardGridLayoutWidgetsScorecardSparkChartView{}
- }
- if err := extractDashboardGridLayoutWidgetsScorecardSparkChartViewFields(r, vSparkChartView); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSparkChartView) {
- o.SparkChartView = vSparkChartView
- }
- return nil
-}
-func extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecardTimeSeriesQuery) error {
- vTimeSeriesFilter := o.TimeSeriesFilter
- if vTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilter = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter{}
- }
- if err := extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterFields(r, vTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilter) {
- o.TimeSeriesFilter = vTimeSeriesFilter
- }
- vTimeSeriesFilterRatio := o.TimeSeriesFilterRatio
- if vTimeSeriesFilterRatio == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilterRatio = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
- }
- if err := extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioFields(r, vTimeSeriesFilterRatio); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilterRatio) {
- o.TimeSeriesFilterRatio = vTimeSeriesFilterRatio
- }
- return nil
-}
-func extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
- if err := extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
- if err := extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
- if err := extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation) error {
- return nil
-}
-func extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) error {
- return nil
-}
-func extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) error {
- return nil
-}
-func extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio) error {
- vNumerator := o.Numerator
- if vNumerator == nil {
- // note: explicitly not the empty object.
- vNumerator = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
- if err := extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r, vNumerator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vNumerator) {
- o.Numerator = vNumerator
- }
- vDenominator := o.Denominator
- if vDenominator == nil {
- // note: explicitly not the empty object.
- vDenominator = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
- if err := extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r, vDenominator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vDenominator) {
- o.Denominator = vDenominator
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
- if err := extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
- if err := extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
- if err := extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) error {
- return nil
-}
-func extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
- if err := extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) error {
- return nil
-}
-func extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) error {
- return nil
-}
-func extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) error {
- return nil
-}
-func extractDashboardGridLayoutWidgetsScorecardGaugeViewFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecardGaugeView) error {
- return nil
-}
-func extractDashboardGridLayoutWidgetsScorecardSparkChartViewFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecardSparkChartView) error {
- return nil
-}
-func extractDashboardGridLayoutWidgetsScorecardThresholdsFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecardThresholds) error {
- return nil
-}
-func extractDashboardGridLayoutWidgetsTextFields(r *Dashboard, o *DashboardGridLayoutWidgetsText) error {
- return nil
-}
-func extractDashboardGridLayoutWidgetsBlankFields(r *Dashboard, o *DashboardGridLayoutWidgetsBlank) error {
- return nil
-}
-func extractDashboardGridLayoutWidgetsLogsPanelFields(r *Dashboard, o *DashboardGridLayoutWidgetsLogsPanel) error {
- return nil
-}
-func extractDashboardMosaicLayoutFields(r *Dashboard, o *DashboardMosaicLayout) error {
- return nil
-}
-func extractDashboardMosaicLayoutTilesFields(r *Dashboard, o *DashboardMosaicLayoutTiles) error {
- vWidget := o.Widget
- if vWidget == nil {
- // note: explicitly not the empty object.
- vWidget = &DashboardMosaicLayoutTilesWidget{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetFields(r, vWidget); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vWidget) {
- o.Widget = vWidget
- }
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidget) error {
- vXyChart := o.XyChart
- if vXyChart == nil {
- // note: explicitly not the empty object.
- vXyChart = &DashboardMosaicLayoutTilesWidgetXyChart{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartFields(r, vXyChart); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vXyChart) {
- o.XyChart = vXyChart
- }
- vScorecard := o.Scorecard
- if vScorecard == nil {
- // note: explicitly not the empty object.
- vScorecard = &DashboardMosaicLayoutTilesWidgetScorecard{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetScorecardFields(r, vScorecard); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vScorecard) {
- o.Scorecard = vScorecard
- }
- vText := o.Text
- if vText == nil {
- // note: explicitly not the empty object.
- vText = &DashboardMosaicLayoutTilesWidgetText{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetTextFields(r, vText); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vText) {
- o.Text = vText
- }
- vBlank := o.Blank
- if vBlank == nil {
- // note: explicitly not the empty object.
- vBlank = &DashboardMosaicLayoutTilesWidgetBlank{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetBlankFields(r, vBlank); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vBlank) {
- o.Blank = vBlank
- }
- vLogsPanel := o.LogsPanel
- if vLogsPanel == nil {
- // note: explicitly not the empty object.
- vLogsPanel = &DashboardMosaicLayoutTilesWidgetLogsPanel{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetLogsPanelFields(r, vLogsPanel); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vLogsPanel) {
- o.LogsPanel = vLogsPanel
- }
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetXyChartFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChart) error {
- vXAxis := o.XAxis
- if vXAxis == nil {
- // note: explicitly not the empty object.
- vXAxis = &DashboardMosaicLayoutTilesWidgetXyChartXAxis{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartXAxisFields(r, vXAxis); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vXAxis) {
- o.XAxis = vXAxis
- }
- vYAxis := o.YAxis
- if vYAxis == nil {
- // note: explicitly not the empty object.
- vYAxis = &DashboardMosaicLayoutTilesWidgetXyChartYAxis{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartYAxisFields(r, vYAxis); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vYAxis) {
- o.YAxis = vYAxis
- }
- vChartOptions := o.ChartOptions
- if vChartOptions == nil {
- // note: explicitly not the empty object.
- vChartOptions = &DashboardMosaicLayoutTilesWidgetXyChartChartOptions{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartChartOptionsFields(r, vChartOptions); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vChartOptions) {
- o.ChartOptions = vChartOptions
- }
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartDataSets) error {
- vTimeSeriesQuery := o.TimeSeriesQuery
- if vTimeSeriesQuery == nil {
- // note: explicitly not the empty object.
- vTimeSeriesQuery = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryFields(r, vTimeSeriesQuery); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesQuery) {
- o.TimeSeriesQuery = vTimeSeriesQuery
- }
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery) error {
- vTimeSeriesFilter := o.TimeSeriesFilter
- if vTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilter = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterFields(r, vTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilter) {
- o.TimeSeriesFilter = vTimeSeriesFilter
- }
- vTimeSeriesFilterRatio := o.TimeSeriesFilterRatio
- if vTimeSeriesFilterRatio == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilterRatio = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioFields(r, vTimeSeriesFilterRatio); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilterRatio) {
- o.TimeSeriesFilterRatio = vTimeSeriesFilterRatio
- }
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) error {
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) error {
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) error {
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) error {
- vNumerator := o.Numerator
- if vNumerator == nil {
- // note: explicitly not the empty object.
- vNumerator = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r, vNumerator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vNumerator) {
- o.Numerator = vNumerator
- }
- vDenominator := o.Denominator
- if vDenominator == nil {
- // note: explicitly not the empty object.
- vDenominator = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r, vDenominator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vDenominator) {
- o.Denominator = vDenominator
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) error {
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) error {
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) error {
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) error {
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetXyChartThresholdsFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartThresholds) error {
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetXyChartXAxisFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartXAxis) error {
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetXyChartYAxisFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartYAxis) error {
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetXyChartChartOptionsFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartChartOptions) error {
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetScorecardFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecard) error {
- vTimeSeriesQuery := o.TimeSeriesQuery
- if vTimeSeriesQuery == nil {
- // note: explicitly not the empty object.
- vTimeSeriesQuery = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryFields(r, vTimeSeriesQuery); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesQuery) {
- o.TimeSeriesQuery = vTimeSeriesQuery
- }
- vGaugeView := o.GaugeView
- if vGaugeView == nil {
- // note: explicitly not the empty object.
- vGaugeView = &DashboardMosaicLayoutTilesWidgetScorecardGaugeView{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetScorecardGaugeViewFields(r, vGaugeView); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGaugeView) {
- o.GaugeView = vGaugeView
- }
- vSparkChartView := o.SparkChartView
- if vSparkChartView == nil {
- // note: explicitly not the empty object.
- vSparkChartView = &DashboardMosaicLayoutTilesWidgetScorecardSparkChartView{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetScorecardSparkChartViewFields(r, vSparkChartView); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSparkChartView) {
- o.SparkChartView = vSparkChartView
- }
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery) error {
- vTimeSeriesFilter := o.TimeSeriesFilter
- if vTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilter = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterFields(r, vTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilter) {
- o.TimeSeriesFilter = vTimeSeriesFilter
- }
- vTimeSeriesFilterRatio := o.TimeSeriesFilterRatio
- if vTimeSeriesFilterRatio == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilterRatio = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioFields(r, vTimeSeriesFilterRatio); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilterRatio) {
- o.TimeSeriesFilterRatio = vTimeSeriesFilterRatio
- }
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation) error {
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) error {
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) error {
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio) error {
- vNumerator := o.Numerator
- if vNumerator == nil {
- // note: explicitly not the empty object.
- vNumerator = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r, vNumerator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vNumerator) {
- o.Numerator = vNumerator
- }
- vDenominator := o.Denominator
- if vDenominator == nil {
- // note: explicitly not the empty object.
- vDenominator = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r, vDenominator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vDenominator) {
- o.Denominator = vDenominator
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) error {
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) error {
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) error {
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) error {
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetScorecardGaugeViewFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecardGaugeView) error {
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetScorecardSparkChartViewFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecardSparkChartView) error {
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetScorecardThresholdsFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecardThresholds) error {
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetTextFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetText) error {
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetBlankFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetBlank) error {
- return nil
-}
-func extractDashboardMosaicLayoutTilesWidgetLogsPanelFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetLogsPanel) error {
- return nil
-}
-func extractDashboardRowLayoutFields(r *Dashboard, o *DashboardRowLayout) error {
- return nil
-}
-func extractDashboardRowLayoutRowsFields(r *Dashboard, o *DashboardRowLayoutRows) error {
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsFields(r *Dashboard, o *DashboardRowLayoutRowsWidgets) error {
- vXyChart := o.XyChart
- if vXyChart == nil {
- // note: explicitly not the empty object.
- vXyChart = &DashboardRowLayoutRowsWidgetsXyChart{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartFields(r, vXyChart); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vXyChart) {
- o.XyChart = vXyChart
- }
- vScorecard := o.Scorecard
- if vScorecard == nil {
- // note: explicitly not the empty object.
- vScorecard = &DashboardRowLayoutRowsWidgetsScorecard{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsScorecardFields(r, vScorecard); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vScorecard) {
- o.Scorecard = vScorecard
- }
- vText := o.Text
- if vText == nil {
- // note: explicitly not the empty object.
- vText = &DashboardRowLayoutRowsWidgetsText{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsTextFields(r, vText); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vText) {
- o.Text = vText
- }
- vBlank := o.Blank
- if vBlank == nil {
- // note: explicitly not the empty object.
- vBlank = &DashboardRowLayoutRowsWidgetsBlank{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsBlankFields(r, vBlank); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vBlank) {
- o.Blank = vBlank
- }
- vLogsPanel := o.LogsPanel
- if vLogsPanel == nil {
- // note: explicitly not the empty object.
- vLogsPanel = &DashboardRowLayoutRowsWidgetsLogsPanel{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsLogsPanelFields(r, vLogsPanel); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vLogsPanel) {
- o.LogsPanel = vLogsPanel
- }
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsXyChartFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChart) error {
- vXAxis := o.XAxis
- if vXAxis == nil {
- // note: explicitly not the empty object.
- vXAxis = &DashboardRowLayoutRowsWidgetsXyChartXAxis{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartXAxisFields(r, vXAxis); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vXAxis) {
- o.XAxis = vXAxis
- }
- vYAxis := o.YAxis
- if vYAxis == nil {
- // note: explicitly not the empty object.
- vYAxis = &DashboardRowLayoutRowsWidgetsXyChartYAxis{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartYAxisFields(r, vYAxis); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vYAxis) {
- o.YAxis = vYAxis
- }
- vChartOptions := o.ChartOptions
- if vChartOptions == nil {
- // note: explicitly not the empty object.
- vChartOptions = &DashboardRowLayoutRowsWidgetsXyChartChartOptions{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartChartOptionsFields(r, vChartOptions); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vChartOptions) {
- o.ChartOptions = vChartOptions
- }
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsXyChartDataSetsFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartDataSets) error {
- vTimeSeriesQuery := o.TimeSeriesQuery
- if vTimeSeriesQuery == nil {
- // note: explicitly not the empty object.
- vTimeSeriesQuery = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryFields(r, vTimeSeriesQuery); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesQuery) {
- o.TimeSeriesQuery = vTimeSeriesQuery
- }
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery) error {
- vTimeSeriesFilter := o.TimeSeriesFilter
- if vTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilter = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterFields(r, vTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilter) {
- o.TimeSeriesFilter = vTimeSeriesFilter
- }
- vTimeSeriesFilterRatio := o.TimeSeriesFilterRatio
- if vTimeSeriesFilterRatio == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilterRatio = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioFields(r, vTimeSeriesFilterRatio); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilterRatio) {
- o.TimeSeriesFilterRatio = vTimeSeriesFilterRatio
- }
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) error {
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) error {
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) error {
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) error {
- vNumerator := o.Numerator
- if vNumerator == nil {
- // note: explicitly not the empty object.
- vNumerator = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r, vNumerator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vNumerator) {
- o.Numerator = vNumerator
- }
- vDenominator := o.Denominator
- if vDenominator == nil {
- // note: explicitly not the empty object.
- vDenominator = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r, vDenominator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vDenominator) {
- o.Denominator = vDenominator
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) error {
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) error {
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) error {
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) error {
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsXyChartThresholdsFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartThresholds) error {
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsXyChartXAxisFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartXAxis) error {
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsXyChartYAxisFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartYAxis) error {
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsXyChartChartOptionsFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartChartOptions) error {
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsScorecardFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecard) error {
- vTimeSeriesQuery := o.TimeSeriesQuery
- if vTimeSeriesQuery == nil {
- // note: explicitly not the empty object.
- vTimeSeriesQuery = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryFields(r, vTimeSeriesQuery); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesQuery) {
- o.TimeSeriesQuery = vTimeSeriesQuery
- }
- vGaugeView := o.GaugeView
- if vGaugeView == nil {
- // note: explicitly not the empty object.
- vGaugeView = &DashboardRowLayoutRowsWidgetsScorecardGaugeView{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsScorecardGaugeViewFields(r, vGaugeView); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGaugeView) {
- o.GaugeView = vGaugeView
- }
- vSparkChartView := o.SparkChartView
- if vSparkChartView == nil {
- // note: explicitly not the empty object.
- vSparkChartView = &DashboardRowLayoutRowsWidgetsScorecardSparkChartView{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsScorecardSparkChartViewFields(r, vSparkChartView); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSparkChartView) {
- o.SparkChartView = vSparkChartView
- }
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery) error {
- vTimeSeriesFilter := o.TimeSeriesFilter
- if vTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilter = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterFields(r, vTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilter) {
- o.TimeSeriesFilter = vTimeSeriesFilter
- }
- vTimeSeriesFilterRatio := o.TimeSeriesFilterRatio
- if vTimeSeriesFilterRatio == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilterRatio = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioFields(r, vTimeSeriesFilterRatio); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilterRatio) {
- o.TimeSeriesFilterRatio = vTimeSeriesFilterRatio
- }
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation) error {
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) error {
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) error {
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio) error {
- vNumerator := o.Numerator
- if vNumerator == nil {
- // note: explicitly not the empty object.
- vNumerator = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r, vNumerator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vNumerator) {
- o.Numerator = vNumerator
- }
- vDenominator := o.Denominator
- if vDenominator == nil {
- // note: explicitly not the empty object.
- vDenominator = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r, vDenominator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vDenominator) {
- o.Denominator = vDenominator
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) error {
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) error {
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) error {
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) error {
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsScorecardGaugeViewFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecardGaugeView) error {
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsScorecardSparkChartViewFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecardSparkChartView) error {
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsScorecardThresholdsFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecardThresholds) error {
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsTextFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsText) error {
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsBlankFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsBlank) error {
- return nil
-}
-func extractDashboardRowLayoutRowsWidgetsLogsPanelFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsLogsPanel) error {
- return nil
-}
-func extractDashboardColumnLayoutFields(r *Dashboard, o *DashboardColumnLayout) error {
- return nil
-}
-func extractDashboardColumnLayoutColumnsFields(r *Dashboard, o *DashboardColumnLayoutColumns) error {
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgets) error {
- vXyChart := o.XyChart
- if vXyChart == nil {
- // note: explicitly not the empty object.
- vXyChart = &DashboardColumnLayoutColumnsWidgetsXyChart{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartFields(r, vXyChart); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vXyChart) {
- o.XyChart = vXyChart
- }
- vScorecard := o.Scorecard
- if vScorecard == nil {
- // note: explicitly not the empty object.
- vScorecard = &DashboardColumnLayoutColumnsWidgetsScorecard{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsScorecardFields(r, vScorecard); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vScorecard) {
- o.Scorecard = vScorecard
- }
- vText := o.Text
- if vText == nil {
- // note: explicitly not the empty object.
- vText = &DashboardColumnLayoutColumnsWidgetsText{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsTextFields(r, vText); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vText) {
- o.Text = vText
- }
- vBlank := o.Blank
- if vBlank == nil {
- // note: explicitly not the empty object.
- vBlank = &DashboardColumnLayoutColumnsWidgetsBlank{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsBlankFields(r, vBlank); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vBlank) {
- o.Blank = vBlank
- }
- vLogsPanel := o.LogsPanel
- if vLogsPanel == nil {
- // note: explicitly not the empty object.
- vLogsPanel = &DashboardColumnLayoutColumnsWidgetsLogsPanel{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsLogsPanelFields(r, vLogsPanel); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vLogsPanel) {
- o.LogsPanel = vLogsPanel
- }
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsXyChartFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChart) error {
- vXAxis := o.XAxis
- if vXAxis == nil {
- // note: explicitly not the empty object.
- vXAxis = &DashboardColumnLayoutColumnsWidgetsXyChartXAxis{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartXAxisFields(r, vXAxis); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vXAxis) {
- o.XAxis = vXAxis
- }
- vYAxis := o.YAxis
- if vYAxis == nil {
- // note: explicitly not the empty object.
- vYAxis = &DashboardColumnLayoutColumnsWidgetsXyChartYAxis{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartYAxisFields(r, vYAxis); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vYAxis) {
- o.YAxis = vYAxis
- }
- vChartOptions := o.ChartOptions
- if vChartOptions == nil {
- // note: explicitly not the empty object.
- vChartOptions = &DashboardColumnLayoutColumnsWidgetsXyChartChartOptions{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartChartOptionsFields(r, vChartOptions); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vChartOptions) {
- o.ChartOptions = vChartOptions
- }
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartDataSets) error {
- vTimeSeriesQuery := o.TimeSeriesQuery
- if vTimeSeriesQuery == nil {
- // note: explicitly not the empty object.
- vTimeSeriesQuery = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryFields(r, vTimeSeriesQuery); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesQuery) {
- o.TimeSeriesQuery = vTimeSeriesQuery
- }
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery) error {
- vTimeSeriesFilter := o.TimeSeriesFilter
- if vTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilter = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterFields(r, vTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilter) {
- o.TimeSeriesFilter = vTimeSeriesFilter
- }
- vTimeSeriesFilterRatio := o.TimeSeriesFilterRatio
- if vTimeSeriesFilterRatio == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilterRatio = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioFields(r, vTimeSeriesFilterRatio); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilterRatio) {
- o.TimeSeriesFilterRatio = vTimeSeriesFilterRatio
- }
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) error {
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) error {
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) error {
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) error {
- vNumerator := o.Numerator
- if vNumerator == nil {
- // note: explicitly not the empty object.
- vNumerator = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r, vNumerator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vNumerator) {
- o.Numerator = vNumerator
- }
- vDenominator := o.Denominator
- if vDenominator == nil {
- // note: explicitly not the empty object.
- vDenominator = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r, vDenominator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vDenominator) {
- o.Denominator = vDenominator
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) error {
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) error {
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) error {
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) error {
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsXyChartThresholdsFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartThresholds) error {
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsXyChartXAxisFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartXAxis) error {
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsXyChartYAxisFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartYAxis) error {
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsXyChartChartOptionsFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartChartOptions) error {
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsScorecardFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecard) error {
- vTimeSeriesQuery := o.TimeSeriesQuery
- if vTimeSeriesQuery == nil {
- // note: explicitly not the empty object.
- vTimeSeriesQuery = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryFields(r, vTimeSeriesQuery); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesQuery) {
- o.TimeSeriesQuery = vTimeSeriesQuery
- }
- vGaugeView := o.GaugeView
- if vGaugeView == nil {
- // note: explicitly not the empty object.
- vGaugeView = &DashboardColumnLayoutColumnsWidgetsScorecardGaugeView{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsScorecardGaugeViewFields(r, vGaugeView); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGaugeView) {
- o.GaugeView = vGaugeView
- }
- vSparkChartView := o.SparkChartView
- if vSparkChartView == nil {
- // note: explicitly not the empty object.
- vSparkChartView = &DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewFields(r, vSparkChartView); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSparkChartView) {
- o.SparkChartView = vSparkChartView
- }
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery) error {
- vTimeSeriesFilter := o.TimeSeriesFilter
- if vTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilter = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterFields(r, vTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilter) {
- o.TimeSeriesFilter = vTimeSeriesFilter
- }
- vTimeSeriesFilterRatio := o.TimeSeriesFilterRatio
- if vTimeSeriesFilterRatio == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilterRatio = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioFields(r, vTimeSeriesFilterRatio); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilterRatio) {
- o.TimeSeriesFilterRatio = vTimeSeriesFilterRatio
- }
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation) error {
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) error {
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) error {
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio) error {
- vNumerator := o.Numerator
- if vNumerator == nil {
- // note: explicitly not the empty object.
- vNumerator = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r, vNumerator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vNumerator) {
- o.Numerator = vNumerator
- }
- vDenominator := o.Denominator
- if vDenominator == nil {
- // note: explicitly not the empty object.
- vDenominator = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r, vDenominator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vDenominator) {
- o.Denominator = vDenominator
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) error {
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) error {
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) error {
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) error {
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsScorecardGaugeViewFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecardGaugeView) error {
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView) error {
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsScorecardThresholdsFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecardThresholds) error {
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsTextFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsText) error {
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsBlankFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsBlank) error {
- return nil
-}
-func extractDashboardColumnLayoutColumnsWidgetsLogsPanelFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsLogsPanel) error {
- return nil
-}
-
-func postReadExtractDashboardFields(r *Dashboard) error {
- vGridLayout := r.GridLayout
- if vGridLayout == nil {
- // note: explicitly not the empty object.
- vGridLayout = &DashboardGridLayout{}
- }
- if err := postReadExtractDashboardGridLayoutFields(r, vGridLayout); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGridLayout) {
- r.GridLayout = vGridLayout
- }
- vMosaicLayout := r.MosaicLayout
- if vMosaicLayout == nil {
- // note: explicitly not the empty object.
- vMosaicLayout = &DashboardMosaicLayout{}
- }
- if err := postReadExtractDashboardMosaicLayoutFields(r, vMosaicLayout); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vMosaicLayout) {
- r.MosaicLayout = vMosaicLayout
- }
- vRowLayout := r.RowLayout
- if vRowLayout == nil {
- // note: explicitly not the empty object.
- vRowLayout = &DashboardRowLayout{}
- }
- if err := postReadExtractDashboardRowLayoutFields(r, vRowLayout); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vRowLayout) {
- r.RowLayout = vRowLayout
- }
- vColumnLayout := r.ColumnLayout
- if vColumnLayout == nil {
- // note: explicitly not the empty object.
- vColumnLayout = &DashboardColumnLayout{}
- }
- if err := postReadExtractDashboardColumnLayoutFields(r, vColumnLayout); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vColumnLayout) {
- r.ColumnLayout = vColumnLayout
- }
- return nil
-}
-func postReadExtractDashboardGridLayoutFields(r *Dashboard, o *DashboardGridLayout) error {
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsFields(r *Dashboard, o *DashboardGridLayoutWidgets) error {
- vXyChart := o.XyChart
- if vXyChart == nil {
- // note: explicitly not the empty object.
- vXyChart = &DashboardGridLayoutWidgetsXyChart{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartFields(r, vXyChart); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vXyChart) {
- o.XyChart = vXyChart
- }
- vScorecard := o.Scorecard
- if vScorecard == nil {
- // note: explicitly not the empty object.
- vScorecard = &DashboardGridLayoutWidgetsScorecard{}
- }
- if err := extractDashboardGridLayoutWidgetsScorecardFields(r, vScorecard); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vScorecard) {
- o.Scorecard = vScorecard
- }
- vText := o.Text
- if vText == nil {
- // note: explicitly not the empty object.
- vText = &DashboardGridLayoutWidgetsText{}
- }
- if err := extractDashboardGridLayoutWidgetsTextFields(r, vText); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vText) {
- o.Text = vText
- }
- vBlank := o.Blank
- if vBlank == nil {
- // note: explicitly not the empty object.
- vBlank = &DashboardGridLayoutWidgetsBlank{}
- }
- if err := extractDashboardGridLayoutWidgetsBlankFields(r, vBlank); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vBlank) {
- o.Blank = vBlank
- }
- vLogsPanel := o.LogsPanel
- if vLogsPanel == nil {
- // note: explicitly not the empty object.
- vLogsPanel = &DashboardGridLayoutWidgetsLogsPanel{}
- }
- if err := extractDashboardGridLayoutWidgetsLogsPanelFields(r, vLogsPanel); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vLogsPanel) {
- o.LogsPanel = vLogsPanel
- }
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsXyChartFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChart) error {
- vXAxis := o.XAxis
- if vXAxis == nil {
- // note: explicitly not the empty object.
- vXAxis = &DashboardGridLayoutWidgetsXyChartXAxis{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartXAxisFields(r, vXAxis); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vXAxis) {
- o.XAxis = vXAxis
- }
- vYAxis := o.YAxis
- if vYAxis == nil {
- // note: explicitly not the empty object.
- vYAxis = &DashboardGridLayoutWidgetsXyChartYAxis{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartYAxisFields(r, vYAxis); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vYAxis) {
- o.YAxis = vYAxis
- }
- vChartOptions := o.ChartOptions
- if vChartOptions == nil {
- // note: explicitly not the empty object.
- vChartOptions = &DashboardGridLayoutWidgetsXyChartChartOptions{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartChartOptionsFields(r, vChartOptions); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vChartOptions) {
- o.ChartOptions = vChartOptions
- }
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsXyChartDataSetsFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartDataSets) error {
- vTimeSeriesQuery := o.TimeSeriesQuery
- if vTimeSeriesQuery == nil {
- // note: explicitly not the empty object.
- vTimeSeriesQuery = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryFields(r, vTimeSeriesQuery); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesQuery) {
- o.TimeSeriesQuery = vTimeSeriesQuery
- }
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery) error {
- vTimeSeriesFilter := o.TimeSeriesFilter
- if vTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilter = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterFields(r, vTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilter) {
- o.TimeSeriesFilter = vTimeSeriesFilter
- }
- vTimeSeriesFilterRatio := o.TimeSeriesFilterRatio
- if vTimeSeriesFilterRatio == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilterRatio = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioFields(r, vTimeSeriesFilterRatio); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilterRatio) {
- o.TimeSeriesFilterRatio = vTimeSeriesFilterRatio
- }
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) error {
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) error {
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) error {
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) error {
- vNumerator := o.Numerator
- if vNumerator == nil {
- // note: explicitly not the empty object.
- vNumerator = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r, vNumerator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vNumerator) {
- o.Numerator = vNumerator
- }
- vDenominator := o.Denominator
- if vDenominator == nil {
- // note: explicitly not the empty object.
- vDenominator = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r, vDenominator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vDenominator) {
- o.Denominator = vDenominator
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) error {
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
- if err := extractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) error {
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) error {
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) error {
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsXyChartThresholdsFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartThresholds) error {
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsXyChartXAxisFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartXAxis) error {
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsXyChartYAxisFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartYAxis) error {
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsXyChartChartOptionsFields(r *Dashboard, o *DashboardGridLayoutWidgetsXyChartChartOptions) error {
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsScorecardFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecard) error {
- vTimeSeriesQuery := o.TimeSeriesQuery
- if vTimeSeriesQuery == nil {
- // note: explicitly not the empty object.
- vTimeSeriesQuery = &DashboardGridLayoutWidgetsScorecardTimeSeriesQuery{}
- }
- if err := extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryFields(r, vTimeSeriesQuery); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesQuery) {
- o.TimeSeriesQuery = vTimeSeriesQuery
- }
- vGaugeView := o.GaugeView
- if vGaugeView == nil {
- // note: explicitly not the empty object.
- vGaugeView = &DashboardGridLayoutWidgetsScorecardGaugeView{}
- }
- if err := extractDashboardGridLayoutWidgetsScorecardGaugeViewFields(r, vGaugeView); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGaugeView) {
- o.GaugeView = vGaugeView
- }
- vSparkChartView := o.SparkChartView
- if vSparkChartView == nil {
- // note: explicitly not the empty object.
- vSparkChartView = &DashboardGridLayoutWidgetsScorecardSparkChartView{}
- }
- if err := extractDashboardGridLayoutWidgetsScorecardSparkChartViewFields(r, vSparkChartView); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSparkChartView) {
- o.SparkChartView = vSparkChartView
- }
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecardTimeSeriesQuery) error {
- vTimeSeriesFilter := o.TimeSeriesFilter
- if vTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilter = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter{}
- }
- if err := extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterFields(r, vTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilter) {
- o.TimeSeriesFilter = vTimeSeriesFilter
- }
- vTimeSeriesFilterRatio := o.TimeSeriesFilterRatio
- if vTimeSeriesFilterRatio == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilterRatio = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
- }
- if err := extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioFields(r, vTimeSeriesFilterRatio); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilterRatio) {
- o.TimeSeriesFilterRatio = vTimeSeriesFilterRatio
- }
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
- if err := extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
- if err := extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
- if err := extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation) error {
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) error {
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) error {
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio) error {
- vNumerator := o.Numerator
- if vNumerator == nil {
- // note: explicitly not the empty object.
- vNumerator = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
- if err := extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r, vNumerator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vNumerator) {
- o.Numerator = vNumerator
- }
- vDenominator := o.Denominator
- if vDenominator == nil {
- // note: explicitly not the empty object.
- vDenominator = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
- if err := extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r, vDenominator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vDenominator) {
- o.Denominator = vDenominator
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
- if err := extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
- if err := extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
- if err := extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) error {
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
- if err := extractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) error {
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) error {
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) error {
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsScorecardGaugeViewFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecardGaugeView) error {
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsScorecardSparkChartViewFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecardSparkChartView) error {
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsScorecardThresholdsFields(r *Dashboard, o *DashboardGridLayoutWidgetsScorecardThresholds) error {
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsTextFields(r *Dashboard, o *DashboardGridLayoutWidgetsText) error {
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsBlankFields(r *Dashboard, o *DashboardGridLayoutWidgetsBlank) error {
- return nil
-}
-func postReadExtractDashboardGridLayoutWidgetsLogsPanelFields(r *Dashboard, o *DashboardGridLayoutWidgetsLogsPanel) error {
- return nil
-}
-func postReadExtractDashboardMosaicLayoutFields(r *Dashboard, o *DashboardMosaicLayout) error {
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesFields(r *Dashboard, o *DashboardMosaicLayoutTiles) error {
- vWidget := o.Widget
- if vWidget == nil {
- // note: explicitly not the empty object.
- vWidget = &DashboardMosaicLayoutTilesWidget{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetFields(r, vWidget); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vWidget) {
- o.Widget = vWidget
- }
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidget) error {
- vXyChart := o.XyChart
- if vXyChart == nil {
- // note: explicitly not the empty object.
- vXyChart = &DashboardMosaicLayoutTilesWidgetXyChart{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartFields(r, vXyChart); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vXyChart) {
- o.XyChart = vXyChart
- }
- vScorecard := o.Scorecard
- if vScorecard == nil {
- // note: explicitly not the empty object.
- vScorecard = &DashboardMosaicLayoutTilesWidgetScorecard{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetScorecardFields(r, vScorecard); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vScorecard) {
- o.Scorecard = vScorecard
- }
- vText := o.Text
- if vText == nil {
- // note: explicitly not the empty object.
- vText = &DashboardMosaicLayoutTilesWidgetText{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetTextFields(r, vText); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vText) {
- o.Text = vText
- }
- vBlank := o.Blank
- if vBlank == nil {
- // note: explicitly not the empty object.
- vBlank = &DashboardMosaicLayoutTilesWidgetBlank{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetBlankFields(r, vBlank); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vBlank) {
- o.Blank = vBlank
- }
- vLogsPanel := o.LogsPanel
- if vLogsPanel == nil {
- // note: explicitly not the empty object.
- vLogsPanel = &DashboardMosaicLayoutTilesWidgetLogsPanel{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetLogsPanelFields(r, vLogsPanel); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vLogsPanel) {
- o.LogsPanel = vLogsPanel
- }
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetXyChartFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChart) error {
- vXAxis := o.XAxis
- if vXAxis == nil {
- // note: explicitly not the empty object.
- vXAxis = &DashboardMosaicLayoutTilesWidgetXyChartXAxis{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartXAxisFields(r, vXAxis); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vXAxis) {
- o.XAxis = vXAxis
- }
- vYAxis := o.YAxis
- if vYAxis == nil {
- // note: explicitly not the empty object.
- vYAxis = &DashboardMosaicLayoutTilesWidgetXyChartYAxis{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartYAxisFields(r, vYAxis); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vYAxis) {
- o.YAxis = vYAxis
- }
- vChartOptions := o.ChartOptions
- if vChartOptions == nil {
- // note: explicitly not the empty object.
- vChartOptions = &DashboardMosaicLayoutTilesWidgetXyChartChartOptions{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartChartOptionsFields(r, vChartOptions); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vChartOptions) {
- o.ChartOptions = vChartOptions
- }
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetXyChartDataSetsFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartDataSets) error {
- vTimeSeriesQuery := o.TimeSeriesQuery
- if vTimeSeriesQuery == nil {
- // note: explicitly not the empty object.
- vTimeSeriesQuery = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryFields(r, vTimeSeriesQuery); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesQuery) {
- o.TimeSeriesQuery = vTimeSeriesQuery
- }
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery) error {
- vTimeSeriesFilter := o.TimeSeriesFilter
- if vTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilter = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterFields(r, vTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilter) {
- o.TimeSeriesFilter = vTimeSeriesFilter
- }
- vTimeSeriesFilterRatio := o.TimeSeriesFilterRatio
- if vTimeSeriesFilterRatio == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilterRatio = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioFields(r, vTimeSeriesFilterRatio); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilterRatio) {
- o.TimeSeriesFilterRatio = vTimeSeriesFilterRatio
- }
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) error {
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) error {
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) error {
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) error {
- vNumerator := o.Numerator
- if vNumerator == nil {
- // note: explicitly not the empty object.
- vNumerator = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r, vNumerator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vNumerator) {
- o.Numerator = vNumerator
- }
- vDenominator := o.Denominator
- if vDenominator == nil {
- // note: explicitly not the empty object.
- vDenominator = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r, vDenominator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vDenominator) {
- o.Denominator = vDenominator
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) error {
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) error {
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) error {
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) error {
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetXyChartThresholdsFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartThresholds) error {
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetXyChartXAxisFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartXAxis) error {
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetXyChartYAxisFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartYAxis) error {
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetXyChartChartOptionsFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetXyChartChartOptions) error {
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetScorecardFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecard) error {
- vTimeSeriesQuery := o.TimeSeriesQuery
- if vTimeSeriesQuery == nil {
- // note: explicitly not the empty object.
- vTimeSeriesQuery = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryFields(r, vTimeSeriesQuery); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesQuery) {
- o.TimeSeriesQuery = vTimeSeriesQuery
- }
- vGaugeView := o.GaugeView
- if vGaugeView == nil {
- // note: explicitly not the empty object.
- vGaugeView = &DashboardMosaicLayoutTilesWidgetScorecardGaugeView{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetScorecardGaugeViewFields(r, vGaugeView); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGaugeView) {
- o.GaugeView = vGaugeView
- }
- vSparkChartView := o.SparkChartView
- if vSparkChartView == nil {
- // note: explicitly not the empty object.
- vSparkChartView = &DashboardMosaicLayoutTilesWidgetScorecardSparkChartView{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetScorecardSparkChartViewFields(r, vSparkChartView); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSparkChartView) {
- o.SparkChartView = vSparkChartView
- }
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery) error {
- vTimeSeriesFilter := o.TimeSeriesFilter
- if vTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilter = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterFields(r, vTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilter) {
- o.TimeSeriesFilter = vTimeSeriesFilter
- }
- vTimeSeriesFilterRatio := o.TimeSeriesFilterRatio
- if vTimeSeriesFilterRatio == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilterRatio = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioFields(r, vTimeSeriesFilterRatio); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilterRatio) {
- o.TimeSeriesFilterRatio = vTimeSeriesFilterRatio
- }
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation) error {
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) error {
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) error {
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio) error {
- vNumerator := o.Numerator
- if vNumerator == nil {
- // note: explicitly not the empty object.
- vNumerator = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r, vNumerator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vNumerator) {
- o.Numerator = vNumerator
- }
- vDenominator := o.Denominator
- if vDenominator == nil {
- // note: explicitly not the empty object.
- vDenominator = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r, vDenominator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vDenominator) {
- o.Denominator = vDenominator
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) error {
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
- if err := extractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) error {
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) error {
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) error {
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetScorecardGaugeViewFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecardGaugeView) error {
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetScorecardSparkChartViewFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecardSparkChartView) error {
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetScorecardThresholdsFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetScorecardThresholds) error {
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetTextFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetText) error {
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetBlankFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetBlank) error {
- return nil
-}
-func postReadExtractDashboardMosaicLayoutTilesWidgetLogsPanelFields(r *Dashboard, o *DashboardMosaicLayoutTilesWidgetLogsPanel) error {
- return nil
-}
-func postReadExtractDashboardRowLayoutFields(r *Dashboard, o *DashboardRowLayout) error {
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsFields(r *Dashboard, o *DashboardRowLayoutRows) error {
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsFields(r *Dashboard, o *DashboardRowLayoutRowsWidgets) error {
- vXyChart := o.XyChart
- if vXyChart == nil {
- // note: explicitly not the empty object.
- vXyChart = &DashboardRowLayoutRowsWidgetsXyChart{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartFields(r, vXyChart); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vXyChart) {
- o.XyChart = vXyChart
- }
- vScorecard := o.Scorecard
- if vScorecard == nil {
- // note: explicitly not the empty object.
- vScorecard = &DashboardRowLayoutRowsWidgetsScorecard{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsScorecardFields(r, vScorecard); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vScorecard) {
- o.Scorecard = vScorecard
- }
- vText := o.Text
- if vText == nil {
- // note: explicitly not the empty object.
- vText = &DashboardRowLayoutRowsWidgetsText{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsTextFields(r, vText); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vText) {
- o.Text = vText
- }
- vBlank := o.Blank
- if vBlank == nil {
- // note: explicitly not the empty object.
- vBlank = &DashboardRowLayoutRowsWidgetsBlank{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsBlankFields(r, vBlank); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vBlank) {
- o.Blank = vBlank
- }
- vLogsPanel := o.LogsPanel
- if vLogsPanel == nil {
- // note: explicitly not the empty object.
- vLogsPanel = &DashboardRowLayoutRowsWidgetsLogsPanel{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsLogsPanelFields(r, vLogsPanel); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vLogsPanel) {
- o.LogsPanel = vLogsPanel
- }
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsXyChartFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChart) error {
- vXAxis := o.XAxis
- if vXAxis == nil {
- // note: explicitly not the empty object.
- vXAxis = &DashboardRowLayoutRowsWidgetsXyChartXAxis{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartXAxisFields(r, vXAxis); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vXAxis) {
- o.XAxis = vXAxis
- }
- vYAxis := o.YAxis
- if vYAxis == nil {
- // note: explicitly not the empty object.
- vYAxis = &DashboardRowLayoutRowsWidgetsXyChartYAxis{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartYAxisFields(r, vYAxis); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vYAxis) {
- o.YAxis = vYAxis
- }
- vChartOptions := o.ChartOptions
- if vChartOptions == nil {
- // note: explicitly not the empty object.
- vChartOptions = &DashboardRowLayoutRowsWidgetsXyChartChartOptions{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartChartOptionsFields(r, vChartOptions); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vChartOptions) {
- o.ChartOptions = vChartOptions
- }
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsXyChartDataSetsFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartDataSets) error {
- vTimeSeriesQuery := o.TimeSeriesQuery
- if vTimeSeriesQuery == nil {
- // note: explicitly not the empty object.
- vTimeSeriesQuery = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryFields(r, vTimeSeriesQuery); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesQuery) {
- o.TimeSeriesQuery = vTimeSeriesQuery
- }
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery) error {
- vTimeSeriesFilter := o.TimeSeriesFilter
- if vTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilter = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterFields(r, vTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilter) {
- o.TimeSeriesFilter = vTimeSeriesFilter
- }
- vTimeSeriesFilterRatio := o.TimeSeriesFilterRatio
- if vTimeSeriesFilterRatio == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilterRatio = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioFields(r, vTimeSeriesFilterRatio); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilterRatio) {
- o.TimeSeriesFilterRatio = vTimeSeriesFilterRatio
- }
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) error {
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) error {
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) error {
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) error {
- vNumerator := o.Numerator
- if vNumerator == nil {
- // note: explicitly not the empty object.
- vNumerator = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r, vNumerator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vNumerator) {
- o.Numerator = vNumerator
- }
- vDenominator := o.Denominator
- if vDenominator == nil {
- // note: explicitly not the empty object.
- vDenominator = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r, vDenominator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vDenominator) {
- o.Denominator = vDenominator
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) error {
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) error {
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) error {
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) error {
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsXyChartThresholdsFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartThresholds) error {
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsXyChartXAxisFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartXAxis) error {
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsXyChartYAxisFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartYAxis) error {
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsXyChartChartOptionsFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsXyChartChartOptions) error {
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsScorecardFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecard) error {
- vTimeSeriesQuery := o.TimeSeriesQuery
- if vTimeSeriesQuery == nil {
- // note: explicitly not the empty object.
- vTimeSeriesQuery = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryFields(r, vTimeSeriesQuery); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesQuery) {
- o.TimeSeriesQuery = vTimeSeriesQuery
- }
- vGaugeView := o.GaugeView
- if vGaugeView == nil {
- // note: explicitly not the empty object.
- vGaugeView = &DashboardRowLayoutRowsWidgetsScorecardGaugeView{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsScorecardGaugeViewFields(r, vGaugeView); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGaugeView) {
- o.GaugeView = vGaugeView
- }
- vSparkChartView := o.SparkChartView
- if vSparkChartView == nil {
- // note: explicitly not the empty object.
- vSparkChartView = &DashboardRowLayoutRowsWidgetsScorecardSparkChartView{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsScorecardSparkChartViewFields(r, vSparkChartView); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSparkChartView) {
- o.SparkChartView = vSparkChartView
- }
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery) error {
- vTimeSeriesFilter := o.TimeSeriesFilter
- if vTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilter = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterFields(r, vTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilter) {
- o.TimeSeriesFilter = vTimeSeriesFilter
- }
- vTimeSeriesFilterRatio := o.TimeSeriesFilterRatio
- if vTimeSeriesFilterRatio == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilterRatio = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioFields(r, vTimeSeriesFilterRatio); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilterRatio) {
- o.TimeSeriesFilterRatio = vTimeSeriesFilterRatio
- }
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation) error {
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) error {
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) error {
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio) error {
- vNumerator := o.Numerator
- if vNumerator == nil {
- // note: explicitly not the empty object.
- vNumerator = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r, vNumerator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vNumerator) {
- o.Numerator = vNumerator
- }
- vDenominator := o.Denominator
- if vDenominator == nil {
- // note: explicitly not the empty object.
- vDenominator = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r, vDenominator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vDenominator) {
- o.Denominator = vDenominator
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) error {
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
- if err := extractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) error {
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) error {
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) error {
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsScorecardGaugeViewFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecardGaugeView) error {
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsScorecardSparkChartViewFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecardSparkChartView) error {
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsScorecardThresholdsFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsScorecardThresholds) error {
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsTextFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsText) error {
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsBlankFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsBlank) error {
- return nil
-}
-func postReadExtractDashboardRowLayoutRowsWidgetsLogsPanelFields(r *Dashboard, o *DashboardRowLayoutRowsWidgetsLogsPanel) error {
- return nil
-}
-func postReadExtractDashboardColumnLayoutFields(r *Dashboard, o *DashboardColumnLayout) error {
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsFields(r *Dashboard, o *DashboardColumnLayoutColumns) error {
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgets) error {
- vXyChart := o.XyChart
- if vXyChart == nil {
- // note: explicitly not the empty object.
- vXyChart = &DashboardColumnLayoutColumnsWidgetsXyChart{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartFields(r, vXyChart); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vXyChart) {
- o.XyChart = vXyChart
- }
- vScorecard := o.Scorecard
- if vScorecard == nil {
- // note: explicitly not the empty object.
- vScorecard = &DashboardColumnLayoutColumnsWidgetsScorecard{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsScorecardFields(r, vScorecard); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vScorecard) {
- o.Scorecard = vScorecard
- }
- vText := o.Text
- if vText == nil {
- // note: explicitly not the empty object.
- vText = &DashboardColumnLayoutColumnsWidgetsText{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsTextFields(r, vText); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vText) {
- o.Text = vText
- }
- vBlank := o.Blank
- if vBlank == nil {
- // note: explicitly not the empty object.
- vBlank = &DashboardColumnLayoutColumnsWidgetsBlank{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsBlankFields(r, vBlank); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vBlank) {
- o.Blank = vBlank
- }
- vLogsPanel := o.LogsPanel
- if vLogsPanel == nil {
- // note: explicitly not the empty object.
- vLogsPanel = &DashboardColumnLayoutColumnsWidgetsLogsPanel{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsLogsPanelFields(r, vLogsPanel); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vLogsPanel) {
- o.LogsPanel = vLogsPanel
- }
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsXyChartFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChart) error {
- vXAxis := o.XAxis
- if vXAxis == nil {
- // note: explicitly not the empty object.
- vXAxis = &DashboardColumnLayoutColumnsWidgetsXyChartXAxis{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartXAxisFields(r, vXAxis); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vXAxis) {
- o.XAxis = vXAxis
- }
- vYAxis := o.YAxis
- if vYAxis == nil {
- // note: explicitly not the empty object.
- vYAxis = &DashboardColumnLayoutColumnsWidgetsXyChartYAxis{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartYAxisFields(r, vYAxis); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vYAxis) {
- o.YAxis = vYAxis
- }
- vChartOptions := o.ChartOptions
- if vChartOptions == nil {
- // note: explicitly not the empty object.
- vChartOptions = &DashboardColumnLayoutColumnsWidgetsXyChartChartOptions{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartChartOptionsFields(r, vChartOptions); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vChartOptions) {
- o.ChartOptions = vChartOptions
- }
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartDataSets) error {
- vTimeSeriesQuery := o.TimeSeriesQuery
- if vTimeSeriesQuery == nil {
- // note: explicitly not the empty object.
- vTimeSeriesQuery = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryFields(r, vTimeSeriesQuery); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesQuery) {
- o.TimeSeriesQuery = vTimeSeriesQuery
- }
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery) error {
- vTimeSeriesFilter := o.TimeSeriesFilter
- if vTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilter = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterFields(r, vTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilter) {
- o.TimeSeriesFilter = vTimeSeriesFilter
- }
- vTimeSeriesFilterRatio := o.TimeSeriesFilterRatio
- if vTimeSeriesFilterRatio == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilterRatio = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioFields(r, vTimeSeriesFilterRatio); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilterRatio) {
- o.TimeSeriesFilterRatio = vTimeSeriesFilterRatio
- }
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation) error {
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) error {
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) error {
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio) error {
- vNumerator := o.Numerator
- if vNumerator == nil {
- // note: explicitly not the empty object.
- vNumerator = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r, vNumerator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vNumerator) {
- o.Numerator = vNumerator
- }
- vDenominator := o.Denominator
- if vDenominator == nil {
- // note: explicitly not the empty object.
- vDenominator = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r, vDenominator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vDenominator) {
- o.Denominator = vDenominator
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) error {
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) error {
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) error {
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) error {
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsXyChartThresholdsFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartThresholds) error {
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsXyChartXAxisFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartXAxis) error {
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsXyChartYAxisFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartYAxis) error {
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsXyChartChartOptionsFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsXyChartChartOptions) error {
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsScorecardFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecard) error {
- vTimeSeriesQuery := o.TimeSeriesQuery
- if vTimeSeriesQuery == nil {
- // note: explicitly not the empty object.
- vTimeSeriesQuery = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryFields(r, vTimeSeriesQuery); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesQuery) {
- o.TimeSeriesQuery = vTimeSeriesQuery
- }
- vGaugeView := o.GaugeView
- if vGaugeView == nil {
- // note: explicitly not the empty object.
- vGaugeView = &DashboardColumnLayoutColumnsWidgetsScorecardGaugeView{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsScorecardGaugeViewFields(r, vGaugeView); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGaugeView) {
- o.GaugeView = vGaugeView
- }
- vSparkChartView := o.SparkChartView
- if vSparkChartView == nil {
- // note: explicitly not the empty object.
- vSparkChartView = &DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewFields(r, vSparkChartView); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSparkChartView) {
- o.SparkChartView = vSparkChartView
- }
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery) error {
- vTimeSeriesFilter := o.TimeSeriesFilter
- if vTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilter = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterFields(r, vTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilter) {
- o.TimeSeriesFilter = vTimeSeriesFilter
- }
- vTimeSeriesFilterRatio := o.TimeSeriesFilterRatio
- if vTimeSeriesFilterRatio == nil {
- // note: explicitly not the empty object.
- vTimeSeriesFilterRatio = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioFields(r, vTimeSeriesFilterRatio); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTimeSeriesFilterRatio) {
- o.TimeSeriesFilterRatio = vTimeSeriesFilterRatio
- }
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation) error {
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation) error {
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter) error {
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio) error {
- vNumerator := o.Numerator
- if vNumerator == nil {
- // note: explicitly not the empty object.
- vNumerator = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r, vNumerator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vNumerator) {
- o.Numerator = vNumerator
- }
- vDenominator := o.Denominator
- if vDenominator == nil {
- // note: explicitly not the empty object.
- vDenominator = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r, vDenominator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vDenominator) {
- o.Denominator = vDenominator
- }
- vSecondaryAggregation := o.SecondaryAggregation
- if vSecondaryAggregation == nil {
- // note: explicitly not the empty object.
- vSecondaryAggregation = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r, vSecondaryAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSecondaryAggregation) {
- o.SecondaryAggregation = vSecondaryAggregation
- }
- vPickTimeSeriesFilter := o.PickTimeSeriesFilter
- if vPickTimeSeriesFilter == nil {
- // note: explicitly not the empty object.
- vPickTimeSeriesFilter = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r, vPickTimeSeriesFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPickTimeSeriesFilter) {
- o.PickTimeSeriesFilter = vPickTimeSeriesFilter
- }
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation) error {
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator) error {
- vAggregation := o.Aggregation
- if vAggregation == nil {
- // note: explicitly not the empty object.
- vAggregation = &DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation{}
- }
- if err := extractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r, vAggregation); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAggregation) {
- o.Aggregation = vAggregation
- }
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation) error {
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation) error {
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter) error {
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsScorecardGaugeViewFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecardGaugeView) error {
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView) error {
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsScorecardThresholdsFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsScorecardThresholds) error {
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsTextFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsText) error {
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsBlankFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsBlank) error {
- return nil
-}
-func postReadExtractDashboardColumnLayoutColumnsWidgetsLogsPanelFields(r *Dashboard, o *DashboardColumnLayoutColumnsWidgetsLogsPanel) error {
- return nil
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/dashboard_schema.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/dashboard_schema.go
deleted file mode 100644
index 9a77a9d089..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/dashboard_schema.go
+++ /dev/null
@@ -1,6081 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 monitoring
-
-import (
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-func DCLDashboardSchema() *dcl.Schema {
- return &dcl.Schema{
- Info: &dcl.Info{
- Title: "Monitoring/Dashboard",
- Description: "The Monitoring Dashboard resource",
- StructName: "Dashboard",
- },
- Paths: &dcl.Paths{
- Get: &dcl.Path{
- Description: "The function used to get information about a Dashboard",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "dashboard",
- Required: true,
- Description: "A full instance of a Dashboard",
- },
- },
- },
- Apply: &dcl.Path{
- Description: "The function used to apply information about a Dashboard",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "dashboard",
- Required: true,
- Description: "A full instance of a Dashboard",
- },
- },
- },
- Delete: &dcl.Path{
- Description: "The function used to delete a Dashboard",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "dashboard",
- Required: true,
- Description: "A full instance of a Dashboard",
- },
- },
- },
- DeleteAll: &dcl.Path{
- Description: "The function used to delete all Dashboard",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "project",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- },
- },
- List: &dcl.Path{
- Description: "The function used to list information about many Dashboard",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "project",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- },
- },
- },
- Components: &dcl.Components{
- Schemas: map[string]*dcl.Component{
- "Dashboard": &dcl.Component{
- Title: "Dashboard",
- ID: "projects/{{project}}/dashboards/{{name}}",
- ParentContainer: "project",
- HasCreate: true,
- SchemaProperty: dcl.Property{
- Type: "object",
- Required: []string{
- "name",
- "displayName",
- "project",
- },
- Properties: map[string]*dcl.Property{
- "columnLayout": &dcl.Property{
- Type: "object",
- GoName: "ColumnLayout",
- GoType: "DashboardColumnLayout",
- Description: "The content is divided into equally spaced columns and the widgets are arranged vertically.",
- Conflicts: []string{
- "gridLayout",
- "mosaicLayout",
- "rowLayout",
- },
- Properties: map[string]*dcl.Property{
- "columns": &dcl.Property{
- Type: "array",
- GoName: "Columns",
- Description: "The columns of content to display.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "object",
- GoType: "DashboardColumnLayoutColumns",
- Properties: map[string]*dcl.Property{
- "weight": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "Weight",
- Description: "The relative weight of this column. The column weight is used to adjust the width of columns on the screen (relative to peers). Greater the weight, greater the width of the column on the screen. If omitted, a value of 1 is used while rendering.",
- },
- "widgets": &dcl.Property{
- Type: "array",
- GoName: "Widgets",
- Description: "The display widgets arranged vertically in this column.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "object",
- GoType: "DashboardColumnLayoutColumnsWidgets",
- Properties: map[string]*dcl.Property{
- "blank": &dcl.Property{
- Type: "object",
- GoName: "Blank",
- GoType: "DashboardColumnLayoutColumnsWidgetsBlank",
- Description: "A blank space.",
- Conflicts: []string{
- "xyChart",
- "scorecard",
- "text",
- "logsPanel",
- },
- Properties: map[string]*dcl.Property{},
- },
- "logsPanel": &dcl.Property{
- Type: "object",
- GoName: "LogsPanel",
- GoType: "DashboardColumnLayoutColumnsWidgetsLogsPanel",
- Conflicts: []string{
- "xyChart",
- "scorecard",
- "text",
- "blank",
- },
- Properties: map[string]*dcl.Property{
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "A filter that chooses which log entries to return. See [Advanced Logs Queries](https://cloud.google.com/logging/docs/view/advanced-queries). Only log entries that match the filter are returned. An empty filter matches all log entries.",
- },
- "resourceNames": &dcl.Property{
- Type: "array",
- GoName: "ResourceNames",
- Description: "The names of logging resources to collect logs for. Currently only projects are supported. If empty, the widget will default to the host project.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- ResourceReferences: []*dcl.PropertyResourceReference{
- &dcl.PropertyResourceReference{
- Resource: "Cloudresourcemanager/Project",
- Field: "name",
- },
- },
- },
- },
- },
- },
- "scorecard": &dcl.Property{
- Type: "object",
- GoName: "Scorecard",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecard",
- Description: "A scorecard summarizing time series data.",
- Conflicts: []string{
- "xyChart",
- "text",
- "blank",
- "logsPanel",
- },
- Required: []string{
- "timeSeriesQuery",
- },
- Properties: map[string]*dcl.Property{
- "gaugeView": &dcl.Property{
- Type: "object",
- GoName: "GaugeView",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardGaugeView",
- Description: "Will cause the scorecard to show a gauge chart.",
- Properties: map[string]*dcl.Property{
- "lowerBound": &dcl.Property{
- Type: "number",
- Format: "double",
- GoName: "LowerBound",
- Description: "The lower bound for this gauge chart. The value of the chart should always be greater than or equal to this.",
- },
- "upperBound": &dcl.Property{
- Type: "number",
- Format: "double",
- GoName: "UpperBound",
- Description: "The upper bound for this gauge chart. The value of the chart should always be less than or equal to this.",
- },
- },
- },
- "sparkChartView": &dcl.Property{
- Type: "object",
- GoName: "SparkChartView",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView",
- Description: "Will cause the scorecard to show a spark chart.",
- Required: []string{
- "sparkChartType",
- },
- Properties: map[string]*dcl.Property{
- "minAlignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "MinAlignmentPeriod",
- Description: "The lower bound on data point frequency in the chart implemented by specifying the minimum alignment period to use in a time series query. For example, if the data is published once every 10 minutes it would not make sense to fetch and align data at one minute intervals. This field is optional and exists only as a hint.",
- },
- "sparkChartType": &dcl.Property{
- Type: "string",
- GoName: "SparkChartType",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnum",
- Description: "Required. The type of sparkchart to show in this chartView. Possible values: SPARK_CHART_TYPE_UNSPECIFIED, SPARK_LINE, SPARK_BAR",
- Enum: []string{
- "SPARK_CHART_TYPE_UNSPECIFIED",
- "SPARK_LINE",
- "SPARK_BAR",
- },
- },
- },
- },
- "thresholds": &dcl.Property{
- Type: "array",
- GoName: "Thresholds",
- Description: "The thresholds used to determine the state of the scorecard given the time series' current value. For an actual value x, the scorecard is in a danger state if x is less than or equal to a danger threshold that triggers below, or greater than or equal to a danger threshold that triggers above. Similarly, if x is above/below a warning threshold that triggers above/below, then the scorecard is in a warning state - unless x also puts it in a danger state. (Danger trumps warning.) As an example, consider a scorecard with the following four thresholds: { value: 90, category: 'DANGER', trigger: 'ABOVE', },: { value: 70, category: 'WARNING', trigger: 'ABOVE', }, { value: 10, category: 'DANGER', trigger: 'BELOW', }, { value: 20, category: 'WARNING', trigger: 'BELOW', } Then: values less than or equal to 10 would put the scorecard in a DANGER state, values greater than 10 but less than or equal to 20 a WARNING state, values strictly between 20 and 70 an OK state, values greater than or equal to 70 but less than 90 a WARNING state, and values greater than or equal to 90 a DANGER state.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "object",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardThresholds",
- Properties: map[string]*dcl.Property{
- "color": &dcl.Property{
- Type: "string",
- GoName: "Color",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnum",
- Description: "The state color for this threshold. Color is not allowed in a XyChart. Possible values: COLOR_UNSPECIFIED, GREY, BLUE, GREEN, YELLOW, ORANGE, RED",
- Enum: []string{
- "COLOR_UNSPECIFIED",
- "GREY",
- "BLUE",
- "GREEN",
- "YELLOW",
- "ORANGE",
- "RED",
- },
- },
- "direction": &dcl.Property{
- Type: "string",
- GoName: "Direction",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnum",
- Description: "The direction for the current threshold. Direction is not allowed in a XyChart. Possible values: DIRECTION_UNSPECIFIED, ABOVE, BELOW",
- Enum: []string{
- "DIRECTION_UNSPECIFIED",
- "ABOVE",
- "BELOW",
- },
- },
- "label": &dcl.Property{
- Type: "string",
- GoName: "Label",
- Description: "A label for the threshold.",
- },
- "value": &dcl.Property{
- Type: "number",
- Format: "double",
- GoName: "Value",
- Description: "The value of the threshold. The value should be defined in the native scale of the metric.",
- },
- },
- },
- },
- "timeSeriesQuery": &dcl.Property{
- Type: "object",
- GoName: "TimeSeriesQuery",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery",
- Description: "Required. Fields for querying time series data from the Stackdriver metrics API.",
- Properties: map[string]*dcl.Property{
- "timeSeriesFilter": &dcl.Property{
- Type: "object",
- GoName: "TimeSeriesFilter",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter",
- Description: "Filter parameters to fetch time series.",
- Required: []string{
- "filter",
- },
- Properties: map[string]*dcl.Property{
- "aggregation": &dcl.Property{
- Type: "object",
- GoName: "Aggregation",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation",
- Description: "By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.",
- },
- "pickTimeSeriesFilter": &dcl.Property{
- Type: "object",
- GoName: "PickTimeSeriesFilter",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter",
- Description: "Ranking based time series filter.",
- Properties: map[string]*dcl.Property{
- "direction": &dcl.Property{
- Type: "string",
- GoName: "Direction",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum",
- Description: "How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM",
- Enum: []string{
- "DIRECTION_UNSPECIFIED",
- "TOP",
- "BOTTOM",
- },
- },
- "numTimeSeries": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "NumTimeSeries",
- Description: "How many time series to allow to pass through the filter.",
- },
- "rankingMethod": &dcl.Property{
- Type: "string",
- GoName: "RankingMethod",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum",
- Description: "`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST",
- Enum: []string{
- "METHOD_UNSPECIFIED",
- "METHOD_MEAN",
- "METHOD_MAX",
- "METHOD_MIN",
- "METHOD_SUM",
- "METHOD_LATEST",
- },
- },
- },
- },
- "secondaryAggregation": &dcl.Property{
- Type: "object",
- GoName: "SecondaryAggregation",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation",
- Description: "Apply a second aggregation after `aggregation` is applied.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- },
- },
- "timeSeriesFilterRatio": &dcl.Property{
- Type: "object",
- GoName: "TimeSeriesFilterRatio",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio",
- Description: "Parameters to fetch a ratio between two time series filters.",
- Properties: map[string]*dcl.Property{
- "denominator": &dcl.Property{
- Type: "object",
- GoName: "Denominator",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator",
- Description: "The denominator of the ratio.",
- Required: []string{
- "filter",
- },
- Properties: map[string]*dcl.Property{
- "aggregation": &dcl.Property{
- Type: "object",
- GoName: "Aggregation",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation",
- Description: "By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.",
- },
- },
- },
- "numerator": &dcl.Property{
- Type: "object",
- GoName: "Numerator",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator",
- Description: "The numerator of the ratio.",
- Required: []string{
- "filter",
- },
- Properties: map[string]*dcl.Property{
- "aggregation": &dcl.Property{
- Type: "object",
- GoName: "Aggregation",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation",
- Description: "By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.",
- },
- },
- },
- "pickTimeSeriesFilter": &dcl.Property{
- Type: "object",
- GoName: "PickTimeSeriesFilter",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter",
- Description: "Ranking based time series filter.",
- Properties: map[string]*dcl.Property{
- "direction": &dcl.Property{
- Type: "string",
- GoName: "Direction",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum",
- Description: "How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM",
- Enum: []string{
- "DIRECTION_UNSPECIFIED",
- "TOP",
- "BOTTOM",
- },
- },
- "numTimeSeries": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "NumTimeSeries",
- Description: "How many time series to allow to pass through the filter.",
- },
- "rankingMethod": &dcl.Property{
- Type: "string",
- GoName: "RankingMethod",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum",
- Description: "`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST",
- Enum: []string{
- "METHOD_UNSPECIFIED",
- "METHOD_MEAN",
- "METHOD_MAX",
- "METHOD_MIN",
- "METHOD_SUM",
- "METHOD_LATEST",
- },
- },
- },
- },
- "secondaryAggregation": &dcl.Property{
- Type: "object",
- GoName: "SecondaryAggregation",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation",
- Description: "Apply a second aggregation after the ratio is computed.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- },
- },
- "timeSeriesQueryLanguage": &dcl.Property{
- Type: "string",
- GoName: "TimeSeriesQueryLanguage",
- Description: "A query used to fetch time series.",
- },
- "unitOverride": &dcl.Property{
- Type: "string",
- GoName: "UnitOverride",
- Description: "The unit of data contained in fetched time series. If non-empty, this unit will override any unit that accompanies fetched data. The format is the same as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors) field in `MetricDescriptor`.",
- },
- },
- },
- },
- },
- "text": &dcl.Property{
- Type: "object",
- GoName: "Text",
- GoType: "DashboardColumnLayoutColumnsWidgetsText",
- Description: "A raw string or markdown displaying textual content.",
- Conflicts: []string{
- "xyChart",
- "scorecard",
- "blank",
- "logsPanel",
- },
- Properties: map[string]*dcl.Property{
- "content": &dcl.Property{
- Type: "string",
- GoName: "Content",
- Description: "The text content to be displayed.",
- },
- "format": &dcl.Property{
- Type: "string",
- GoName: "Format",
- GoType: "DashboardColumnLayoutColumnsWidgetsTextFormatEnum",
- Description: "How the text content is formatted. Possible values: FORMAT_UNSPECIFIED, MARKDOWN, RAW",
- Enum: []string{
- "FORMAT_UNSPECIFIED",
- "MARKDOWN",
- "RAW",
- },
- },
- },
- },
- "title": &dcl.Property{
- Type: "string",
- GoName: "Title",
- Description: "Optional. The title of the widget.",
- },
- "xyChart": &dcl.Property{
- Type: "object",
- GoName: "XyChart",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChart",
- Description: "A chart of time series data.",
- Conflicts: []string{
- "scorecard",
- "text",
- "blank",
- "logsPanel",
- },
- Required: []string{
- "dataSets",
- },
- Properties: map[string]*dcl.Property{
- "chartOptions": &dcl.Property{
- Type: "object",
- GoName: "ChartOptions",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartChartOptions",
- Description: "Display options for the chart.",
- Properties: map[string]*dcl.Property{
- "mode": &dcl.Property{
- Type: "string",
- GoName: "Mode",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnum",
- Description: "The chart mode. Possible values: MODE_UNSPECIFIED, COLOR, X_RAY, STATS",
- Enum: []string{
- "MODE_UNSPECIFIED",
- "COLOR",
- "X_RAY",
- "STATS",
- },
- },
- },
- },
- "dataSets": &dcl.Property{
- Type: "array",
- GoName: "DataSets",
- Description: "Required. The data displayed in this chart.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "object",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartDataSets",
- Required: []string{
- "timeSeriesQuery",
- },
- Properties: map[string]*dcl.Property{
- "legendTemplate": &dcl.Property{
- Type: "string",
- GoName: "LegendTemplate",
- Description: "A template string for naming `TimeSeries` in the resulting data set. This should be a string with interpolations of the form `${label_name}`, which will resolve to the label's value. ",
- },
- "minAlignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "MinAlignmentPeriod",
- Description: "Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the `min_alignment_period` should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.",
- },
- "plotType": &dcl.Property{
- Type: "string",
- GoName: "PlotType",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnum",
- Description: "How this data should be plotted on the chart. Possible values: PLOT_TYPE_UNSPECIFIED, LINE, STACKED_AREA, STACKED_BAR, HEATMAP",
- Enum: []string{
- "PLOT_TYPE_UNSPECIFIED",
- "LINE",
- "STACKED_AREA",
- "STACKED_BAR",
- "HEATMAP",
- },
- },
- "timeSeriesQuery": &dcl.Property{
- Type: "object",
- GoName: "TimeSeriesQuery",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery",
- Description: "Required. Fields for querying time series data from the Stackdriver metrics API.",
- Properties: map[string]*dcl.Property{
- "timeSeriesFilter": &dcl.Property{
- Type: "object",
- GoName: "TimeSeriesFilter",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter",
- Description: "Filter parameters to fetch time series.",
- Required: []string{
- "filter",
- },
- Properties: map[string]*dcl.Property{
- "aggregation": &dcl.Property{
- Type: "object",
- GoName: "Aggregation",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation",
- Description: "By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.",
- },
- "pickTimeSeriesFilter": &dcl.Property{
- Type: "object",
- GoName: "PickTimeSeriesFilter",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter",
- Description: "Ranking based time series filter.",
- Properties: map[string]*dcl.Property{
- "direction": &dcl.Property{
- Type: "string",
- GoName: "Direction",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum",
- Description: "How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM",
- Enum: []string{
- "DIRECTION_UNSPECIFIED",
- "TOP",
- "BOTTOM",
- },
- },
- "numTimeSeries": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "NumTimeSeries",
- Description: "How many time series to allow to pass through the filter.",
- },
- "rankingMethod": &dcl.Property{
- Type: "string",
- GoName: "RankingMethod",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum",
- Description: "`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST",
- Enum: []string{
- "METHOD_UNSPECIFIED",
- "METHOD_MEAN",
- "METHOD_MAX",
- "METHOD_MIN",
- "METHOD_SUM",
- "METHOD_LATEST",
- },
- },
- },
- },
- "secondaryAggregation": &dcl.Property{
- Type: "object",
- GoName: "SecondaryAggregation",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation",
- Description: "Apply a second aggregation after `aggregation` is applied.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- },
- },
- "timeSeriesFilterRatio": &dcl.Property{
- Type: "object",
- GoName: "TimeSeriesFilterRatio",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio",
- Description: "Parameters to fetch a ratio between two time series filters.",
- Properties: map[string]*dcl.Property{
- "denominator": &dcl.Property{
- Type: "object",
- GoName: "Denominator",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator",
- Description: "The denominator of the ratio.",
- Required: []string{
- "filter",
- },
- Properties: map[string]*dcl.Property{
- "aggregation": &dcl.Property{
- Type: "object",
- GoName: "Aggregation",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation",
- Description: "By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.",
- },
- },
- },
- "numerator": &dcl.Property{
- Type: "object",
- GoName: "Numerator",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator",
- Description: "The numerator of the ratio.",
- Required: []string{
- "filter",
- },
- Properties: map[string]*dcl.Property{
- "aggregation": &dcl.Property{
- Type: "object",
- GoName: "Aggregation",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation",
- Description: "By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.",
- },
- },
- },
- "pickTimeSeriesFilter": &dcl.Property{
- Type: "object",
- GoName: "PickTimeSeriesFilter",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter",
- Description: "Ranking based time series filter.",
- Properties: map[string]*dcl.Property{
- "direction": &dcl.Property{
- Type: "string",
- GoName: "Direction",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum",
- Description: "How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM",
- Enum: []string{
- "DIRECTION_UNSPECIFIED",
- "TOP",
- "BOTTOM",
- },
- },
- "numTimeSeries": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "NumTimeSeries",
- Description: "How many time series to allow to pass through the filter.",
- },
- "rankingMethod": &dcl.Property{
- Type: "string",
- GoName: "RankingMethod",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum",
- Description: "`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST",
- Enum: []string{
- "METHOD_UNSPECIFIED",
- "METHOD_MEAN",
- "METHOD_MAX",
- "METHOD_MIN",
- "METHOD_SUM",
- "METHOD_LATEST",
- },
- },
- },
- },
- "secondaryAggregation": &dcl.Property{
- Type: "object",
- GoName: "SecondaryAggregation",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation",
- Description: "Apply a second aggregation after the ratio is computed.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- },
- },
- "timeSeriesQueryLanguage": &dcl.Property{
- Type: "string",
- GoName: "TimeSeriesQueryLanguage",
- Description: "A query used to fetch time series.",
- },
- "unitOverride": &dcl.Property{
- Type: "string",
- GoName: "UnitOverride",
- Description: "The unit of data contained in fetched time series. If non-empty, this unit will override any unit that accompanies fetched data. The format is the same as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors) field in `MetricDescriptor`.",
- },
- },
- },
- },
- },
- },
- "thresholds": &dcl.Property{
- Type: "array",
- GoName: "Thresholds",
- Description: "Threshold lines drawn horizontally across the chart.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "object",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartThresholds",
- Properties: map[string]*dcl.Property{
- "color": &dcl.Property{
- Type: "string",
- GoName: "Color",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnum",
- Description: "The state color for this threshold. Color is not allowed in a XyChart. Possible values: COLOR_UNSPECIFIED, GREY, BLUE, GREEN, YELLOW, ORANGE, RED",
- Enum: []string{
- "COLOR_UNSPECIFIED",
- "GREY",
- "BLUE",
- "GREEN",
- "YELLOW",
- "ORANGE",
- "RED",
- },
- },
- "direction": &dcl.Property{
- Type: "string",
- GoName: "Direction",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnum",
- Description: "The direction for the current threshold. Direction is not allowed in a XyChart. Possible values: DIRECTION_UNSPECIFIED, ABOVE, BELOW",
- Enum: []string{
- "DIRECTION_UNSPECIFIED",
- "ABOVE",
- "BELOW",
- },
- },
- "label": &dcl.Property{
- Type: "string",
- GoName: "Label",
- Description: "A label for the threshold.",
- },
- "value": &dcl.Property{
- Type: "number",
- Format: "double",
- GoName: "Value",
- Description: "The value of the threshold. The value should be defined in the native scale of the metric.",
- },
- },
- },
- },
- "timeshiftDuration": &dcl.Property{
- Type: "string",
- GoName: "TimeshiftDuration",
- Description: "The duration used to display a comparison chart. A comparison chart simultaneously shows values from two similar-length time periods (e.g., week-over-week metrics). The duration must be positive, and it can only be applied to charts with data sets of LINE plot type.",
- },
- "xAxis": &dcl.Property{
- Type: "object",
- GoName: "XAxis",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartXAxis",
- Description: "The properties applied to the X axis.",
- Properties: map[string]*dcl.Property{
- "label": &dcl.Property{
- Type: "string",
- GoName: "Label",
- Description: "The label of the axis.",
- },
- "scale": &dcl.Property{
- Type: "string",
- GoName: "Scale",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnum",
- Description: "The axis scale. By default, a linear scale is used. Possible values: SCALE_UNSPECIFIED, LINEAR, LOG10",
- Enum: []string{
- "SCALE_UNSPECIFIED",
- "LINEAR",
- "LOG10",
- },
- },
- },
- },
- "yAxis": &dcl.Property{
- Type: "object",
- GoName: "YAxis",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartYAxis",
- Description: "The properties applied to the Y axis.",
- Properties: map[string]*dcl.Property{
- "label": &dcl.Property{
- Type: "string",
- GoName: "Label",
- Description: "The label of the axis.",
- },
- "scale": &dcl.Property{
- Type: "string",
- GoName: "Scale",
- GoType: "DashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnum",
- Description: "The axis scale. By default, a linear scale is used. Possible values: SCALE_UNSPECIFIED, LINEAR, LOG10",
- Enum: []string{
- "SCALE_UNSPECIFIED",
- "LINEAR",
- "LOG10",
- },
- },
- },
- },
- },
- },
- },
- },
- },
- },
- },
- },
- },
- },
- "displayName": &dcl.Property{
- Type: "string",
- GoName: "DisplayName",
- Description: "Required. The mutable, human-readable name.",
- },
- "etag": &dcl.Property{
- Type: "string",
- GoName: "Etag",
- ReadOnly: true,
- Description: "\\`etag\\` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. An \\`etag\\` is returned in the response to \\`GetDashboard\\`, and users are expected to put that etag in the request to \\`UpdateDashboard\\` to ensure that their change will be applied to the same version of the Dashboard configuration. The field should not be passed during dashboard creation.",
- Immutable: true,
- },
- "gridLayout": &dcl.Property{
- Type: "object",
- GoName: "GridLayout",
- GoType: "DashboardGridLayout",
- Description: "Content is arranged with a basic layout that re-flows a simple list of informational elements like widgets or tiles.",
- Conflicts: []string{
- "mosaicLayout",
- "rowLayout",
- "columnLayout",
- },
- Properties: map[string]*dcl.Property{
- "columns": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "Columns",
- Description: "The number of columns into which the view's width is divided. If omitted or set to zero, a system default will be used while rendering.",
- },
- "widgets": &dcl.Property{
- Type: "array",
- GoName: "Widgets",
- Description: "The informational elements that are arranged into the columns row-first.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "object",
- GoType: "DashboardGridLayoutWidgets",
- Properties: map[string]*dcl.Property{
- "blank": &dcl.Property{
- Type: "object",
- GoName: "Blank",
- GoType: "DashboardGridLayoutWidgetsBlank",
- Description: "A blank space.",
- Conflicts: []string{
- "xyChart",
- "scorecard",
- "text",
- "logsPanel",
- },
- Properties: map[string]*dcl.Property{},
- },
- "logsPanel": &dcl.Property{
- Type: "object",
- GoName: "LogsPanel",
- GoType: "DashboardGridLayoutWidgetsLogsPanel",
- Conflicts: []string{
- "xyChart",
- "scorecard",
- "text",
- "blank",
- },
- Properties: map[string]*dcl.Property{
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "A filter that chooses which log entries to return. See [Advanced Logs Queries](https://cloud.google.com/logging/docs/view/advanced-queries). Only log entries that match the filter are returned. An empty filter matches all log entries.",
- },
- "resourceNames": &dcl.Property{
- Type: "array",
- GoName: "ResourceNames",
- Description: "The names of logging resources to collect logs for. Currently only projects are supported. If empty, the widget will default to the host project.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- ResourceReferences: []*dcl.PropertyResourceReference{
- &dcl.PropertyResourceReference{
- Resource: "Cloudresourcemanager/Project",
- Field: "name",
- },
- },
- },
- },
- },
- },
- "scorecard": &dcl.Property{
- Type: "object",
- GoName: "Scorecard",
- GoType: "DashboardGridLayoutWidgetsScorecard",
- Description: "A scorecard summarizing time series data.",
- Conflicts: []string{
- "xyChart",
- "text",
- "blank",
- "logsPanel",
- },
- Required: []string{
- "timeSeriesQuery",
- },
- Properties: map[string]*dcl.Property{
- "gaugeView": &dcl.Property{
- Type: "object",
- GoName: "GaugeView",
- GoType: "DashboardGridLayoutWidgetsScorecardGaugeView",
- Description: "Will cause the scorecard to show a gauge chart.",
- Properties: map[string]*dcl.Property{
- "lowerBound": &dcl.Property{
- Type: "number",
- Format: "double",
- GoName: "LowerBound",
- Description: "The lower bound for this gauge chart. The value of the chart should always be greater than or equal to this.",
- },
- "upperBound": &dcl.Property{
- Type: "number",
- Format: "double",
- GoName: "UpperBound",
- Description: "The upper bound for this gauge chart. The value of the chart should always be less than or equal to this.",
- },
- },
- },
- "sparkChartView": &dcl.Property{
- Type: "object",
- GoName: "SparkChartView",
- GoType: "DashboardGridLayoutWidgetsScorecardSparkChartView",
- Description: "Will cause the scorecard to show a spark chart.",
- Required: []string{
- "sparkChartType",
- },
- Properties: map[string]*dcl.Property{
- "minAlignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "MinAlignmentPeriod",
- Description: "The lower bound on data point frequency in the chart implemented by specifying the minimum alignment period to use in a time series query. For example, if the data is published once every 10 minutes it would not make sense to fetch and align data at one minute intervals. This field is optional and exists only as a hint.",
- },
- "sparkChartType": &dcl.Property{
- Type: "string",
- GoName: "SparkChartType",
- GoType: "DashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnum",
- Description: "Required. The type of sparkchart to show in this chartView. Possible values: SPARK_CHART_TYPE_UNSPECIFIED, SPARK_LINE, SPARK_BAR",
- Enum: []string{
- "SPARK_CHART_TYPE_UNSPECIFIED",
- "SPARK_LINE",
- "SPARK_BAR",
- },
- },
- },
- },
- "thresholds": &dcl.Property{
- Type: "array",
- GoName: "Thresholds",
- Description: "The thresholds used to determine the state of the scorecard given the time series' current value. For an actual value x, the scorecard is in a danger state if x is less than or equal to a danger threshold that triggers below, or greater than or equal to a danger threshold that triggers above. Similarly, if x is above/below a warning threshold that triggers above/below, then the scorecard is in a warning state - unless x also puts it in a danger state. (Danger trumps warning.) As an example, consider a scorecard with the following four thresholds: { value: 90, category: 'DANGER', trigger: 'ABOVE', },: { value: 70, category: 'WARNING', trigger: 'ABOVE', }, { value: 10, category: 'DANGER', trigger: 'BELOW', }, { value: 20, category: 'WARNING', trigger: 'BELOW', } Then: values less than or equal to 10 would put the scorecard in a DANGER state, values greater than 10 but less than or equal to 20 a WARNING state, values strictly between 20 and 70 an OK state, values greater than or equal to 70 but less than 90 a WARNING state, and values greater than or equal to 90 a DANGER state.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "object",
- GoType: "DashboardGridLayoutWidgetsScorecardThresholds",
- Properties: map[string]*dcl.Property{
- "color": &dcl.Property{
- Type: "string",
- GoName: "Color",
- GoType: "DashboardGridLayoutWidgetsScorecardThresholdsColorEnum",
- Description: "The state color for this threshold. Color is not allowed in a XyChart. Possible values: COLOR_UNSPECIFIED, GREY, BLUE, GREEN, YELLOW, ORANGE, RED",
- Enum: []string{
- "COLOR_UNSPECIFIED",
- "GREY",
- "BLUE",
- "GREEN",
- "YELLOW",
- "ORANGE",
- "RED",
- },
- },
- "direction": &dcl.Property{
- Type: "string",
- GoName: "Direction",
- GoType: "DashboardGridLayoutWidgetsScorecardThresholdsDirectionEnum",
- Description: "The direction for the current threshold. Direction is not allowed in a XyChart. Possible values: DIRECTION_UNSPECIFIED, ABOVE, BELOW",
- Enum: []string{
- "DIRECTION_UNSPECIFIED",
- "ABOVE",
- "BELOW",
- },
- },
- "label": &dcl.Property{
- Type: "string",
- GoName: "Label",
- Description: "A label for the threshold.",
- },
- "value": &dcl.Property{
- Type: "number",
- Format: "double",
- GoName: "Value",
- Description: "The value of the threshold. The value should be defined in the native scale of the metric.",
- },
- },
- },
- },
- "timeSeriesQuery": &dcl.Property{
- Type: "object",
- GoName: "TimeSeriesQuery",
- GoType: "DashboardGridLayoutWidgetsScorecardTimeSeriesQuery",
- Description: "Required. Fields for querying time series data from the Stackdriver metrics API.",
- Properties: map[string]*dcl.Property{
- "timeSeriesFilter": &dcl.Property{
- Type: "object",
- GoName: "TimeSeriesFilter",
- GoType: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter",
- Description: "Filter parameters to fetch time series.",
- Required: []string{
- "filter",
- },
- Properties: map[string]*dcl.Property{
- "aggregation": &dcl.Property{
- Type: "object",
- GoName: "Aggregation",
- GoType: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation",
- Description: "By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.",
- },
- "pickTimeSeriesFilter": &dcl.Property{
- Type: "object",
- GoName: "PickTimeSeriesFilter",
- GoType: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter",
- Description: "Ranking based time series filter.",
- Properties: map[string]*dcl.Property{
- "direction": &dcl.Property{
- Type: "string",
- GoName: "Direction",
- GoType: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum",
- Description: "How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM",
- Enum: []string{
- "DIRECTION_UNSPECIFIED",
- "TOP",
- "BOTTOM",
- },
- },
- "numTimeSeries": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "NumTimeSeries",
- Description: "How many time series to allow to pass through the filter.",
- },
- "rankingMethod": &dcl.Property{
- Type: "string",
- GoName: "RankingMethod",
- GoType: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum",
- Description: "`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST",
- Enum: []string{
- "METHOD_UNSPECIFIED",
- "METHOD_MEAN",
- "METHOD_MAX",
- "METHOD_MIN",
- "METHOD_SUM",
- "METHOD_LATEST",
- },
- },
- },
- },
- "secondaryAggregation": &dcl.Property{
- Type: "object",
- GoName: "SecondaryAggregation",
- GoType: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation",
- Description: "Apply a second aggregation after `aggregation` is applied.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- },
- },
- "timeSeriesFilterRatio": &dcl.Property{
- Type: "object",
- GoName: "TimeSeriesFilterRatio",
- GoType: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio",
- Description: "Parameters to fetch a ratio between two time series filters.",
- Properties: map[string]*dcl.Property{
- "denominator": &dcl.Property{
- Type: "object",
- GoName: "Denominator",
- GoType: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator",
- Description: "The denominator of the ratio.",
- Required: []string{
- "filter",
- },
- Properties: map[string]*dcl.Property{
- "aggregation": &dcl.Property{
- Type: "object",
- GoName: "Aggregation",
- GoType: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation",
- Description: "By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.",
- },
- },
- },
- "numerator": &dcl.Property{
- Type: "object",
- GoName: "Numerator",
- GoType: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator",
- Description: "The numerator of the ratio.",
- Required: []string{
- "filter",
- },
- Properties: map[string]*dcl.Property{
- "aggregation": &dcl.Property{
- Type: "object",
- GoName: "Aggregation",
- GoType: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation",
- Description: "By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.",
- },
- },
- },
- "pickTimeSeriesFilter": &dcl.Property{
- Type: "object",
- GoName: "PickTimeSeriesFilter",
- GoType: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter",
- Description: "Ranking based time series filter.",
- Properties: map[string]*dcl.Property{
- "direction": &dcl.Property{
- Type: "string",
- GoName: "Direction",
- GoType: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum",
- Description: "How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM",
- Enum: []string{
- "DIRECTION_UNSPECIFIED",
- "TOP",
- "BOTTOM",
- },
- },
- "numTimeSeries": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "NumTimeSeries",
- Description: "How many time series to allow to pass through the filter.",
- },
- "rankingMethod": &dcl.Property{
- Type: "string",
- GoName: "RankingMethod",
- GoType: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum",
- Description: "`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST",
- Enum: []string{
- "METHOD_UNSPECIFIED",
- "METHOD_MEAN",
- "METHOD_MAX",
- "METHOD_MIN",
- "METHOD_SUM",
- "METHOD_LATEST",
- },
- },
- },
- },
- "secondaryAggregation": &dcl.Property{
- Type: "object",
- GoName: "SecondaryAggregation",
- GoType: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation",
- Description: "Apply a second aggregation after the ratio is computed.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- },
- },
- "timeSeriesQueryLanguage": &dcl.Property{
- Type: "string",
- GoName: "TimeSeriesQueryLanguage",
- Description: "A query used to fetch time series.",
- },
- "unitOverride": &dcl.Property{
- Type: "string",
- GoName: "UnitOverride",
- Description: "The unit of data contained in fetched time series. If non-empty, this unit will override any unit that accompanies fetched data. The format is the same as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors) field in `MetricDescriptor`.",
- },
- },
- },
- },
- },
- "text": &dcl.Property{
- Type: "object",
- GoName: "Text",
- GoType: "DashboardGridLayoutWidgetsText",
- Description: "A raw string or markdown displaying textual content.",
- Conflicts: []string{
- "xyChart",
- "scorecard",
- "blank",
- "logsPanel",
- },
- Properties: map[string]*dcl.Property{
- "content": &dcl.Property{
- Type: "string",
- GoName: "Content",
- Description: "The text content to be displayed.",
- },
- "format": &dcl.Property{
- Type: "string",
- GoName: "Format",
- GoType: "DashboardGridLayoutWidgetsTextFormatEnum",
- Description: "How the text content is formatted. Possible values: FORMAT_UNSPECIFIED, MARKDOWN, RAW",
- Enum: []string{
- "FORMAT_UNSPECIFIED",
- "MARKDOWN",
- "RAW",
- },
- },
- },
- },
- "title": &dcl.Property{
- Type: "string",
- GoName: "Title",
- Description: "Optional. The title of the widget.",
- },
- "xyChart": &dcl.Property{
- Type: "object",
- GoName: "XyChart",
- GoType: "DashboardGridLayoutWidgetsXyChart",
- Description: "A chart of time series data.",
- Conflicts: []string{
- "scorecard",
- "text",
- "blank",
- "logsPanel",
- },
- Required: []string{
- "dataSets",
- },
- Properties: map[string]*dcl.Property{
- "chartOptions": &dcl.Property{
- Type: "object",
- GoName: "ChartOptions",
- GoType: "DashboardGridLayoutWidgetsXyChartChartOptions",
- Description: "Display options for the chart.",
- Properties: map[string]*dcl.Property{
- "mode": &dcl.Property{
- Type: "string",
- GoName: "Mode",
- GoType: "DashboardGridLayoutWidgetsXyChartChartOptionsModeEnum",
- Description: "The chart mode. Possible values: MODE_UNSPECIFIED, COLOR, X_RAY, STATS",
- Enum: []string{
- "MODE_UNSPECIFIED",
- "COLOR",
- "X_RAY",
- "STATS",
- },
- },
- },
- },
- "dataSets": &dcl.Property{
- Type: "array",
- GoName: "DataSets",
- Description: "Required. The data displayed in this chart.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "object",
- GoType: "DashboardGridLayoutWidgetsXyChartDataSets",
- Required: []string{
- "timeSeriesQuery",
- },
- Properties: map[string]*dcl.Property{
- "legendTemplate": &dcl.Property{
- Type: "string",
- GoName: "LegendTemplate",
- Description: "A template string for naming `TimeSeries` in the resulting data set. This should be a string with interpolations of the form `${label_name}`, which will resolve to the label's value. ",
- },
- "minAlignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "MinAlignmentPeriod",
- Description: "Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the `min_alignment_period` should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.",
- },
- "plotType": &dcl.Property{
- Type: "string",
- GoName: "PlotType",
- GoType: "DashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnum",
- Description: "How this data should be plotted on the chart. Possible values: PLOT_TYPE_UNSPECIFIED, LINE, STACKED_AREA, STACKED_BAR, HEATMAP",
- Enum: []string{
- "PLOT_TYPE_UNSPECIFIED",
- "LINE",
- "STACKED_AREA",
- "STACKED_BAR",
- "HEATMAP",
- },
- },
- "timeSeriesQuery": &dcl.Property{
- Type: "object",
- GoName: "TimeSeriesQuery",
- GoType: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery",
- Description: "Required. Fields for querying time series data from the Stackdriver metrics API.",
- Properties: map[string]*dcl.Property{
- "timeSeriesFilter": &dcl.Property{
- Type: "object",
- GoName: "TimeSeriesFilter",
- GoType: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter",
- Description: "Filter parameters to fetch time series.",
- Required: []string{
- "filter",
- },
- Properties: map[string]*dcl.Property{
- "aggregation": &dcl.Property{
- Type: "object",
- GoName: "Aggregation",
- GoType: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation",
- Description: "By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.",
- },
- "pickTimeSeriesFilter": &dcl.Property{
- Type: "object",
- GoName: "PickTimeSeriesFilter",
- GoType: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter",
- Description: "Ranking based time series filter.",
- Properties: map[string]*dcl.Property{
- "direction": &dcl.Property{
- Type: "string",
- GoName: "Direction",
- GoType: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum",
- Description: "How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM",
- Enum: []string{
- "DIRECTION_UNSPECIFIED",
- "TOP",
- "BOTTOM",
- },
- },
- "numTimeSeries": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "NumTimeSeries",
- Description: "How many time series to allow to pass through the filter.",
- },
- "rankingMethod": &dcl.Property{
- Type: "string",
- GoName: "RankingMethod",
- GoType: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum",
- Description: "`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST",
- Enum: []string{
- "METHOD_UNSPECIFIED",
- "METHOD_MEAN",
- "METHOD_MAX",
- "METHOD_MIN",
- "METHOD_SUM",
- "METHOD_LATEST",
- },
- },
- },
- },
- "secondaryAggregation": &dcl.Property{
- Type: "object",
- GoName: "SecondaryAggregation",
- GoType: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation",
- Description: "Apply a second aggregation after `aggregation` is applied.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- },
- },
- "timeSeriesFilterRatio": &dcl.Property{
- Type: "object",
- GoName: "TimeSeriesFilterRatio",
- GoType: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio",
- Description: "Parameters to fetch a ratio between two time series filters.",
- Properties: map[string]*dcl.Property{
- "denominator": &dcl.Property{
- Type: "object",
- GoName: "Denominator",
- GoType: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator",
- Description: "The denominator of the ratio.",
- Required: []string{
- "filter",
- },
- Properties: map[string]*dcl.Property{
- "aggregation": &dcl.Property{
- Type: "object",
- GoName: "Aggregation",
- GoType: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation",
- Description: "By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.",
- },
- },
- },
- "numerator": &dcl.Property{
- Type: "object",
- GoName: "Numerator",
- GoType: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator",
- Description: "The numerator of the ratio.",
- Required: []string{
- "filter",
- },
- Properties: map[string]*dcl.Property{
- "aggregation": &dcl.Property{
- Type: "object",
- GoName: "Aggregation",
- GoType: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation",
- Description: "By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.",
- },
- },
- },
- "pickTimeSeriesFilter": &dcl.Property{
- Type: "object",
- GoName: "PickTimeSeriesFilter",
- GoType: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter",
- Description: "Ranking based time series filter.",
- Properties: map[string]*dcl.Property{
- "direction": &dcl.Property{
- Type: "string",
- GoName: "Direction",
- GoType: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum",
- Description: "How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM",
- Enum: []string{
- "DIRECTION_UNSPECIFIED",
- "TOP",
- "BOTTOM",
- },
- },
- "numTimeSeries": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "NumTimeSeries",
- Description: "How many time series to allow to pass through the filter.",
- },
- "rankingMethod": &dcl.Property{
- Type: "string",
- GoName: "RankingMethod",
- GoType: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum",
- Description: "`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST",
- Enum: []string{
- "METHOD_UNSPECIFIED",
- "METHOD_MEAN",
- "METHOD_MAX",
- "METHOD_MIN",
- "METHOD_SUM",
- "METHOD_LATEST",
- },
- },
- },
- },
- "secondaryAggregation": &dcl.Property{
- Type: "object",
- GoName: "SecondaryAggregation",
- GoType: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation",
- Description: "Apply a second aggregation after the ratio is computed.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- },
- },
- "timeSeriesQueryLanguage": &dcl.Property{
- Type: "string",
- GoName: "TimeSeriesQueryLanguage",
- Description: "A query used to fetch time series.",
- },
- "unitOverride": &dcl.Property{
- Type: "string",
- GoName: "UnitOverride",
- Description: "The unit of data contained in fetched time series. If non-empty, this unit will override any unit that accompanies fetched data. The format is the same as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors) field in `MetricDescriptor`.",
- },
- },
- },
- },
- },
- },
- "thresholds": &dcl.Property{
- Type: "array",
- GoName: "Thresholds",
- Description: "Threshold lines drawn horizontally across the chart.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "object",
- GoType: "DashboardGridLayoutWidgetsXyChartThresholds",
- Properties: map[string]*dcl.Property{
- "color": &dcl.Property{
- Type: "string",
- GoName: "Color",
- GoType: "DashboardGridLayoutWidgetsXyChartThresholdsColorEnum",
- Description: "The state color for this threshold. Color is not allowed in a XyChart. Possible values: COLOR_UNSPECIFIED, GREY, BLUE, GREEN, YELLOW, ORANGE, RED",
- Enum: []string{
- "COLOR_UNSPECIFIED",
- "GREY",
- "BLUE",
- "GREEN",
- "YELLOW",
- "ORANGE",
- "RED",
- },
- },
- "direction": &dcl.Property{
- Type: "string",
- GoName: "Direction",
- GoType: "DashboardGridLayoutWidgetsXyChartThresholdsDirectionEnum",
- Description: "The direction for the current threshold. Direction is not allowed in a XyChart. Possible values: DIRECTION_UNSPECIFIED, ABOVE, BELOW",
- Enum: []string{
- "DIRECTION_UNSPECIFIED",
- "ABOVE",
- "BELOW",
- },
- },
- "label": &dcl.Property{
- Type: "string",
- GoName: "Label",
- Description: "A label for the threshold.",
- },
- "value": &dcl.Property{
- Type: "number",
- Format: "double",
- GoName: "Value",
- Description: "The value of the threshold. The value should be defined in the native scale of the metric.",
- },
- },
- },
- },
- "timeshiftDuration": &dcl.Property{
- Type: "string",
- GoName: "TimeshiftDuration",
- Description: "The duration used to display a comparison chart. A comparison chart simultaneously shows values from two similar-length time periods (e.g., week-over-week metrics). The duration must be positive, and it can only be applied to charts with data sets of LINE plot type.",
- },
- "xAxis": &dcl.Property{
- Type: "object",
- GoName: "XAxis",
- GoType: "DashboardGridLayoutWidgetsXyChartXAxis",
- Description: "The properties applied to the X axis.",
- Properties: map[string]*dcl.Property{
- "label": &dcl.Property{
- Type: "string",
- GoName: "Label",
- Description: "The label of the axis.",
- },
- "scale": &dcl.Property{
- Type: "string",
- GoName: "Scale",
- GoType: "DashboardGridLayoutWidgetsXyChartXAxisScaleEnum",
- Description: "The axis scale. By default, a linear scale is used. Possible values: SCALE_UNSPECIFIED, LINEAR, LOG10",
- Enum: []string{
- "SCALE_UNSPECIFIED",
- "LINEAR",
- "LOG10",
- },
- },
- },
- },
- "yAxis": &dcl.Property{
- Type: "object",
- GoName: "YAxis",
- GoType: "DashboardGridLayoutWidgetsXyChartYAxis",
- Description: "The properties applied to the Y axis.",
- Properties: map[string]*dcl.Property{
- "label": &dcl.Property{
- Type: "string",
- GoName: "Label",
- Description: "The label of the axis.",
- },
- "scale": &dcl.Property{
- Type: "string",
- GoName: "Scale",
- GoType: "DashboardGridLayoutWidgetsXyChartYAxisScaleEnum",
- Description: "The axis scale. By default, a linear scale is used. Possible values: SCALE_UNSPECIFIED, LINEAR, LOG10",
- Enum: []string{
- "SCALE_UNSPECIFIED",
- "LINEAR",
- "LOG10",
- },
- },
- },
- },
- },
- },
- },
- },
- },
- },
- },
- "mosaicLayout": &dcl.Property{
- Type: "object",
- GoName: "MosaicLayout",
- GoType: "DashboardMosaicLayout",
- Description: "The content is arranged as a grid of tiles, with each content widget occupying one or more tiles.",
- Conflicts: []string{
- "gridLayout",
- "rowLayout",
- "columnLayout",
- },
- Properties: map[string]*dcl.Property{
- "columns": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "Columns",
- Description: "The number of columns in the mosaic grid.",
- },
- "tiles": &dcl.Property{
- Type: "array",
- GoName: "Tiles",
- Description: "The tiles to display.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "object",
- GoType: "DashboardMosaicLayoutTiles",
- Properties: map[string]*dcl.Property{
- "height": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "Height",
- Description: "The height of the tile, measured in grid squares.",
- },
- "widget": &dcl.Property{
- Type: "object",
- GoName: "Widget",
- GoType: "DashboardMosaicLayoutTilesWidget",
- Description: "The informational widget contained in the tile.",
- Properties: map[string]*dcl.Property{
- "blank": &dcl.Property{
- Type: "object",
- GoName: "Blank",
- GoType: "DashboardMosaicLayoutTilesWidgetBlank",
- Description: "A blank space.",
- Conflicts: []string{
- "xyChart",
- "scorecard",
- "text",
- "logsPanel",
- },
- Properties: map[string]*dcl.Property{},
- },
- "logsPanel": &dcl.Property{
- Type: "object",
- GoName: "LogsPanel",
- GoType: "DashboardMosaicLayoutTilesWidgetLogsPanel",
- Conflicts: []string{
- "xyChart",
- "scorecard",
- "text",
- "blank",
- },
- Properties: map[string]*dcl.Property{
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "A filter that chooses which log entries to return. See [Advanced Logs Queries](https://cloud.google.com/logging/docs/view/advanced-queries). Only log entries that match the filter are returned. An empty filter matches all log entries.",
- },
- "resourceNames": &dcl.Property{
- Type: "array",
- GoName: "ResourceNames",
- Description: "The names of logging resources to collect logs for. Currently only projects are supported. If empty, the widget will default to the host project.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- ResourceReferences: []*dcl.PropertyResourceReference{
- &dcl.PropertyResourceReference{
- Resource: "Cloudresourcemanager/Project",
- Field: "name",
- },
- },
- },
- },
- },
- },
- "scorecard": &dcl.Property{
- Type: "object",
- GoName: "Scorecard",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecard",
- Description: "A scorecard summarizing time series data.",
- Conflicts: []string{
- "xyChart",
- "text",
- "blank",
- "logsPanel",
- },
- Required: []string{
- "timeSeriesQuery",
- },
- Properties: map[string]*dcl.Property{
- "gaugeView": &dcl.Property{
- Type: "object",
- GoName: "GaugeView",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardGaugeView",
- Description: "Will cause the scorecard to show a gauge chart.",
- Properties: map[string]*dcl.Property{
- "lowerBound": &dcl.Property{
- Type: "number",
- Format: "double",
- GoName: "LowerBound",
- Description: "The lower bound for this gauge chart. The value of the chart should always be greater than or equal to this.",
- },
- "upperBound": &dcl.Property{
- Type: "number",
- Format: "double",
- GoName: "UpperBound",
- Description: "The upper bound for this gauge chart. The value of the chart should always be less than or equal to this.",
- },
- },
- },
- "sparkChartView": &dcl.Property{
- Type: "object",
- GoName: "SparkChartView",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardSparkChartView",
- Description: "Will cause the scorecard to show a spark chart.",
- Required: []string{
- "sparkChartType",
- },
- Properties: map[string]*dcl.Property{
- "minAlignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "MinAlignmentPeriod",
- Description: "The lower bound on data point frequency in the chart implemented by specifying the minimum alignment period to use in a time series query. For example, if the data is published once every 10 minutes it would not make sense to fetch and align data at one minute intervals. This field is optional and exists only as a hint.",
- },
- "sparkChartType": &dcl.Property{
- Type: "string",
- GoName: "SparkChartType",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnum",
- Description: "Required. The type of sparkchart to show in this chartView. Possible values: SPARK_CHART_TYPE_UNSPECIFIED, SPARK_LINE, SPARK_BAR",
- Enum: []string{
- "SPARK_CHART_TYPE_UNSPECIFIED",
- "SPARK_LINE",
- "SPARK_BAR",
- },
- },
- },
- },
- "thresholds": &dcl.Property{
- Type: "array",
- GoName: "Thresholds",
- Description: "The thresholds used to determine the state of the scorecard given the time series' current value. For an actual value x, the scorecard is in a danger state if x is less than or equal to a danger threshold that triggers below, or greater than or equal to a danger threshold that triggers above. Similarly, if x is above/below a warning threshold that triggers above/below, then the scorecard is in a warning state - unless x also puts it in a danger state. (Danger trumps warning.) As an example, consider a scorecard with the following four thresholds: { value: 90, category: 'DANGER', trigger: 'ABOVE', },: { value: 70, category: 'WARNING', trigger: 'ABOVE', }, { value: 10, category: 'DANGER', trigger: 'BELOW', }, { value: 20, category: 'WARNING', trigger: 'BELOW', } Then: values less than or equal to 10 would put the scorecard in a DANGER state, values greater than 10 but less than or equal to 20 a WARNING state, values strictly between 20 and 70 an OK state, values greater than or equal to 70 but less than 90 a WARNING state, and values greater than or equal to 90 a DANGER state.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "object",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardThresholds",
- Properties: map[string]*dcl.Property{
- "color": &dcl.Property{
- Type: "string",
- GoName: "Color",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnum",
- Description: "The state color for this threshold. Color is not allowed in a XyChart. Possible values: COLOR_UNSPECIFIED, GREY, BLUE, GREEN, YELLOW, ORANGE, RED",
- Enum: []string{
- "COLOR_UNSPECIFIED",
- "GREY",
- "BLUE",
- "GREEN",
- "YELLOW",
- "ORANGE",
- "RED",
- },
- },
- "direction": &dcl.Property{
- Type: "string",
- GoName: "Direction",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnum",
- Description: "The direction for the current threshold. Direction is not allowed in a XyChart. Possible values: DIRECTION_UNSPECIFIED, ABOVE, BELOW",
- Enum: []string{
- "DIRECTION_UNSPECIFIED",
- "ABOVE",
- "BELOW",
- },
- },
- "label": &dcl.Property{
- Type: "string",
- GoName: "Label",
- Description: "A label for the threshold.",
- },
- "value": &dcl.Property{
- Type: "number",
- Format: "double",
- GoName: "Value",
- Description: "The value of the threshold. The value should be defined in the native scale of the metric.",
- },
- },
- },
- },
- "timeSeriesQuery": &dcl.Property{
- Type: "object",
- GoName: "TimeSeriesQuery",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery",
- Description: "Required. Fields for querying time series data from the Stackdriver metrics API.",
- Properties: map[string]*dcl.Property{
- "timeSeriesFilter": &dcl.Property{
- Type: "object",
- GoName: "TimeSeriesFilter",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter",
- Description: "Filter parameters to fetch time series.",
- Required: []string{
- "filter",
- },
- Properties: map[string]*dcl.Property{
- "aggregation": &dcl.Property{
- Type: "object",
- GoName: "Aggregation",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation",
- Description: "By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.",
- },
- "pickTimeSeriesFilter": &dcl.Property{
- Type: "object",
- GoName: "PickTimeSeriesFilter",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter",
- Description: "Ranking based time series filter.",
- Properties: map[string]*dcl.Property{
- "direction": &dcl.Property{
- Type: "string",
- GoName: "Direction",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum",
- Description: "How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM",
- Enum: []string{
- "DIRECTION_UNSPECIFIED",
- "TOP",
- "BOTTOM",
- },
- },
- "numTimeSeries": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "NumTimeSeries",
- Description: "How many time series to allow to pass through the filter.",
- },
- "rankingMethod": &dcl.Property{
- Type: "string",
- GoName: "RankingMethod",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum",
- Description: "`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST",
- Enum: []string{
- "METHOD_UNSPECIFIED",
- "METHOD_MEAN",
- "METHOD_MAX",
- "METHOD_MIN",
- "METHOD_SUM",
- "METHOD_LATEST",
- },
- },
- },
- },
- "secondaryAggregation": &dcl.Property{
- Type: "object",
- GoName: "SecondaryAggregation",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation",
- Description: "Apply a second aggregation after `aggregation` is applied.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- },
- },
- "timeSeriesFilterRatio": &dcl.Property{
- Type: "object",
- GoName: "TimeSeriesFilterRatio",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio",
- Description: "Parameters to fetch a ratio between two time series filters.",
- Properties: map[string]*dcl.Property{
- "denominator": &dcl.Property{
- Type: "object",
- GoName: "Denominator",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator",
- Description: "The denominator of the ratio.",
- Required: []string{
- "filter",
- },
- Properties: map[string]*dcl.Property{
- "aggregation": &dcl.Property{
- Type: "object",
- GoName: "Aggregation",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation",
- Description: "By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.",
- },
- },
- },
- "numerator": &dcl.Property{
- Type: "object",
- GoName: "Numerator",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator",
- Description: "The numerator of the ratio.",
- Required: []string{
- "filter",
- },
- Properties: map[string]*dcl.Property{
- "aggregation": &dcl.Property{
- Type: "object",
- GoName: "Aggregation",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation",
- Description: "By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.",
- },
- },
- },
- "pickTimeSeriesFilter": &dcl.Property{
- Type: "object",
- GoName: "PickTimeSeriesFilter",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter",
- Description: "Ranking based time series filter.",
- Properties: map[string]*dcl.Property{
- "direction": &dcl.Property{
- Type: "string",
- GoName: "Direction",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum",
- Description: "How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM",
- Enum: []string{
- "DIRECTION_UNSPECIFIED",
- "TOP",
- "BOTTOM",
- },
- },
- "numTimeSeries": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "NumTimeSeries",
- Description: "How many time series to allow to pass through the filter.",
- },
- "rankingMethod": &dcl.Property{
- Type: "string",
- GoName: "RankingMethod",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum",
- Description: "`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST",
- Enum: []string{
- "METHOD_UNSPECIFIED",
- "METHOD_MEAN",
- "METHOD_MAX",
- "METHOD_MIN",
- "METHOD_SUM",
- "METHOD_LATEST",
- },
- },
- },
- },
- "secondaryAggregation": &dcl.Property{
- Type: "object",
- GoName: "SecondaryAggregation",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation",
- Description: "Apply a second aggregation after the ratio is computed.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- },
- },
- "timeSeriesQueryLanguage": &dcl.Property{
- Type: "string",
- GoName: "TimeSeriesQueryLanguage",
- Description: "A query used to fetch time series.",
- },
- "unitOverride": &dcl.Property{
- Type: "string",
- GoName: "UnitOverride",
- Description: "The unit of data contained in fetched time series. If non-empty, this unit will override any unit that accompanies fetched data. The format is the same as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors) field in `MetricDescriptor`.",
- },
- },
- },
- },
- },
- "text": &dcl.Property{
- Type: "object",
- GoName: "Text",
- GoType: "DashboardMosaicLayoutTilesWidgetText",
- Description: "A raw string or markdown displaying textual content.",
- Conflicts: []string{
- "xyChart",
- "scorecard",
- "blank",
- "logsPanel",
- },
- Properties: map[string]*dcl.Property{
- "content": &dcl.Property{
- Type: "string",
- GoName: "Content",
- Description: "The text content to be displayed.",
- },
- "format": &dcl.Property{
- Type: "string",
- GoName: "Format",
- GoType: "DashboardMosaicLayoutTilesWidgetTextFormatEnum",
- Description: "How the text content is formatted. Possible values: FORMAT_UNSPECIFIED, MARKDOWN, RAW",
- Enum: []string{
- "FORMAT_UNSPECIFIED",
- "MARKDOWN",
- "RAW",
- },
- },
- },
- },
- "title": &dcl.Property{
- Type: "string",
- GoName: "Title",
- Description: "Optional. The title of the widget.",
- },
- "xyChart": &dcl.Property{
- Type: "object",
- GoName: "XyChart",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChart",
- Description: "A chart of time series data.",
- Conflicts: []string{
- "scorecard",
- "text",
- "blank",
- "logsPanel",
- },
- Required: []string{
- "dataSets",
- },
- Properties: map[string]*dcl.Property{
- "chartOptions": &dcl.Property{
- Type: "object",
- GoName: "ChartOptions",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartChartOptions",
- Description: "Display options for the chart.",
- Properties: map[string]*dcl.Property{
- "mode": &dcl.Property{
- Type: "string",
- GoName: "Mode",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnum",
- Description: "The chart mode. Possible values: MODE_UNSPECIFIED, COLOR, X_RAY, STATS",
- Enum: []string{
- "MODE_UNSPECIFIED",
- "COLOR",
- "X_RAY",
- "STATS",
- },
- },
- },
- },
- "dataSets": &dcl.Property{
- Type: "array",
- GoName: "DataSets",
- Description: "Required. The data displayed in this chart.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "object",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartDataSets",
- Required: []string{
- "timeSeriesQuery",
- },
- Properties: map[string]*dcl.Property{
- "legendTemplate": &dcl.Property{
- Type: "string",
- GoName: "LegendTemplate",
- Description: "A template string for naming `TimeSeries` in the resulting data set. This should be a string with interpolations of the form `${label_name}`, which will resolve to the label's value. ",
- },
- "minAlignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "MinAlignmentPeriod",
- Description: "Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the `min_alignment_period` should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.",
- },
- "plotType": &dcl.Property{
- Type: "string",
- GoName: "PlotType",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnum",
- Description: "How this data should be plotted on the chart. Possible values: PLOT_TYPE_UNSPECIFIED, LINE, STACKED_AREA, STACKED_BAR, HEATMAP",
- Enum: []string{
- "PLOT_TYPE_UNSPECIFIED",
- "LINE",
- "STACKED_AREA",
- "STACKED_BAR",
- "HEATMAP",
- },
- },
- "timeSeriesQuery": &dcl.Property{
- Type: "object",
- GoName: "TimeSeriesQuery",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery",
- Description: "Required. Fields for querying time series data from the Stackdriver metrics API.",
- Properties: map[string]*dcl.Property{
- "timeSeriesFilter": &dcl.Property{
- Type: "object",
- GoName: "TimeSeriesFilter",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter",
- Description: "Filter parameters to fetch time series.",
- Required: []string{
- "filter",
- },
- Properties: map[string]*dcl.Property{
- "aggregation": &dcl.Property{
- Type: "object",
- GoName: "Aggregation",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation",
- Description: "By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.",
- },
- "pickTimeSeriesFilter": &dcl.Property{
- Type: "object",
- GoName: "PickTimeSeriesFilter",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter",
- Description: "Ranking based time series filter.",
- Properties: map[string]*dcl.Property{
- "direction": &dcl.Property{
- Type: "string",
- GoName: "Direction",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum",
- Description: "How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM",
- Enum: []string{
- "DIRECTION_UNSPECIFIED",
- "TOP",
- "BOTTOM",
- },
- },
- "numTimeSeries": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "NumTimeSeries",
- Description: "How many time series to allow to pass through the filter.",
- },
- "rankingMethod": &dcl.Property{
- Type: "string",
- GoName: "RankingMethod",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum",
- Description: "`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST",
- Enum: []string{
- "METHOD_UNSPECIFIED",
- "METHOD_MEAN",
- "METHOD_MAX",
- "METHOD_MIN",
- "METHOD_SUM",
- "METHOD_LATEST",
- },
- },
- },
- },
- "secondaryAggregation": &dcl.Property{
- Type: "object",
- GoName: "SecondaryAggregation",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation",
- Description: "Apply a second aggregation after `aggregation` is applied.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- },
- },
- "timeSeriesFilterRatio": &dcl.Property{
- Type: "object",
- GoName: "TimeSeriesFilterRatio",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio",
- Description: "Parameters to fetch a ratio between two time series filters.",
- Properties: map[string]*dcl.Property{
- "denominator": &dcl.Property{
- Type: "object",
- GoName: "Denominator",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator",
- Description: "The denominator of the ratio.",
- Required: []string{
- "filter",
- },
- Properties: map[string]*dcl.Property{
- "aggregation": &dcl.Property{
- Type: "object",
- GoName: "Aggregation",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation",
- Description: "By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.",
- },
- },
- },
- "numerator": &dcl.Property{
- Type: "object",
- GoName: "Numerator",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator",
- Description: "The numerator of the ratio.",
- Required: []string{
- "filter",
- },
- Properties: map[string]*dcl.Property{
- "aggregation": &dcl.Property{
- Type: "object",
- GoName: "Aggregation",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation",
- Description: "By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.",
- },
- },
- },
- "pickTimeSeriesFilter": &dcl.Property{
- Type: "object",
- GoName: "PickTimeSeriesFilter",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter",
- Description: "Ranking based time series filter.",
- Properties: map[string]*dcl.Property{
- "direction": &dcl.Property{
- Type: "string",
- GoName: "Direction",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum",
- Description: "How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM",
- Enum: []string{
- "DIRECTION_UNSPECIFIED",
- "TOP",
- "BOTTOM",
- },
- },
- "numTimeSeries": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "NumTimeSeries",
- Description: "How many time series to allow to pass through the filter.",
- },
- "rankingMethod": &dcl.Property{
- Type: "string",
- GoName: "RankingMethod",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum",
- Description: "`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST",
- Enum: []string{
- "METHOD_UNSPECIFIED",
- "METHOD_MEAN",
- "METHOD_MAX",
- "METHOD_MIN",
- "METHOD_SUM",
- "METHOD_LATEST",
- },
- },
- },
- },
- "secondaryAggregation": &dcl.Property{
- Type: "object",
- GoName: "SecondaryAggregation",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation",
- Description: "Apply a second aggregation after the ratio is computed.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- },
- },
- "timeSeriesQueryLanguage": &dcl.Property{
- Type: "string",
- GoName: "TimeSeriesQueryLanguage",
- Description: "A query used to fetch time series.",
- },
- "unitOverride": &dcl.Property{
- Type: "string",
- GoName: "UnitOverride",
- Description: "The unit of data contained in fetched time series. If non-empty, this unit will override any unit that accompanies fetched data. The format is the same as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors) field in `MetricDescriptor`.",
- },
- },
- },
- },
- },
- },
- "thresholds": &dcl.Property{
- Type: "array",
- GoName: "Thresholds",
- Description: "Threshold lines drawn horizontally across the chart.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "object",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartThresholds",
- Properties: map[string]*dcl.Property{
- "color": &dcl.Property{
- Type: "string",
- GoName: "Color",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnum",
- Description: "The state color for this threshold. Color is not allowed in a XyChart. Possible values: COLOR_UNSPECIFIED, GREY, BLUE, GREEN, YELLOW, ORANGE, RED",
- Enum: []string{
- "COLOR_UNSPECIFIED",
- "GREY",
- "BLUE",
- "GREEN",
- "YELLOW",
- "ORANGE",
- "RED",
- },
- },
- "direction": &dcl.Property{
- Type: "string",
- GoName: "Direction",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnum",
- Description: "The direction for the current threshold. Direction is not allowed in a XyChart. Possible values: DIRECTION_UNSPECIFIED, ABOVE, BELOW",
- Enum: []string{
- "DIRECTION_UNSPECIFIED",
- "ABOVE",
- "BELOW",
- },
- },
- "label": &dcl.Property{
- Type: "string",
- GoName: "Label",
- Description: "A label for the threshold.",
- },
- "value": &dcl.Property{
- Type: "number",
- Format: "double",
- GoName: "Value",
- Description: "The value of the threshold. The value should be defined in the native scale of the metric.",
- },
- },
- },
- },
- "timeshiftDuration": &dcl.Property{
- Type: "string",
- GoName: "TimeshiftDuration",
- Description: "The duration used to display a comparison chart. A comparison chart simultaneously shows values from two similar-length time periods (e.g., week-over-week metrics). The duration must be positive, and it can only be applied to charts with data sets of LINE plot type.",
- },
- "xAxis": &dcl.Property{
- Type: "object",
- GoName: "XAxis",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartXAxis",
- Description: "The properties applied to the X axis.",
- Properties: map[string]*dcl.Property{
- "label": &dcl.Property{
- Type: "string",
- GoName: "Label",
- Description: "The label of the axis.",
- },
- "scale": &dcl.Property{
- Type: "string",
- GoName: "Scale",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnum",
- Description: "The axis scale. By default, a linear scale is used. Possible values: SCALE_UNSPECIFIED, LINEAR, LOG10",
- Enum: []string{
- "SCALE_UNSPECIFIED",
- "LINEAR",
- "LOG10",
- },
- },
- },
- },
- "yAxis": &dcl.Property{
- Type: "object",
- GoName: "YAxis",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartYAxis",
- Description: "The properties applied to the Y axis.",
- Properties: map[string]*dcl.Property{
- "label": &dcl.Property{
- Type: "string",
- GoName: "Label",
- Description: "The label of the axis.",
- },
- "scale": &dcl.Property{
- Type: "string",
- GoName: "Scale",
- GoType: "DashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnum",
- Description: "The axis scale. By default, a linear scale is used. Possible values: SCALE_UNSPECIFIED, LINEAR, LOG10",
- Enum: []string{
- "SCALE_UNSPECIFIED",
- "LINEAR",
- "LOG10",
- },
- },
- },
- },
- },
- },
- },
- },
- "width": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "Width",
- Description: "The width of the tile, measured in grid squares.",
- },
- "xPos": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "XPos",
- Description: "The zero-indexed position of the tile in grid squares relative to the left edge of the grid.",
- },
- "yPos": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "YPos",
- Description: "The zero-indexed position of the tile in grid squares relative to the top edge of the grid.",
- },
- },
- },
- },
- },
- },
- "name": &dcl.Property{
- Type: "string",
- GoName: "Name",
- Description: "Immutable. The resource name of the dashboard.",
- Immutable: true,
- },
- "project": &dcl.Property{
- Type: "string",
- GoName: "Project",
- Description: "The project id of the resource.",
- Immutable: true,
- ResourceReferences: []*dcl.PropertyResourceReference{
- &dcl.PropertyResourceReference{
- Resource: "Cloudresourcemanager/Project",
- Field: "name",
- Parent: true,
- },
- },
- },
- "rowLayout": &dcl.Property{
- Type: "object",
- GoName: "RowLayout",
- GoType: "DashboardRowLayout",
- Description: "The content is divided into equally spaced rows and the widgets are arranged horizontally.",
- Conflicts: []string{
- "gridLayout",
- "mosaicLayout",
- "columnLayout",
- },
- Properties: map[string]*dcl.Property{
- "rows": &dcl.Property{
- Type: "array",
- GoName: "Rows",
- Description: "The rows of content to display.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "object",
- GoType: "DashboardRowLayoutRows",
- Properties: map[string]*dcl.Property{
- "weight": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "Weight",
- Description: "The relative weight of this row. The row weight is used to adjust the height of rows on the screen (relative to peers). Greater the weight, greater the height of the row on the screen. If omitted, a value of 1 is used while rendering.",
- },
- "widgets": &dcl.Property{
- Type: "array",
- GoName: "Widgets",
- Description: "The display widgets arranged horizontally in this row.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "object",
- GoType: "DashboardRowLayoutRowsWidgets",
- Properties: map[string]*dcl.Property{
- "blank": &dcl.Property{
- Type: "object",
- GoName: "Blank",
- GoType: "DashboardRowLayoutRowsWidgetsBlank",
- Description: "A blank space.",
- Conflicts: []string{
- "xyChart",
- "scorecard",
- "text",
- "logsPanel",
- },
- Properties: map[string]*dcl.Property{},
- },
- "logsPanel": &dcl.Property{
- Type: "object",
- GoName: "LogsPanel",
- GoType: "DashboardRowLayoutRowsWidgetsLogsPanel",
- Conflicts: []string{
- "xyChart",
- "scorecard",
- "text",
- "blank",
- },
- Properties: map[string]*dcl.Property{
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "A filter that chooses which log entries to return. See [Advanced Logs Queries](https://cloud.google.com/logging/docs/view/advanced-queries). Only log entries that match the filter are returned. An empty filter matches all log entries.",
- },
- "resourceNames": &dcl.Property{
- Type: "array",
- GoName: "ResourceNames",
- Description: "The names of logging resources to collect logs for. Currently only projects are supported. If empty, the widget will default to the host project.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- ResourceReferences: []*dcl.PropertyResourceReference{
- &dcl.PropertyResourceReference{
- Resource: "Cloudresourcemanager/Project",
- Field: "name",
- },
- },
- },
- },
- },
- },
- "scorecard": &dcl.Property{
- Type: "object",
- GoName: "Scorecard",
- GoType: "DashboardRowLayoutRowsWidgetsScorecard",
- Description: "A scorecard summarizing time series data.",
- Conflicts: []string{
- "xyChart",
- "text",
- "blank",
- "logsPanel",
- },
- Required: []string{
- "timeSeriesQuery",
- },
- Properties: map[string]*dcl.Property{
- "gaugeView": &dcl.Property{
- Type: "object",
- GoName: "GaugeView",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardGaugeView",
- Description: "Will cause the scorecard to show a gauge chart.",
- Properties: map[string]*dcl.Property{
- "lowerBound": &dcl.Property{
- Type: "number",
- Format: "double",
- GoName: "LowerBound",
- Description: "The lower bound for this gauge chart. The value of the chart should always be greater than or equal to this.",
- },
- "upperBound": &dcl.Property{
- Type: "number",
- Format: "double",
- GoName: "UpperBound",
- Description: "The upper bound for this gauge chart. The value of the chart should always be less than or equal to this.",
- },
- },
- },
- "sparkChartView": &dcl.Property{
- Type: "object",
- GoName: "SparkChartView",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardSparkChartView",
- Description: "Will cause the scorecard to show a spark chart.",
- Required: []string{
- "sparkChartType",
- },
- Properties: map[string]*dcl.Property{
- "minAlignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "MinAlignmentPeriod",
- Description: "The lower bound on data point frequency in the chart implemented by specifying the minimum alignment period to use in a time series query. For example, if the data is published once every 10 minutes it would not make sense to fetch and align data at one minute intervals. This field is optional and exists only as a hint.",
- },
- "sparkChartType": &dcl.Property{
- Type: "string",
- GoName: "SparkChartType",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnum",
- Description: "Required. The type of sparkchart to show in this chartView. Possible values: SPARK_CHART_TYPE_UNSPECIFIED, SPARK_LINE, SPARK_BAR",
- Enum: []string{
- "SPARK_CHART_TYPE_UNSPECIFIED",
- "SPARK_LINE",
- "SPARK_BAR",
- },
- },
- },
- },
- "thresholds": &dcl.Property{
- Type: "array",
- GoName: "Thresholds",
- Description: "The thresholds used to determine the state of the scorecard given the time series' current value. For an actual value x, the scorecard is in a danger state if x is less than or equal to a danger threshold that triggers below, or greater than or equal to a danger threshold that triggers above. Similarly, if x is above/below a warning threshold that triggers above/below, then the scorecard is in a warning state - unless x also puts it in a danger state. (Danger trumps warning.) As an example, consider a scorecard with the following four thresholds: { value: 90, category: 'DANGER', trigger: 'ABOVE', },: { value: 70, category: 'WARNING', trigger: 'ABOVE', }, { value: 10, category: 'DANGER', trigger: 'BELOW', }, { value: 20, category: 'WARNING', trigger: 'BELOW', } Then: values less than or equal to 10 would put the scorecard in a DANGER state, values greater than 10 but less than or equal to 20 a WARNING state, values strictly between 20 and 70 an OK state, values greater than or equal to 70 but less than 90 a WARNING state, and values greater than or equal to 90 a DANGER state.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "object",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardThresholds",
- Properties: map[string]*dcl.Property{
- "color": &dcl.Property{
- Type: "string",
- GoName: "Color",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnum",
- Description: "The state color for this threshold. Color is not allowed in a XyChart. Possible values: COLOR_UNSPECIFIED, GREY, BLUE, GREEN, YELLOW, ORANGE, RED",
- Enum: []string{
- "COLOR_UNSPECIFIED",
- "GREY",
- "BLUE",
- "GREEN",
- "YELLOW",
- "ORANGE",
- "RED",
- },
- },
- "direction": &dcl.Property{
- Type: "string",
- GoName: "Direction",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnum",
- Description: "The direction for the current threshold. Direction is not allowed in a XyChart. Possible values: DIRECTION_UNSPECIFIED, ABOVE, BELOW",
- Enum: []string{
- "DIRECTION_UNSPECIFIED",
- "ABOVE",
- "BELOW",
- },
- },
- "label": &dcl.Property{
- Type: "string",
- GoName: "Label",
- Description: "A label for the threshold.",
- },
- "value": &dcl.Property{
- Type: "number",
- Format: "double",
- GoName: "Value",
- Description: "The value of the threshold. The value should be defined in the native scale of the metric.",
- },
- },
- },
- },
- "timeSeriesQuery": &dcl.Property{
- Type: "object",
- GoName: "TimeSeriesQuery",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery",
- Description: "Required. Fields for querying time series data from the Stackdriver metrics API.",
- Properties: map[string]*dcl.Property{
- "timeSeriesFilter": &dcl.Property{
- Type: "object",
- GoName: "TimeSeriesFilter",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter",
- Description: "Filter parameters to fetch time series.",
- Required: []string{
- "filter",
- },
- Properties: map[string]*dcl.Property{
- "aggregation": &dcl.Property{
- Type: "object",
- GoName: "Aggregation",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation",
- Description: "By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.",
- },
- "pickTimeSeriesFilter": &dcl.Property{
- Type: "object",
- GoName: "PickTimeSeriesFilter",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter",
- Description: "Ranking based time series filter.",
- Properties: map[string]*dcl.Property{
- "direction": &dcl.Property{
- Type: "string",
- GoName: "Direction",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum",
- Description: "How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM",
- Enum: []string{
- "DIRECTION_UNSPECIFIED",
- "TOP",
- "BOTTOM",
- },
- },
- "numTimeSeries": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "NumTimeSeries",
- Description: "How many time series to allow to pass through the filter.",
- },
- "rankingMethod": &dcl.Property{
- Type: "string",
- GoName: "RankingMethod",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum",
- Description: "`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST",
- Enum: []string{
- "METHOD_UNSPECIFIED",
- "METHOD_MEAN",
- "METHOD_MAX",
- "METHOD_MIN",
- "METHOD_SUM",
- "METHOD_LATEST",
- },
- },
- },
- },
- "secondaryAggregation": &dcl.Property{
- Type: "object",
- GoName: "SecondaryAggregation",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation",
- Description: "Apply a second aggregation after `aggregation` is applied.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- },
- },
- "timeSeriesFilterRatio": &dcl.Property{
- Type: "object",
- GoName: "TimeSeriesFilterRatio",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio",
- Description: "Parameters to fetch a ratio between two time series filters.",
- Properties: map[string]*dcl.Property{
- "denominator": &dcl.Property{
- Type: "object",
- GoName: "Denominator",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator",
- Description: "The denominator of the ratio.",
- Required: []string{
- "filter",
- },
- Properties: map[string]*dcl.Property{
- "aggregation": &dcl.Property{
- Type: "object",
- GoName: "Aggregation",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation",
- Description: "By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.",
- },
- },
- },
- "numerator": &dcl.Property{
- Type: "object",
- GoName: "Numerator",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator",
- Description: "The numerator of the ratio.",
- Required: []string{
- "filter",
- },
- Properties: map[string]*dcl.Property{
- "aggregation": &dcl.Property{
- Type: "object",
- GoName: "Aggregation",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation",
- Description: "By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.",
- },
- },
- },
- "pickTimeSeriesFilter": &dcl.Property{
- Type: "object",
- GoName: "PickTimeSeriesFilter",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter",
- Description: "Ranking based time series filter.",
- Properties: map[string]*dcl.Property{
- "direction": &dcl.Property{
- Type: "string",
- GoName: "Direction",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum",
- Description: "How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM",
- Enum: []string{
- "DIRECTION_UNSPECIFIED",
- "TOP",
- "BOTTOM",
- },
- },
- "numTimeSeries": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "NumTimeSeries",
- Description: "How many time series to allow to pass through the filter.",
- },
- "rankingMethod": &dcl.Property{
- Type: "string",
- GoName: "RankingMethod",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum",
- Description: "`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST",
- Enum: []string{
- "METHOD_UNSPECIFIED",
- "METHOD_MEAN",
- "METHOD_MAX",
- "METHOD_MIN",
- "METHOD_SUM",
- "METHOD_LATEST",
- },
- },
- },
- },
- "secondaryAggregation": &dcl.Property{
- Type: "object",
- GoName: "SecondaryAggregation",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation",
- Description: "Apply a second aggregation after the ratio is computed.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- },
- },
- "timeSeriesQueryLanguage": &dcl.Property{
- Type: "string",
- GoName: "TimeSeriesQueryLanguage",
- Description: "A query used to fetch time series.",
- },
- "unitOverride": &dcl.Property{
- Type: "string",
- GoName: "UnitOverride",
- Description: "The unit of data contained in fetched time series. If non-empty, this unit will override any unit that accompanies fetched data. The format is the same as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors) field in `MetricDescriptor`.",
- },
- },
- },
- },
- },
- "text": &dcl.Property{
- Type: "object",
- GoName: "Text",
- GoType: "DashboardRowLayoutRowsWidgetsText",
- Description: "A raw string or markdown displaying textual content.",
- Conflicts: []string{
- "xyChart",
- "scorecard",
- "blank",
- "logsPanel",
- },
- Properties: map[string]*dcl.Property{
- "content": &dcl.Property{
- Type: "string",
- GoName: "Content",
- Description: "The text content to be displayed.",
- },
- "format": &dcl.Property{
- Type: "string",
- GoName: "Format",
- GoType: "DashboardRowLayoutRowsWidgetsTextFormatEnum",
- Description: "How the text content is formatted. Possible values: FORMAT_UNSPECIFIED, MARKDOWN, RAW",
- Enum: []string{
- "FORMAT_UNSPECIFIED",
- "MARKDOWN",
- "RAW",
- },
- },
- },
- },
- "title": &dcl.Property{
- Type: "string",
- GoName: "Title",
- Description: "Optional. The title of the widget.",
- },
- "xyChart": &dcl.Property{
- Type: "object",
- GoName: "XyChart",
- GoType: "DashboardRowLayoutRowsWidgetsXyChart",
- Description: "A chart of time series data.",
- Conflicts: []string{
- "scorecard",
- "text",
- "blank",
- "logsPanel",
- },
- Required: []string{
- "dataSets",
- },
- Properties: map[string]*dcl.Property{
- "chartOptions": &dcl.Property{
- Type: "object",
- GoName: "ChartOptions",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartChartOptions",
- Description: "Display options for the chart.",
- Properties: map[string]*dcl.Property{
- "mode": &dcl.Property{
- Type: "string",
- GoName: "Mode",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnum",
- Description: "The chart mode. Possible values: MODE_UNSPECIFIED, COLOR, X_RAY, STATS",
- Enum: []string{
- "MODE_UNSPECIFIED",
- "COLOR",
- "X_RAY",
- "STATS",
- },
- },
- },
- },
- "dataSets": &dcl.Property{
- Type: "array",
- GoName: "DataSets",
- Description: "Required. The data displayed in this chart.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "object",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartDataSets",
- Required: []string{
- "timeSeriesQuery",
- },
- Properties: map[string]*dcl.Property{
- "legendTemplate": &dcl.Property{
- Type: "string",
- GoName: "LegendTemplate",
- Description: "A template string for naming `TimeSeries` in the resulting data set. This should be a string with interpolations of the form `${label_name}`, which will resolve to the label's value. ",
- },
- "minAlignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "MinAlignmentPeriod",
- Description: "Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the `min_alignment_period` should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.",
- },
- "plotType": &dcl.Property{
- Type: "string",
- GoName: "PlotType",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnum",
- Description: "How this data should be plotted on the chart. Possible values: PLOT_TYPE_UNSPECIFIED, LINE, STACKED_AREA, STACKED_BAR, HEATMAP",
- Enum: []string{
- "PLOT_TYPE_UNSPECIFIED",
- "LINE",
- "STACKED_AREA",
- "STACKED_BAR",
- "HEATMAP",
- },
- },
- "timeSeriesQuery": &dcl.Property{
- Type: "object",
- GoName: "TimeSeriesQuery",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery",
- Description: "Required. Fields for querying time series data from the Stackdriver metrics API.",
- Properties: map[string]*dcl.Property{
- "timeSeriesFilter": &dcl.Property{
- Type: "object",
- GoName: "TimeSeriesFilter",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter",
- Description: "Filter parameters to fetch time series.",
- Required: []string{
- "filter",
- },
- Properties: map[string]*dcl.Property{
- "aggregation": &dcl.Property{
- Type: "object",
- GoName: "Aggregation",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation",
- Description: "By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.",
- },
- "pickTimeSeriesFilter": &dcl.Property{
- Type: "object",
- GoName: "PickTimeSeriesFilter",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter",
- Description: "Ranking based time series filter.",
- Properties: map[string]*dcl.Property{
- "direction": &dcl.Property{
- Type: "string",
- GoName: "Direction",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum",
- Description: "How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM",
- Enum: []string{
- "DIRECTION_UNSPECIFIED",
- "TOP",
- "BOTTOM",
- },
- },
- "numTimeSeries": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "NumTimeSeries",
- Description: "How many time series to allow to pass through the filter.",
- },
- "rankingMethod": &dcl.Property{
- Type: "string",
- GoName: "RankingMethod",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum",
- Description: "`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST",
- Enum: []string{
- "METHOD_UNSPECIFIED",
- "METHOD_MEAN",
- "METHOD_MAX",
- "METHOD_MIN",
- "METHOD_SUM",
- "METHOD_LATEST",
- },
- },
- },
- },
- "secondaryAggregation": &dcl.Property{
- Type: "object",
- GoName: "SecondaryAggregation",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation",
- Description: "Apply a second aggregation after `aggregation` is applied.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- },
- },
- "timeSeriesFilterRatio": &dcl.Property{
- Type: "object",
- GoName: "TimeSeriesFilterRatio",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio",
- Description: "Parameters to fetch a ratio between two time series filters.",
- Properties: map[string]*dcl.Property{
- "denominator": &dcl.Property{
- Type: "object",
- GoName: "Denominator",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator",
- Description: "The denominator of the ratio.",
- Required: []string{
- "filter",
- },
- Properties: map[string]*dcl.Property{
- "aggregation": &dcl.Property{
- Type: "object",
- GoName: "Aggregation",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation",
- Description: "By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.",
- },
- },
- },
- "numerator": &dcl.Property{
- Type: "object",
- GoName: "Numerator",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator",
- Description: "The numerator of the ratio.",
- Required: []string{
- "filter",
- },
- Properties: map[string]*dcl.Property{
- "aggregation": &dcl.Property{
- Type: "object",
- GoName: "Aggregation",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation",
- Description: "By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.",
- },
- },
- },
- "pickTimeSeriesFilter": &dcl.Property{
- Type: "object",
- GoName: "PickTimeSeriesFilter",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter",
- Description: "Ranking based time series filter.",
- Properties: map[string]*dcl.Property{
- "direction": &dcl.Property{
- Type: "string",
- GoName: "Direction",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum",
- Description: "How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM",
- Enum: []string{
- "DIRECTION_UNSPECIFIED",
- "TOP",
- "BOTTOM",
- },
- },
- "numTimeSeries": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "NumTimeSeries",
- Description: "How many time series to allow to pass through the filter.",
- },
- "rankingMethod": &dcl.Property{
- Type: "string",
- GoName: "RankingMethod",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum",
- Description: "`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST",
- Enum: []string{
- "METHOD_UNSPECIFIED",
- "METHOD_MEAN",
- "METHOD_MAX",
- "METHOD_MIN",
- "METHOD_SUM",
- "METHOD_LATEST",
- },
- },
- },
- },
- "secondaryAggregation": &dcl.Property{
- Type: "object",
- GoName: "SecondaryAggregation",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation",
- Description: "Apply a second aggregation after the ratio is computed.",
- Properties: map[string]*dcl.Property{
- "alignmentPeriod": &dcl.Property{
- Type: "string",
- GoName: "AlignmentPeriod",
- Description: "The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.",
- },
- "crossSeriesReducer": &dcl.Property{
- Type: "string",
- GoName: "CrossSeriesReducer",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum",
- Description: "The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION",
- Enum: []string{
- "REDUCE_NONE",
- "REDUCE_MEAN",
- "REDUCE_MIN",
- "REDUCE_MAX",
- "REDUCE_SUM",
- "REDUCE_STDDEV",
- "REDUCE_COUNT",
- "REDUCE_COUNT_TRUE",
- "REDUCE_COUNT_FALSE",
- "REDUCE_FRACTION_TRUE",
- "REDUCE_PERCENTILE_99",
- "REDUCE_PERCENTILE_95",
- "REDUCE_PERCENTILE_50",
- "REDUCE_PERCENTILE_05",
- "REDUCE_FRACTION_LESS_THAN",
- "REDUCE_MAKE_DISTRIBUTION",
- },
- },
- "groupByFields": &dcl.Property{
- Type: "array",
- GoName: "GroupByFields",
- Description: "The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "perSeriesAligner": &dcl.Property{
- Type: "string",
- GoName: "PerSeriesAligner",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum",
- Description: "An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.",
- Enum: []string{
- "ALIGN_NONE",
- "ALIGN_DELTA",
- "ALIGN_RATE",
- "ALIGN_INTERPOLATE",
- "ALIGN_NEXT_OLDER",
- "ALIGN_MIN",
- "ALIGN_MAX",
- "ALIGN_MEAN",
- "ALIGN_COUNT",
- "ALIGN_SUM",
- "ALIGN_STDDEV",
- "ALIGN_COUNT_TRUE",
- "ALIGN_COUNT_FALSE",
- "ALIGN_FRACTION_TRUE",
- "ALIGN_PERCENTILE_99",
- "ALIGN_PERCENTILE_95",
- "ALIGN_PERCENTILE_50",
- "ALIGN_PERCENTILE_05",
- "ALIGN_MAKE_DISTRIBUTION",
- "ALIGN_PERCENT_CHANGE",
- },
- },
- },
- },
- },
- },
- "timeSeriesQueryLanguage": &dcl.Property{
- Type: "string",
- GoName: "TimeSeriesQueryLanguage",
- Description: "A query used to fetch time series.",
- },
- "unitOverride": &dcl.Property{
- Type: "string",
- GoName: "UnitOverride",
- Description: "The unit of data contained in fetched time series. If non-empty, this unit will override any unit that accompanies fetched data. The format is the same as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors) field in `MetricDescriptor`.",
- },
- },
- },
- },
- },
- },
- "thresholds": &dcl.Property{
- Type: "array",
- GoName: "Thresholds",
- Description: "Threshold lines drawn horizontally across the chart.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "object",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartThresholds",
- Properties: map[string]*dcl.Property{
- "color": &dcl.Property{
- Type: "string",
- GoName: "Color",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnum",
- Description: "The state color for this threshold. Color is not allowed in a XyChart. Possible values: COLOR_UNSPECIFIED, GREY, BLUE, GREEN, YELLOW, ORANGE, RED",
- Enum: []string{
- "COLOR_UNSPECIFIED",
- "GREY",
- "BLUE",
- "GREEN",
- "YELLOW",
- "ORANGE",
- "RED",
- },
- },
- "direction": &dcl.Property{
- Type: "string",
- GoName: "Direction",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnum",
- Description: "The direction for the current threshold. Direction is not allowed in a XyChart. Possible values: DIRECTION_UNSPECIFIED, ABOVE, BELOW",
- Enum: []string{
- "DIRECTION_UNSPECIFIED",
- "ABOVE",
- "BELOW",
- },
- },
- "label": &dcl.Property{
- Type: "string",
- GoName: "Label",
- Description: "A label for the threshold.",
- },
- "value": &dcl.Property{
- Type: "number",
- Format: "double",
- GoName: "Value",
- Description: "The value of the threshold. The value should be defined in the native scale of the metric.",
- },
- },
- },
- },
- "timeshiftDuration": &dcl.Property{
- Type: "string",
- GoName: "TimeshiftDuration",
- Description: "The duration used to display a comparison chart. A comparison chart simultaneously shows values from two similar-length time periods (e.g., week-over-week metrics). The duration must be positive, and it can only be applied to charts with data sets of LINE plot type.",
- },
- "xAxis": &dcl.Property{
- Type: "object",
- GoName: "XAxis",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartXAxis",
- Description: "The properties applied to the X axis.",
- Properties: map[string]*dcl.Property{
- "label": &dcl.Property{
- Type: "string",
- GoName: "Label",
- Description: "The label of the axis.",
- },
- "scale": &dcl.Property{
- Type: "string",
- GoName: "Scale",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnum",
- Description: "The axis scale. By default, a linear scale is used. Possible values: SCALE_UNSPECIFIED, LINEAR, LOG10",
- Enum: []string{
- "SCALE_UNSPECIFIED",
- "LINEAR",
- "LOG10",
- },
- },
- },
- },
- "yAxis": &dcl.Property{
- Type: "object",
- GoName: "YAxis",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartYAxis",
- Description: "The properties applied to the Y axis.",
- Properties: map[string]*dcl.Property{
- "label": &dcl.Property{
- Type: "string",
- GoName: "Label",
- Description: "The label of the axis.",
- },
- "scale": &dcl.Property{
- Type: "string",
- GoName: "Scale",
- GoType: "DashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnum",
- Description: "The axis scale. By default, a linear scale is used. Possible values: SCALE_UNSPECIFIED, LINEAR, LOG10",
- Enum: []string{
- "SCALE_UNSPECIFIED",
- "LINEAR",
- "LOG10",
- },
- },
- },
- },
- },
- },
- },
- },
- },
- },
- },
- },
- },
- },
- },
- },
- },
- },
- },
- }
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/dashboard_yaml_embed.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/dashboard_yaml_embed.go
deleted file mode 100644
index e25366d4e3..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/dashboard_yaml_embed.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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.
-// GENERATED BY gen_go_data.go
-// gen_go_data -package monitoring -var YAML_dashboard blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/monitoring/dashboard.yaml
-
-package monitoring
-
-// blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/monitoring/dashboard.yaml
-var YAML_dashboard = []byte("info:\n title: Monitoring/Dashboard\n description: The Monitoring Dashboard resource\n x-dcl-struct-name: Dashboard\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a Dashboard\n parameters:\n - name: dashboard\n required: true\n description: A full instance of a Dashboard\n apply:\n description: The function used to apply information about a Dashboard\n parameters:\n - name: dashboard\n required: true\n description: A full instance of a Dashboard\n delete:\n description: The function used to delete a Dashboard\n parameters:\n - name: dashboard\n required: true\n description: A full instance of a Dashboard\n deleteAll:\n description: The function used to delete all Dashboard\n parameters:\n - name: project\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many Dashboard\n parameters:\n - name: project\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n Dashboard:\n title: Dashboard\n x-dcl-id: projects/{{project}}/dashboards/{{name}}\n x-dcl-parent-container: project\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - displayName\n - project\n properties:\n columnLayout:\n type: object\n x-dcl-go-name: ColumnLayout\n x-dcl-go-type: DashboardColumnLayout\n description: The content is divided into equally spaced columns and the\n widgets are arranged vertically.\n x-dcl-conflicts:\n - gridLayout\n - mosaicLayout\n - rowLayout\n properties:\n columns:\n type: array\n x-dcl-go-name: Columns\n description: The columns of content to display.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DashboardColumnLayoutColumns\n properties:\n weight:\n type: integer\n format: int64\n x-dcl-go-name: Weight\n description: The relative weight of this column. The column weight\n is used to adjust the width of columns on the screen (relative\n to peers). Greater the weight, greater the width of the column\n on the screen. If omitted, a value of 1 is used while rendering.\n widgets:\n type: array\n x-dcl-go-name: Widgets\n description: The display widgets arranged vertically in this column.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgets\n properties:\n blank:\n type: object\n x-dcl-go-name: Blank\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsBlank\n description: A blank space.\n x-dcl-conflicts:\n - xyChart\n - scorecard\n - text\n - logsPanel\n logsPanel:\n type: object\n x-dcl-go-name: LogsPanel\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsLogsPanel\n x-dcl-conflicts:\n - xyChart\n - scorecard\n - text\n - blank\n properties:\n filter:\n type: string\n x-dcl-go-name: Filter\n description: A filter that chooses which log entries\n to return. See [Advanced Logs Queries](https://cloud.google.com/logging/docs/view/advanced-queries).\n Only log entries that match the filter are returned.\n An empty filter matches all log entries.\n resourceNames:\n type: array\n x-dcl-go-name: ResourceNames\n description: The names of logging resources to collect\n logs for. Currently only projects are supported. If\n empty, the widget will default to the host project.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n scorecard:\n type: object\n x-dcl-go-name: Scorecard\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecard\n description: A scorecard summarizing time series data.\n x-dcl-conflicts:\n - xyChart\n - text\n - blank\n - logsPanel\n required:\n - timeSeriesQuery\n properties:\n gaugeView:\n type: object\n x-dcl-go-name: GaugeView\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardGaugeView\n description: Will cause the scorecard to show a gauge\n chart.\n properties:\n lowerBound:\n type: number\n format: double\n x-dcl-go-name: LowerBound\n description: The lower bound for this gauge chart.\n The value of the chart should always be greater\n than or equal to this.\n upperBound:\n type: number\n format: double\n x-dcl-go-name: UpperBound\n description: The upper bound for this gauge chart.\n The value of the chart should always be less than\n or equal to this.\n sparkChartView:\n type: object\n x-dcl-go-name: SparkChartView\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView\n description: Will cause the scorecard to show a spark\n chart.\n required:\n - sparkChartType\n properties:\n minAlignmentPeriod:\n type: string\n x-dcl-go-name: MinAlignmentPeriod\n description: The lower bound on data point frequency\n in the chart implemented by specifying the minimum\n alignment period to use in a time series query.\n For example, if the data is published once every\n 10 minutes it would not make sense to fetch and\n align data at one minute intervals. This field\n is optional and exists only as a hint.\n sparkChartType:\n type: string\n x-dcl-go-name: SparkChartType\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnum\n description: 'Required. The type of sparkchart to\n show in this chartView. Possible values: SPARK_CHART_TYPE_UNSPECIFIED,\n SPARK_LINE, SPARK_BAR'\n enum:\n - SPARK_CHART_TYPE_UNSPECIFIED\n - SPARK_LINE\n - SPARK_BAR\n thresholds:\n type: array\n x-dcl-go-name: Thresholds\n description: 'The thresholds used to determine the state\n of the scorecard given the time series'' current value.\n For an actual value x, the scorecard is in a danger\n state if x is less than or equal to a danger threshold\n that triggers below, or greater than or equal to a\n danger threshold that triggers above. Similarly, if\n x is above/below a warning threshold that triggers\n above/below, then the scorecard is in a warning state\n - unless x also puts it in a danger state. (Danger\n trumps warning.) As an example, consider a scorecard\n with the following four thresholds: { value: 90, category:\n ''DANGER'', trigger: ''ABOVE'', },: { value: 70, category:\n ''WARNING'', trigger: ''ABOVE'', }, { value: 10, category:\n ''DANGER'', trigger: ''BELOW'', }, { value: 20, category:\n ''WARNING'', trigger: ''BELOW'', } Then: values\n less than or equal to 10 would put the scorecard in\n a DANGER state, values greater than 10 but less than\n or equal to 20 a WARNING state, values strictly between\n 20 and 70 an OK state, values greater than or equal\n to 70 but less than 90 a WARNING state, and values\n greater than or equal to 90 a DANGER state.'\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardThresholds\n properties:\n color:\n type: string\n x-dcl-go-name: Color\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnum\n description: 'The state color for this threshold.\n Color is not allowed in a XyChart. Possible\n values: COLOR_UNSPECIFIED, GREY, BLUE, GREEN,\n YELLOW, ORANGE, RED'\n enum:\n - COLOR_UNSPECIFIED\n - GREY\n - BLUE\n - GREEN\n - YELLOW\n - ORANGE\n - RED\n direction:\n type: string\n x-dcl-go-name: Direction\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnum\n description: 'The direction for the current threshold.\n Direction is not allowed in a XyChart. Possible\n values: DIRECTION_UNSPECIFIED, ABOVE, BELOW'\n enum:\n - DIRECTION_UNSPECIFIED\n - ABOVE\n - BELOW\n label:\n type: string\n x-dcl-go-name: Label\n description: A label for the threshold.\n value:\n type: number\n format: double\n x-dcl-go-name: Value\n description: The value of the threshold. The value\n should be defined in the native scale of the\n metric.\n timeSeriesQuery:\n type: object\n x-dcl-go-name: TimeSeriesQuery\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery\n description: Required. Fields for querying time series\n data from the Stackdriver metrics API.\n properties:\n timeSeriesFilter:\n type: object\n x-dcl-go-name: TimeSeriesFilter\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter\n description: Filter parameters to fetch time series.\n required:\n - filter\n properties:\n aggregation:\n type: object\n x-dcl-go-name: Aggregation\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation\n description: By default, the raw time series\n data is returned. Use this field to combine\n multiple time series for different views of\n the data.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period` specifies\n a time interval, in seconds, that is used\n to divide the data in all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time. This will\n be done before the per-series aligner\n can be applied to the data. The value\n must be at least 60 seconds. If a per-series\n aligner other than `ALIGN_NONE` is specified,\n this field is required or an error is\n returned. If no per-series aligner is\n specified, or the aligner `ALIGN_NONE`\n is specified, then this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum\n description: 'The reduction operation to\n be used to combine time series into a\n single time series, where the value of\n each data point in the resulting series\n is a function of all the already aligned\n values in the input time series. Not\n all reducer operations can be applied\n to all time series. The valid choices\n depend on the `metric_kind` and the `value_type`\n of the original time series. Reduction\n can yield a time series with a different\n `metric_kind` or `value_type` than the\n input time series. Time series data must\n first be aligned (see `per_series_aligner`)\n in order to perform cross-time series\n reduction. If `cross_series_reducer` is\n specified, then `per_series_aligner` must\n be specified, and must not be `ALIGN_NONE`.\n An `alignment_period` must also be specified;\n otherwise, an error is returned. Possible\n values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,\n REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to preserve\n when `cross_series_reducer` is specified.\n The `group_by_fields` determine how the\n time series are partitioned into subsets\n prior to applying the aggregation operation.\n Each subset contains time series that\n have the same value for each of the grouping\n fields. Each individual time series is\n a member of exactly one subset. The `cross_series_reducer`\n is applied to each subset of time series.\n It is not possible to reduce across different\n resource types, so this field implicitly\n contains `resource.type`. Fields not\n specified in `group_by_fields` are aggregated\n away. If `group_by_fields` is not specified\n and all the time series have the same\n resource type, then the time series are\n aggregated into a single output time series.\n If `cross_series_reducer` is not defined,\n this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes how\n to bring the data points in a single time\n series into temporal alignment. Except\n for `ALIGN_NONE`, all alignments cause\n all the data points in an `alignment_period`\n to be mathematically grouped together,\n resulting in a single data point for each\n `alignment_period` with end timestamp\n at the end of the period. Not all alignment\n operations may be applied to all time\n series. The valid choices depend on the\n `metric_kind` and `value_type` of the\n original time series. Alignment can change\n the `metric_kind` or the `value_type`\n of the time series. Time series data\n must be aligned in order to perform cross-time\n series reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified and not equal to `ALIGN_NONE`\n and `alignment_period` must be specified;\n otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n filter:\n type: string\n x-dcl-go-name: Filter\n description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n that identifies the metric types, resources,\n and projects to query.\n pickTimeSeriesFilter:\n type: object\n x-dcl-go-name: PickTimeSeriesFilter\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter\n description: Ranking based time series filter.\n properties:\n direction:\n type: string\n x-dcl-go-name: Direction\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum\n description: 'How to use the ranking to\n select time series that pass through the\n filter. Possible values: DIRECTION_UNSPECIFIED,\n TOP, BOTTOM'\n enum:\n - DIRECTION_UNSPECIFIED\n - TOP\n - BOTTOM\n numTimeSeries:\n type: integer\n format: int64\n x-dcl-go-name: NumTimeSeries\n description: How many time series to allow\n to pass through the filter.\n rankingMethod:\n type: string\n x-dcl-go-name: RankingMethod\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum\n description: '`ranking_method` is applied\n to each time series independently to produce\n the value which will be used to compare\n the time series to other time series.\n Possible values: METHOD_UNSPECIFIED, METHOD_MEAN,\n METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST'\n enum:\n - METHOD_UNSPECIFIED\n - METHOD_MEAN\n - METHOD_MAX\n - METHOD_MIN\n - METHOD_SUM\n - METHOD_LATEST\n secondaryAggregation:\n type: object\n x-dcl-go-name: SecondaryAggregation\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation\n description: Apply a second aggregation after\n `aggregation` is applied.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period` specifies\n a time interval, in seconds, that is used\n to divide the data in all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time. This will\n be done before the per-series aligner\n can be applied to the data. The value\n must be at least 60 seconds. If a per-series\n aligner other than `ALIGN_NONE` is specified,\n this field is required or an error is\n returned. If no per-series aligner is\n specified, or the aligner `ALIGN_NONE`\n is specified, then this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum\n description: 'The reduction operation to\n be used to combine time series into a\n single time series, where the value of\n each data point in the resulting series\n is a function of all the already aligned\n values in the input time series. Not\n all reducer operations can be applied\n to all time series. The valid choices\n depend on the `metric_kind` and the `value_type`\n of the original time series. Reduction\n can yield a time series with a different\n `metric_kind` or `value_type` than the\n input time series. Time series data must\n first be aligned (see `per_series_aligner`)\n in order to perform cross-time series\n reduction. If `cross_series_reducer` is\n specified, then `per_series_aligner` must\n be specified, and must not be `ALIGN_NONE`.\n An `alignment_period` must also be specified;\n otherwise, an error is returned. Possible\n values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,\n REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to preserve\n when `cross_series_reducer` is specified.\n The `group_by_fields` determine how the\n time series are partitioned into subsets\n prior to applying the aggregation operation.\n Each subset contains time series that\n have the same value for each of the grouping\n fields. Each individual time series is\n a member of exactly one subset. The `cross_series_reducer`\n is applied to each subset of time series.\n It is not possible to reduce across different\n resource types, so this field implicitly\n contains `resource.type`. Fields not\n specified in `group_by_fields` are aggregated\n away. If `group_by_fields` is not specified\n and all the time series have the same\n resource type, then the time series are\n aggregated into a single output time series.\n If `cross_series_reducer` is not defined,\n this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes how\n to bring the data points in a single time\n series into temporal alignment. Except\n for `ALIGN_NONE`, all alignments cause\n all the data points in an `alignment_period`\n to be mathematically grouped together,\n resulting in a single data point for each\n `alignment_period` with end timestamp\n at the end of the period. Not all alignment\n operations may be applied to all time\n series. The valid choices depend on the\n `metric_kind` and `value_type` of the\n original time series. Alignment can change\n the `metric_kind` or the `value_type`\n of the time series. Time series data\n must be aligned in order to perform cross-time\n series reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified and not equal to `ALIGN_NONE`\n and `alignment_period` must be specified;\n otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n timeSeriesFilterRatio:\n type: object\n x-dcl-go-name: TimeSeriesFilterRatio\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio\n description: Parameters to fetch a ratio between\n two time series filters.\n properties:\n denominator:\n type: object\n x-dcl-go-name: Denominator\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator\n description: The denominator of the ratio.\n required:\n - filter\n properties:\n aggregation:\n type: object\n x-dcl-go-name: Aggregation\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation\n description: By default, the raw time series\n data is returned. Use this field to combine\n multiple time series for different views\n of the data.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period`\n specifies a time interval, in seconds,\n that is used to divide the data in\n all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time. This\n will be done before the per-series\n aligner can be applied to the data. The\n value must be at least 60 seconds.\n If a per-series aligner other than\n `ALIGN_NONE` is specified, this field\n is required or an error is returned.\n If no per-series aligner is specified,\n or the aligner `ALIGN_NONE` is specified,\n then this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum\n description: 'The reduction operation\n to be used to combine time series\n into a single time series, where the\n value of each data point in the resulting\n series is a function of all the already\n aligned values in the input time series. Not\n all reducer operations can be applied\n to all time series. The valid choices\n depend on the `metric_kind` and the\n `value_type` of the original time\n series. Reduction can yield a time\n series with a different `metric_kind`\n or `value_type` than the input time\n series. Time series data must first\n be aligned (see `per_series_aligner`)\n in order to perform cross-time series\n reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified, and must not be\n `ALIGN_NONE`. An `alignment_period`\n must also be specified; otherwise,\n an error is returned. Possible values:\n REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,\n REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to preserve\n when `cross_series_reducer` is specified.\n The `group_by_fields` determine how\n the time series are partitioned into\n subsets prior to applying the aggregation\n operation. Each subset contains time\n series that have the same value for\n each of the grouping fields. Each\n individual time series is a member\n of exactly one subset. The `cross_series_reducer`\n is applied to each subset of time\n series. It is not possible to reduce\n across different resource types, so\n this field implicitly contains `resource.type`. Fields\n not specified in `group_by_fields`\n are aggregated away. If `group_by_fields`\n is not specified and all the time\n series have the same resource type,\n then the time series are aggregated\n into a single output time series.\n If `cross_series_reducer` is not defined,\n this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes\n how to bring the data points in a\n single time series into temporal alignment.\n Except for `ALIGN_NONE`, all alignments\n cause all the data points in an `alignment_period`\n to be mathematically grouped together,\n resulting in a single data point for\n each `alignment_period` with end timestamp\n at the end of the period. Not all\n alignment operations may be applied\n to all time series. The valid choices\n depend on the `metric_kind` and `value_type`\n of the original time series. Alignment\n can change the `metric_kind` or the\n `value_type` of the time series. Time\n series data must be aligned in order\n to perform cross-time series reduction.\n If `cross_series_reducer` is specified,\n then `per_series_aligner` must be\n specified and not equal to `ALIGN_NONE`\n and `alignment_period` must be specified;\n otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n filter:\n type: string\n x-dcl-go-name: Filter\n description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n that identifies the metric types, resources,\n and projects to query.\n numerator:\n type: object\n x-dcl-go-name: Numerator\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator\n description: The numerator of the ratio.\n required:\n - filter\n properties:\n aggregation:\n type: object\n x-dcl-go-name: Aggregation\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation\n description: By default, the raw time series\n data is returned. Use this field to combine\n multiple time series for different views\n of the data.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period`\n specifies a time interval, in seconds,\n that is used to divide the data in\n all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time. This\n will be done before the per-series\n aligner can be applied to the data. The\n value must be at least 60 seconds.\n If a per-series aligner other than\n `ALIGN_NONE` is specified, this field\n is required or an error is returned.\n If no per-series aligner is specified,\n or the aligner `ALIGN_NONE` is specified,\n then this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum\n description: 'The reduction operation\n to be used to combine time series\n into a single time series, where the\n value of each data point in the resulting\n series is a function of all the already\n aligned values in the input time series. Not\n all reducer operations can be applied\n to all time series. The valid choices\n depend on the `metric_kind` and the\n `value_type` of the original time\n series. Reduction can yield a time\n series with a different `metric_kind`\n or `value_type` than the input time\n series. Time series data must first\n be aligned (see `per_series_aligner`)\n in order to perform cross-time series\n reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified, and must not be\n `ALIGN_NONE`. An `alignment_period`\n must also be specified; otherwise,\n an error is returned. Possible values:\n REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,\n REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to preserve\n when `cross_series_reducer` is specified.\n The `group_by_fields` determine how\n the time series are partitioned into\n subsets prior to applying the aggregation\n operation. Each subset contains time\n series that have the same value for\n each of the grouping fields. Each\n individual time series is a member\n of exactly one subset. The `cross_series_reducer`\n is applied to each subset of time\n series. It is not possible to reduce\n across different resource types, so\n this field implicitly contains `resource.type`. Fields\n not specified in `group_by_fields`\n are aggregated away. If `group_by_fields`\n is not specified and all the time\n series have the same resource type,\n then the time series are aggregated\n into a single output time series.\n If `cross_series_reducer` is not defined,\n this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes\n how to bring the data points in a\n single time series into temporal alignment.\n Except for `ALIGN_NONE`, all alignments\n cause all the data points in an `alignment_period`\n to be mathematically grouped together,\n resulting in a single data point for\n each `alignment_period` with end timestamp\n at the end of the period. Not all\n alignment operations may be applied\n to all time series. The valid choices\n depend on the `metric_kind` and `value_type`\n of the original time series. Alignment\n can change the `metric_kind` or the\n `value_type` of the time series. Time\n series data must be aligned in order\n to perform cross-time series reduction.\n If `cross_series_reducer` is specified,\n then `per_series_aligner` must be\n specified and not equal to `ALIGN_NONE`\n and `alignment_period` must be specified;\n otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n filter:\n type: string\n x-dcl-go-name: Filter\n description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n that identifies the metric types, resources,\n and projects to query.\n pickTimeSeriesFilter:\n type: object\n x-dcl-go-name: PickTimeSeriesFilter\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter\n description: Ranking based time series filter.\n properties:\n direction:\n type: string\n x-dcl-go-name: Direction\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum\n description: 'How to use the ranking to\n select time series that pass through the\n filter. Possible values: DIRECTION_UNSPECIFIED,\n TOP, BOTTOM'\n enum:\n - DIRECTION_UNSPECIFIED\n - TOP\n - BOTTOM\n numTimeSeries:\n type: integer\n format: int64\n x-dcl-go-name: NumTimeSeries\n description: How many time series to allow\n to pass through the filter.\n rankingMethod:\n type: string\n x-dcl-go-name: RankingMethod\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum\n description: '`ranking_method` is applied\n to each time series independently to produce\n the value which will be used to compare\n the time series to other time series.\n Possible values: METHOD_UNSPECIFIED, METHOD_MEAN,\n METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST'\n enum:\n - METHOD_UNSPECIFIED\n - METHOD_MEAN\n - METHOD_MAX\n - METHOD_MIN\n - METHOD_SUM\n - METHOD_LATEST\n secondaryAggregation:\n type: object\n x-dcl-go-name: SecondaryAggregation\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation\n description: Apply a second aggregation after\n the ratio is computed.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period` specifies\n a time interval, in seconds, that is used\n to divide the data in all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time. This will\n be done before the per-series aligner\n can be applied to the data. The value\n must be at least 60 seconds. If a per-series\n aligner other than `ALIGN_NONE` is specified,\n this field is required or an error is\n returned. If no per-series aligner is\n specified, or the aligner `ALIGN_NONE`\n is specified, then this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum\n description: 'The reduction operation to\n be used to combine time series into a\n single time series, where the value of\n each data point in the resulting series\n is a function of all the already aligned\n values in the input time series. Not\n all reducer operations can be applied\n to all time series. The valid choices\n depend on the `metric_kind` and the `value_type`\n of the original time series. Reduction\n can yield a time series with a different\n `metric_kind` or `value_type` than the\n input time series. Time series data must\n first be aligned (see `per_series_aligner`)\n in order to perform cross-time series\n reduction. If `cross_series_reducer` is\n specified, then `per_series_aligner` must\n be specified, and must not be `ALIGN_NONE`.\n An `alignment_period` must also be specified;\n otherwise, an error is returned. Possible\n values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,\n REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to preserve\n when `cross_series_reducer` is specified.\n The `group_by_fields` determine how the\n time series are partitioned into subsets\n prior to applying the aggregation operation.\n Each subset contains time series that\n have the same value for each of the grouping\n fields. Each individual time series is\n a member of exactly one subset. The `cross_series_reducer`\n is applied to each subset of time series.\n It is not possible to reduce across different\n resource types, so this field implicitly\n contains `resource.type`. Fields not\n specified in `group_by_fields` are aggregated\n away. If `group_by_fields` is not specified\n and all the time series have the same\n resource type, then the time series are\n aggregated into a single output time series.\n If `cross_series_reducer` is not defined,\n this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes how\n to bring the data points in a single time\n series into temporal alignment. Except\n for `ALIGN_NONE`, all alignments cause\n all the data points in an `alignment_period`\n to be mathematically grouped together,\n resulting in a single data point for each\n `alignment_period` with end timestamp\n at the end of the period. Not all alignment\n operations may be applied to all time\n series. The valid choices depend on the\n `metric_kind` and `value_type` of the\n original time series. Alignment can change\n the `metric_kind` or the `value_type`\n of the time series. Time series data\n must be aligned in order to perform cross-time\n series reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified and not equal to `ALIGN_NONE`\n and `alignment_period` must be specified;\n otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n timeSeriesQueryLanguage:\n type: string\n x-dcl-go-name: TimeSeriesQueryLanguage\n description: A query used to fetch time series.\n unitOverride:\n type: string\n x-dcl-go-name: UnitOverride\n description: The unit of data contained in fetched\n time series. If non-empty, this unit will override\n any unit that accompanies fetched data. The format\n is the same as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors)\n field in `MetricDescriptor`.\n text:\n type: object\n x-dcl-go-name: Text\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsText\n description: A raw string or markdown displaying textual\n content.\n x-dcl-conflicts:\n - xyChart\n - scorecard\n - blank\n - logsPanel\n properties:\n content:\n type: string\n x-dcl-go-name: Content\n description: The text content to be displayed.\n format:\n type: string\n x-dcl-go-name: Format\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsTextFormatEnum\n description: 'How the text content is formatted. Possible\n values: FORMAT_UNSPECIFIED, MARKDOWN, RAW'\n enum:\n - FORMAT_UNSPECIFIED\n - MARKDOWN\n - RAW\n title:\n type: string\n x-dcl-go-name: Title\n description: Optional. The title of the widget.\n xyChart:\n type: object\n x-dcl-go-name: XyChart\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChart\n description: A chart of time series data.\n x-dcl-conflicts:\n - scorecard\n - text\n - blank\n - logsPanel\n required:\n - dataSets\n properties:\n chartOptions:\n type: object\n x-dcl-go-name: ChartOptions\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartChartOptions\n description: Display options for the chart.\n properties:\n mode:\n type: string\n x-dcl-go-name: Mode\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnum\n description: 'The chart mode. Possible values: MODE_UNSPECIFIED,\n COLOR, X_RAY, STATS'\n enum:\n - MODE_UNSPECIFIED\n - COLOR\n - X_RAY\n - STATS\n dataSets:\n type: array\n x-dcl-go-name: DataSets\n description: Required. The data displayed in this chart.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSets\n required:\n - timeSeriesQuery\n properties:\n legendTemplate:\n type: string\n x-dcl-go-name: LegendTemplate\n description: 'A template string for naming `TimeSeries`\n in the resulting data set. This should be a\n string with interpolations of the form `${label_name}`,\n which will resolve to the label''s value. '\n minAlignmentPeriod:\n type: string\n x-dcl-go-name: MinAlignmentPeriod\n description: Optional. The lower bound on data\n point frequency for this data set, implemented\n by specifying the minimum alignment period to\n use in a time series query For example, if the\n data is published once every 10 minutes, the\n `min_alignment_period` should be at least 10\n minutes. It would not make sense to fetch and\n align data at one minute intervals.\n plotType:\n type: string\n x-dcl-go-name: PlotType\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnum\n description: 'How this data should be plotted\n on the chart. Possible values: PLOT_TYPE_UNSPECIFIED,\n LINE, STACKED_AREA, STACKED_BAR, HEATMAP'\n enum:\n - PLOT_TYPE_UNSPECIFIED\n - LINE\n - STACKED_AREA\n - STACKED_BAR\n - HEATMAP\n timeSeriesQuery:\n type: object\n x-dcl-go-name: TimeSeriesQuery\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery\n description: Required. Fields for querying time\n series data from the Stackdriver metrics API.\n properties:\n timeSeriesFilter:\n type: object\n x-dcl-go-name: TimeSeriesFilter\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter\n description: Filter parameters to fetch time\n series.\n required:\n - filter\n properties:\n aggregation:\n type: object\n x-dcl-go-name: Aggregation\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation\n description: By default, the raw time\n series data is returned. Use this field\n to combine multiple time series for\n different views of the data.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period`\n specifies a time interval, in seconds,\n that is used to divide the data\n in all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time.\n This will be done before the per-series\n aligner can be applied to the data. The\n value must be at least 60 seconds.\n If a per-series aligner other than\n `ALIGN_NONE` is specified, this\n field is required or an error is\n returned. If no per-series aligner\n is specified, or the aligner `ALIGN_NONE`\n is specified, then this field is\n ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum\n description: 'The reduction operation\n to be used to combine time series\n into a single time series, where\n the value of each data point in\n the resulting series is a function\n of all the already aligned values\n in the input time series. Not all\n reducer operations can be applied\n to all time series. The valid choices\n depend on the `metric_kind` and\n the `value_type` of the original\n time series. Reduction can yield\n a time series with a different `metric_kind`\n or `value_type` than the input time\n series. Time series data must first\n be aligned (see `per_series_aligner`)\n in order to perform cross-time series\n reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified, and must not\n be `ALIGN_NONE`. An `alignment_period`\n must also be specified; otherwise,\n an error is returned. Possible values:\n REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n REDUCE_COUNT, REDUCE_COUNT_TRUE,\n REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,\n REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,\n REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,\n REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to\n preserve when `cross_series_reducer`\n is specified. The `group_by_fields`\n determine how the time series are\n partitioned into subsets prior to\n applying the aggregation operation.\n Each subset contains time series\n that have the same value for each\n of the grouping fields. Each individual\n time series is a member of exactly\n one subset. The `cross_series_reducer`\n is applied to each subset of time\n series. It is not possible to reduce\n across different resource types,\n so this field implicitly contains\n `resource.type`. Fields not specified\n in `group_by_fields` are aggregated\n away. If `group_by_fields` is not\n specified and all the time series\n have the same resource type, then\n the time series are aggregated into\n a single output time series. If\n `cross_series_reducer` is not defined,\n this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes\n how to bring the data points in\n a single time series into temporal\n alignment. Except for `ALIGN_NONE`,\n all alignments cause all the data\n points in an `alignment_period`\n to be mathematically grouped together,\n resulting in a single data point\n for each `alignment_period` with\n end timestamp at the end of the\n period. Not all alignment operations\n may be applied to all time series.\n The valid choices depend on the\n `metric_kind` and `value_type` of\n the original time series. Alignment\n can change the `metric_kind` or\n the `value_type` of the time series. Time\n series data must be aligned in order\n to perform cross-time series reduction.\n If `cross_series_reducer` is specified,\n then `per_series_aligner` must be\n specified and not equal to `ALIGN_NONE`\n and `alignment_period` must be specified;\n otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n filter:\n type: string\n x-dcl-go-name: Filter\n description: Required. The [monitoring\n filter](https://cloud.google.com/monitoring/api/v3/filters)\n that identifies the metric types, resources,\n and projects to query.\n pickTimeSeriesFilter:\n type: object\n x-dcl-go-name: PickTimeSeriesFilter\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter\n description: Ranking based time series\n filter.\n properties:\n direction:\n type: string\n x-dcl-go-name: Direction\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum\n description: 'How to use the ranking\n to select time series that pass\n through the filter. Possible values:\n DIRECTION_UNSPECIFIED, TOP, BOTTOM'\n enum:\n - DIRECTION_UNSPECIFIED\n - TOP\n - BOTTOM\n numTimeSeries:\n type: integer\n format: int64\n x-dcl-go-name: NumTimeSeries\n description: How many time series\n to allow to pass through the filter.\n rankingMethod:\n type: string\n x-dcl-go-name: RankingMethod\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum\n description: '`ranking_method` is\n applied to each time series independently\n to produce the value which will\n be used to compare the time series\n to other time series. Possible values:\n METHOD_UNSPECIFIED, METHOD_MEAN,\n METHOD_MAX, METHOD_MIN, METHOD_SUM,\n METHOD_LATEST'\n enum:\n - METHOD_UNSPECIFIED\n - METHOD_MEAN\n - METHOD_MAX\n - METHOD_MIN\n - METHOD_SUM\n - METHOD_LATEST\n secondaryAggregation:\n type: object\n x-dcl-go-name: SecondaryAggregation\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation\n description: Apply a second aggregation\n after `aggregation` is applied.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period`\n specifies a time interval, in seconds,\n that is used to divide the data\n in all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time.\n This will be done before the per-series\n aligner can be applied to the data. The\n value must be at least 60 seconds.\n If a per-series aligner other than\n `ALIGN_NONE` is specified, this\n field is required or an error is\n returned. If no per-series aligner\n is specified, or the aligner `ALIGN_NONE`\n is specified, then this field is\n ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum\n description: 'The reduction operation\n to be used to combine time series\n into a single time series, where\n the value of each data point in\n the resulting series is a function\n of all the already aligned values\n in the input time series. Not all\n reducer operations can be applied\n to all time series. The valid choices\n depend on the `metric_kind` and\n the `value_type` of the original\n time series. Reduction can yield\n a time series with a different `metric_kind`\n or `value_type` than the input time\n series. Time series data must first\n be aligned (see `per_series_aligner`)\n in order to perform cross-time series\n reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified, and must not\n be `ALIGN_NONE`. An `alignment_period`\n must also be specified; otherwise,\n an error is returned. Possible values:\n REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n REDUCE_COUNT, REDUCE_COUNT_TRUE,\n REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,\n REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,\n REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,\n REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to\n preserve when `cross_series_reducer`\n is specified. The `group_by_fields`\n determine how the time series are\n partitioned into subsets prior to\n applying the aggregation operation.\n Each subset contains time series\n that have the same value for each\n of the grouping fields. Each individual\n time series is a member of exactly\n one subset. The `cross_series_reducer`\n is applied to each subset of time\n series. It is not possible to reduce\n across different resource types,\n so this field implicitly contains\n `resource.type`. Fields not specified\n in `group_by_fields` are aggregated\n away. If `group_by_fields` is not\n specified and all the time series\n have the same resource type, then\n the time series are aggregated into\n a single output time series. If\n `cross_series_reducer` is not defined,\n this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes\n how to bring the data points in\n a single time series into temporal\n alignment. Except for `ALIGN_NONE`,\n all alignments cause all the data\n points in an `alignment_period`\n to be mathematically grouped together,\n resulting in a single data point\n for each `alignment_period` with\n end timestamp at the end of the\n period. Not all alignment operations\n may be applied to all time series.\n The valid choices depend on the\n `metric_kind` and `value_type` of\n the original time series. Alignment\n can change the `metric_kind` or\n the `value_type` of the time series. Time\n series data must be aligned in order\n to perform cross-time series reduction.\n If `cross_series_reducer` is specified,\n then `per_series_aligner` must be\n specified and not equal to `ALIGN_NONE`\n and `alignment_period` must be specified;\n otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n timeSeriesFilterRatio:\n type: object\n x-dcl-go-name: TimeSeriesFilterRatio\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio\n description: Parameters to fetch a ratio between\n two time series filters.\n properties:\n denominator:\n type: object\n x-dcl-go-name: Denominator\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator\n description: The denominator of the ratio.\n required:\n - filter\n properties:\n aggregation:\n type: object\n x-dcl-go-name: Aggregation\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation\n description: By default, the raw time\n series data is returned. Use this\n field to combine multiple time series\n for different views of the data.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period`\n specifies a time interval, in\n seconds, that is used to divide\n the data in all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time.\n This will be done before the\n per-series aligner can be applied\n to the data. The value must\n be at least 60 seconds. If a\n per-series aligner other than\n `ALIGN_NONE` is specified, this\n field is required or an error\n is returned. If no per-series\n aligner is specified, or the\n aligner `ALIGN_NONE` is specified,\n then this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum\n description: 'The reduction operation\n to be used to combine time series\n into a single time series, where\n the value of each data point\n in the resulting series is a\n function of all the already\n aligned values in the input\n time series. Not all reducer\n operations can be applied to\n all time series. The valid choices\n depend on the `metric_kind`\n and the `value_type` of the\n original time series. Reduction\n can yield a time series with\n a different `metric_kind` or\n `value_type` than the input\n time series. Time series data\n must first be aligned (see `per_series_aligner`)\n in order to perform cross-time\n series reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified, and must\n not be `ALIGN_NONE`. An `alignment_period`\n must also be specified; otherwise,\n an error is returned. Possible\n values: REDUCE_NONE, REDUCE_MEAN,\n REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,\n REDUCE_STDDEV, REDUCE_COUNT,\n REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,\n REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields\n to preserve when `cross_series_reducer`\n is specified. The `group_by_fields`\n determine how the time series\n are partitioned into subsets\n prior to applying the aggregation\n operation. Each subset contains\n time series that have the same\n value for each of the grouping\n fields. Each individual time\n series is a member of exactly\n one subset. The `cross_series_reducer`\n is applied to each subset of\n time series. It is not possible\n to reduce across different resource\n types, so this field implicitly\n contains `resource.type`. Fields\n not specified in `group_by_fields`\n are aggregated away. If `group_by_fields`\n is not specified and all the\n time series have the same resource\n type, then the time series are\n aggregated into a single output\n time series. If `cross_series_reducer`\n is not defined, this field is\n ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes\n how to bring the data points\n in a single time series into\n temporal alignment. Except for\n `ALIGN_NONE`, all alignments\n cause all the data points in\n an `alignment_period` to be\n mathematically grouped together,\n resulting in a single data point\n for each `alignment_period`\n with end timestamp at the end\n of the period. Not all alignment\n operations may be applied to\n all time series. The valid choices\n depend on the `metric_kind`\n and `value_type` of the original\n time series. Alignment can change\n the `metric_kind` or the `value_type`\n of the time series. Time series\n data must be aligned in order\n to perform cross-time series\n reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified and not equal\n to `ALIGN_NONE` and `alignment_period`\n must be specified; otherwise,\n an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n filter:\n type: string\n x-dcl-go-name: Filter\n description: Required. The [monitoring\n filter](https://cloud.google.com/monitoring/api/v3/filters)\n that identifies the metric types,\n resources, and projects to query.\n numerator:\n type: object\n x-dcl-go-name: Numerator\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator\n description: The numerator of the ratio.\n required:\n - filter\n properties:\n aggregation:\n type: object\n x-dcl-go-name: Aggregation\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation\n description: By default, the raw time\n series data is returned. Use this\n field to combine multiple time series\n for different views of the data.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period`\n specifies a time interval, in\n seconds, that is used to divide\n the data in all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time.\n This will be done before the\n per-series aligner can be applied\n to the data. The value must\n be at least 60 seconds. If a\n per-series aligner other than\n `ALIGN_NONE` is specified, this\n field is required or an error\n is returned. If no per-series\n aligner is specified, or the\n aligner `ALIGN_NONE` is specified,\n then this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum\n description: 'The reduction operation\n to be used to combine time series\n into a single time series, where\n the value of each data point\n in the resulting series is a\n function of all the already\n aligned values in the input\n time series. Not all reducer\n operations can be applied to\n all time series. The valid choices\n depend on the `metric_kind`\n and the `value_type` of the\n original time series. Reduction\n can yield a time series with\n a different `metric_kind` or\n `value_type` than the input\n time series. Time series data\n must first be aligned (see `per_series_aligner`)\n in order to perform cross-time\n series reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified, and must\n not be `ALIGN_NONE`. An `alignment_period`\n must also be specified; otherwise,\n an error is returned. Possible\n values: REDUCE_NONE, REDUCE_MEAN,\n REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,\n REDUCE_STDDEV, REDUCE_COUNT,\n REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,\n REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields\n to preserve when `cross_series_reducer`\n is specified. The `group_by_fields`\n determine how the time series\n are partitioned into subsets\n prior to applying the aggregation\n operation. Each subset contains\n time series that have the same\n value for each of the grouping\n fields. Each individual time\n series is a member of exactly\n one subset. The `cross_series_reducer`\n is applied to each subset of\n time series. It is not possible\n to reduce across different resource\n types, so this field implicitly\n contains `resource.type`. Fields\n not specified in `group_by_fields`\n are aggregated away. If `group_by_fields`\n is not specified and all the\n time series have the same resource\n type, then the time series are\n aggregated into a single output\n time series. If `cross_series_reducer`\n is not defined, this field is\n ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes\n how to bring the data points\n in a single time series into\n temporal alignment. Except for\n `ALIGN_NONE`, all alignments\n cause all the data points in\n an `alignment_period` to be\n mathematically grouped together,\n resulting in a single data point\n for each `alignment_period`\n with end timestamp at the end\n of the period. Not all alignment\n operations may be applied to\n all time series. The valid choices\n depend on the `metric_kind`\n and `value_type` of the original\n time series. Alignment can change\n the `metric_kind` or the `value_type`\n of the time series. Time series\n data must be aligned in order\n to perform cross-time series\n reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified and not equal\n to `ALIGN_NONE` and `alignment_period`\n must be specified; otherwise,\n an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n filter:\n type: string\n x-dcl-go-name: Filter\n description: Required. The [monitoring\n filter](https://cloud.google.com/monitoring/api/v3/filters)\n that identifies the metric types,\n resources, and projects to query.\n pickTimeSeriesFilter:\n type: object\n x-dcl-go-name: PickTimeSeriesFilter\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter\n description: Ranking based time series\n filter.\n properties:\n direction:\n type: string\n x-dcl-go-name: Direction\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum\n description: 'How to use the ranking\n to select time series that pass\n through the filter. Possible values:\n DIRECTION_UNSPECIFIED, TOP, BOTTOM'\n enum:\n - DIRECTION_UNSPECIFIED\n - TOP\n - BOTTOM\n numTimeSeries:\n type: integer\n format: int64\n x-dcl-go-name: NumTimeSeries\n description: How many time series\n to allow to pass through the filter.\n rankingMethod:\n type: string\n x-dcl-go-name: RankingMethod\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum\n description: '`ranking_method` is\n applied to each time series independently\n to produce the value which will\n be used to compare the time series\n to other time series. Possible values:\n METHOD_UNSPECIFIED, METHOD_MEAN,\n METHOD_MAX, METHOD_MIN, METHOD_SUM,\n METHOD_LATEST'\n enum:\n - METHOD_UNSPECIFIED\n - METHOD_MEAN\n - METHOD_MAX\n - METHOD_MIN\n - METHOD_SUM\n - METHOD_LATEST\n secondaryAggregation:\n type: object\n x-dcl-go-name: SecondaryAggregation\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation\n description: Apply a second aggregation\n after the ratio is computed.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period`\n specifies a time interval, in seconds,\n that is used to divide the data\n in all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time.\n This will be done before the per-series\n aligner can be applied to the data. The\n value must be at least 60 seconds.\n If a per-series aligner other than\n `ALIGN_NONE` is specified, this\n field is required or an error is\n returned. If no per-series aligner\n is specified, or the aligner `ALIGN_NONE`\n is specified, then this field is\n ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum\n description: 'The reduction operation\n to be used to combine time series\n into a single time series, where\n the value of each data point in\n the resulting series is a function\n of all the already aligned values\n in the input time series. Not all\n reducer operations can be applied\n to all time series. The valid choices\n depend on the `metric_kind` and\n the `value_type` of the original\n time series. Reduction can yield\n a time series with a different `metric_kind`\n or `value_type` than the input time\n series. Time series data must first\n be aligned (see `per_series_aligner`)\n in order to perform cross-time series\n reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified, and must not\n be `ALIGN_NONE`. An `alignment_period`\n must also be specified; otherwise,\n an error is returned. Possible values:\n REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n REDUCE_COUNT, REDUCE_COUNT_TRUE,\n REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,\n REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,\n REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,\n REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to\n preserve when `cross_series_reducer`\n is specified. The `group_by_fields`\n determine how the time series are\n partitioned into subsets prior to\n applying the aggregation operation.\n Each subset contains time series\n that have the same value for each\n of the grouping fields. Each individual\n time series is a member of exactly\n one subset. The `cross_series_reducer`\n is applied to each subset of time\n series. It is not possible to reduce\n across different resource types,\n so this field implicitly contains\n `resource.type`. Fields not specified\n in `group_by_fields` are aggregated\n away. If `group_by_fields` is not\n specified and all the time series\n have the same resource type, then\n the time series are aggregated into\n a single output time series. If\n `cross_series_reducer` is not defined,\n this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes\n how to bring the data points in\n a single time series into temporal\n alignment. Except for `ALIGN_NONE`,\n all alignments cause all the data\n points in an `alignment_period`\n to be mathematically grouped together,\n resulting in a single data point\n for each `alignment_period` with\n end timestamp at the end of the\n period. Not all alignment operations\n may be applied to all time series.\n The valid choices depend on the\n `metric_kind` and `value_type` of\n the original time series. Alignment\n can change the `metric_kind` or\n the `value_type` of the time series. Time\n series data must be aligned in order\n to perform cross-time series reduction.\n If `cross_series_reducer` is specified,\n then `per_series_aligner` must be\n specified and not equal to `ALIGN_NONE`\n and `alignment_period` must be specified;\n otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n timeSeriesQueryLanguage:\n type: string\n x-dcl-go-name: TimeSeriesQueryLanguage\n description: A query used to fetch time series.\n unitOverride:\n type: string\n x-dcl-go-name: UnitOverride\n description: The unit of data contained in\n fetched time series. If non-empty, this\n unit will override any unit that accompanies\n fetched data. The format is the same as\n the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors)\n field in `MetricDescriptor`.\n thresholds:\n type: array\n x-dcl-go-name: Thresholds\n description: Threshold lines drawn horizontally across\n the chart.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartThresholds\n properties:\n color:\n type: string\n x-dcl-go-name: Color\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnum\n description: 'The state color for this threshold.\n Color is not allowed in a XyChart. Possible\n values: COLOR_UNSPECIFIED, GREY, BLUE, GREEN,\n YELLOW, ORANGE, RED'\n enum:\n - COLOR_UNSPECIFIED\n - GREY\n - BLUE\n - GREEN\n - YELLOW\n - ORANGE\n - RED\n direction:\n type: string\n x-dcl-go-name: Direction\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnum\n description: 'The direction for the current threshold.\n Direction is not allowed in a XyChart. Possible\n values: DIRECTION_UNSPECIFIED, ABOVE, BELOW'\n enum:\n - DIRECTION_UNSPECIFIED\n - ABOVE\n - BELOW\n label:\n type: string\n x-dcl-go-name: Label\n description: A label for the threshold.\n value:\n type: number\n format: double\n x-dcl-go-name: Value\n description: The value of the threshold. The value\n should be defined in the native scale of the\n metric.\n timeshiftDuration:\n type: string\n x-dcl-go-name: TimeshiftDuration\n description: The duration used to display a comparison\n chart. A comparison chart simultaneously shows values\n from two similar-length time periods (e.g., week-over-week\n metrics). The duration must be positive, and it can\n only be applied to charts with data sets of LINE plot\n type.\n xAxis:\n type: object\n x-dcl-go-name: XAxis\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartXAxis\n description: The properties applied to the X axis.\n properties:\n label:\n type: string\n x-dcl-go-name: Label\n description: The label of the axis.\n scale:\n type: string\n x-dcl-go-name: Scale\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnum\n description: 'The axis scale. By default, a linear\n scale is used. Possible values: SCALE_UNSPECIFIED,\n LINEAR, LOG10'\n enum:\n - SCALE_UNSPECIFIED\n - LINEAR\n - LOG10\n yAxis:\n type: object\n x-dcl-go-name: YAxis\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartYAxis\n description: The properties applied to the Y axis.\n properties:\n label:\n type: string\n x-dcl-go-name: Label\n description: The label of the axis.\n scale:\n type: string\n x-dcl-go-name: Scale\n x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnum\n description: 'The axis scale. By default, a linear\n scale is used. Possible values: SCALE_UNSPECIFIED,\n LINEAR, LOG10'\n enum:\n - SCALE_UNSPECIFIED\n - LINEAR\n - LOG10\n displayName:\n type: string\n x-dcl-go-name: DisplayName\n description: Required. The mutable, human-readable name.\n etag:\n type: string\n x-dcl-go-name: Etag\n readOnly: true\n description: \\`etag\\` is used for optimistic concurrency control as a way\n to help prevent simultaneous updates of a policy from overwriting each\n other. An \\`etag\\` is returned in the response to \\`GetDashboard\\`, and\n users are expected to put that etag in the request to \\`UpdateDashboard\\`\n to ensure that their change will be applied to the same version of the\n Dashboard configuration. The field should not be passed during dashboard\n creation.\n x-kubernetes-immutable: true\n gridLayout:\n type: object\n x-dcl-go-name: GridLayout\n x-dcl-go-type: DashboardGridLayout\n description: Content is arranged with a basic layout that re-flows a simple\n list of informational elements like widgets or tiles.\n x-dcl-conflicts:\n - mosaicLayout\n - rowLayout\n - columnLayout\n properties:\n columns:\n type: integer\n format: int64\n x-dcl-go-name: Columns\n description: The number of columns into which the view's width is divided.\n If omitted or set to zero, a system default will be used while rendering.\n widgets:\n type: array\n x-dcl-go-name: Widgets\n description: The informational elements that are arranged into the columns\n row-first.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DashboardGridLayoutWidgets\n properties:\n blank:\n type: object\n x-dcl-go-name: Blank\n x-dcl-go-type: DashboardGridLayoutWidgetsBlank\n description: A blank space.\n x-dcl-conflicts:\n - xyChart\n - scorecard\n - text\n - logsPanel\n logsPanel:\n type: object\n x-dcl-go-name: LogsPanel\n x-dcl-go-type: DashboardGridLayoutWidgetsLogsPanel\n x-dcl-conflicts:\n - xyChart\n - scorecard\n - text\n - blank\n properties:\n filter:\n type: string\n x-dcl-go-name: Filter\n description: A filter that chooses which log entries to return.\n See [Advanced Logs Queries](https://cloud.google.com/logging/docs/view/advanced-queries).\n Only log entries that match the filter are returned. An\n empty filter matches all log entries.\n resourceNames:\n type: array\n x-dcl-go-name: ResourceNames\n description: The names of logging resources to collect logs\n for. Currently only projects are supported. If empty, the\n widget will default to the host project.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n scorecard:\n type: object\n x-dcl-go-name: Scorecard\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecard\n description: A scorecard summarizing time series data.\n x-dcl-conflicts:\n - xyChart\n - text\n - blank\n - logsPanel\n required:\n - timeSeriesQuery\n properties:\n gaugeView:\n type: object\n x-dcl-go-name: GaugeView\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardGaugeView\n description: Will cause the scorecard to show a gauge chart.\n properties:\n lowerBound:\n type: number\n format: double\n x-dcl-go-name: LowerBound\n description: The lower bound for this gauge chart. The\n value of the chart should always be greater than or\n equal to this.\n upperBound:\n type: number\n format: double\n x-dcl-go-name: UpperBound\n description: The upper bound for this gauge chart. The\n value of the chart should always be less than or equal\n to this.\n sparkChartView:\n type: object\n x-dcl-go-name: SparkChartView\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardSparkChartView\n description: Will cause the scorecard to show a spark chart.\n required:\n - sparkChartType\n properties:\n minAlignmentPeriod:\n type: string\n x-dcl-go-name: MinAlignmentPeriod\n description: The lower bound on data point frequency in\n the chart implemented by specifying the minimum alignment\n period to use in a time series query. For example, if\n the data is published once every 10 minutes it would\n not make sense to fetch and align data at one minute\n intervals. This field is optional and exists only as\n a hint.\n sparkChartType:\n type: string\n x-dcl-go-name: SparkChartType\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnum\n description: 'Required. The type of sparkchart to show\n in this chartView. Possible values: SPARK_CHART_TYPE_UNSPECIFIED,\n SPARK_LINE, SPARK_BAR'\n enum:\n - SPARK_CHART_TYPE_UNSPECIFIED\n - SPARK_LINE\n - SPARK_BAR\n thresholds:\n type: array\n x-dcl-go-name: Thresholds\n description: 'The thresholds used to determine the state of\n the scorecard given the time series'' current value. For\n an actual value x, the scorecard is in a danger state if\n x is less than or equal to a danger threshold that triggers\n below, or greater than or equal to a danger threshold that\n triggers above. Similarly, if x is above/below a warning\n threshold that triggers above/below, then the scorecard\n is in a warning state - unless x also puts it in a danger\n state. (Danger trumps warning.) As an example, consider\n a scorecard with the following four thresholds: { value:\n 90, category: ''DANGER'', trigger: ''ABOVE'', },: { value:\n 70, category: ''WARNING'', trigger: ''ABOVE'', }, { value:\n 10, category: ''DANGER'', trigger: ''BELOW'', }, { value:\n 20, category: ''WARNING'', trigger: ''BELOW'', } Then:\n values less than or equal to 10 would put the scorecard\n in a DANGER state, values greater than 10 but less than\n or equal to 20 a WARNING state, values strictly between\n 20 and 70 an OK state, values greater than or equal to 70\n but less than 90 a WARNING state, and values greater than\n or equal to 90 a DANGER state.'\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardThresholds\n properties:\n color:\n type: string\n x-dcl-go-name: Color\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardThresholdsColorEnum\n description: 'The state color for this threshold. Color\n is not allowed in a XyChart. Possible values: COLOR_UNSPECIFIED,\n GREY, BLUE, GREEN, YELLOW, ORANGE, RED'\n enum:\n - COLOR_UNSPECIFIED\n - GREY\n - BLUE\n - GREEN\n - YELLOW\n - ORANGE\n - RED\n direction:\n type: string\n x-dcl-go-name: Direction\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardThresholdsDirectionEnum\n description: 'The direction for the current threshold.\n Direction is not allowed in a XyChart. Possible values:\n DIRECTION_UNSPECIFIED, ABOVE, BELOW'\n enum:\n - DIRECTION_UNSPECIFIED\n - ABOVE\n - BELOW\n label:\n type: string\n x-dcl-go-name: Label\n description: A label for the threshold.\n value:\n type: number\n format: double\n x-dcl-go-name: Value\n description: The value of the threshold. The value should\n be defined in the native scale of the metric.\n timeSeriesQuery:\n type: object\n x-dcl-go-name: TimeSeriesQuery\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQuery\n description: Required. Fields for querying time series data\n from the Stackdriver metrics API.\n properties:\n timeSeriesFilter:\n type: object\n x-dcl-go-name: TimeSeriesFilter\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter\n description: Filter parameters to fetch time series.\n required:\n - filter\n properties:\n aggregation:\n type: object\n x-dcl-go-name: Aggregation\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation\n description: By default, the raw time series data\n is returned. Use this field to combine multiple\n time series for different views of the data.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period` specifies\n a time interval, in seconds, that is used to\n divide the data in all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time. This will be\n done before the per-series aligner can be applied\n to the data. The value must be at least 60\n seconds. If a per-series aligner other than\n `ALIGN_NONE` is specified, this field is required\n or an error is returned. If no per-series aligner\n is specified, or the aligner `ALIGN_NONE` is\n specified, then this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum\n description: 'The reduction operation to be used\n to combine time series into a single time series,\n where the value of each data point in the resulting\n series is a function of all the already aligned\n values in the input time series. Not all reducer\n operations can be applied to all time series.\n The valid choices depend on the `metric_kind`\n and the `value_type` of the original time series.\n Reduction can yield a time series with a different\n `metric_kind` or `value_type` than the input\n time series. Time series data must first be\n aligned (see `per_series_aligner`) in order\n to perform cross-time series reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner` must\n be specified, and must not be `ALIGN_NONE`.\n An `alignment_period` must also be specified;\n otherwise, an error is returned. Possible values:\n REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX,\n REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,\n REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to preserve when\n `cross_series_reducer` is specified. The `group_by_fields`\n determine how the time series are partitioned\n into subsets prior to applying the aggregation\n operation. Each subset contains time series\n that have the same value for each of the grouping\n fields. Each individual time series is a member\n of exactly one subset. The `cross_series_reducer`\n is applied to each subset of time series. It\n is not possible to reduce across different resource\n types, so this field implicitly contains `resource.type`. Fields\n not specified in `group_by_fields` are aggregated\n away. If `group_by_fields` is not specified\n and all the time series have the same resource\n type, then the time series are aggregated into\n a single output time series. If `cross_series_reducer`\n is not defined, this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes how to bring\n the data points in a single time series into\n temporal alignment. Except for `ALIGN_NONE`,\n all alignments cause all the data points in\n an `alignment_period` to be mathematically grouped\n together, resulting in a single data point for\n each `alignment_period` with end timestamp at\n the end of the period. Not all alignment operations\n may be applied to all time series. The valid\n choices depend on the `metric_kind` and `value_type`\n of the original time series. Alignment can change\n the `metric_kind` or the `value_type` of the\n time series. Time series data must be aligned\n in order to perform cross-time series reduction.\n If `cross_series_reducer` is specified, then\n `per_series_aligner` must be specified and not\n equal to `ALIGN_NONE` and `alignment_period`\n must be specified; otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n filter:\n type: string\n x-dcl-go-name: Filter\n description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n that identifies the metric types, resources, and\n projects to query.\n pickTimeSeriesFilter:\n type: object\n x-dcl-go-name: PickTimeSeriesFilter\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter\n description: Ranking based time series filter.\n properties:\n direction:\n type: string\n x-dcl-go-name: Direction\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum\n description: 'How to use the ranking to select\n time series that pass through the filter. Possible\n values: DIRECTION_UNSPECIFIED, TOP, BOTTOM'\n enum:\n - DIRECTION_UNSPECIFIED\n - TOP\n - BOTTOM\n numTimeSeries:\n type: integer\n format: int64\n x-dcl-go-name: NumTimeSeries\n description: How many time series to allow to\n pass through the filter.\n rankingMethod:\n type: string\n x-dcl-go-name: RankingMethod\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum\n description: '`ranking_method` is applied to each\n time series independently to produce the value\n which will be used to compare the time series\n to other time series. Possible values: METHOD_UNSPECIFIED,\n METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM,\n METHOD_LATEST'\n enum:\n - METHOD_UNSPECIFIED\n - METHOD_MEAN\n - METHOD_MAX\n - METHOD_MIN\n - METHOD_SUM\n - METHOD_LATEST\n secondaryAggregation:\n type: object\n x-dcl-go-name: SecondaryAggregation\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation\n description: Apply a second aggregation after `aggregation`\n is applied.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period` specifies\n a time interval, in seconds, that is used to\n divide the data in all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time. This will be\n done before the per-series aligner can be applied\n to the data. The value must be at least 60\n seconds. If a per-series aligner other than\n `ALIGN_NONE` is specified, this field is required\n or an error is returned. If no per-series aligner\n is specified, or the aligner `ALIGN_NONE` is\n specified, then this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum\n description: 'The reduction operation to be used\n to combine time series into a single time series,\n where the value of each data point in the resulting\n series is a function of all the already aligned\n values in the input time series. Not all reducer\n operations can be applied to all time series.\n The valid choices depend on the `metric_kind`\n and the `value_type` of the original time series.\n Reduction can yield a time series with a different\n `metric_kind` or `value_type` than the input\n time series. Time series data must first be\n aligned (see `per_series_aligner`) in order\n to perform cross-time series reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner` must\n be specified, and must not be `ALIGN_NONE`.\n An `alignment_period` must also be specified;\n otherwise, an error is returned. Possible values:\n REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX,\n REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,\n REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to preserve when\n `cross_series_reducer` is specified. The `group_by_fields`\n determine how the time series are partitioned\n into subsets prior to applying the aggregation\n operation. Each subset contains time series\n that have the same value for each of the grouping\n fields. Each individual time series is a member\n of exactly one subset. The `cross_series_reducer`\n is applied to each subset of time series. It\n is not possible to reduce across different resource\n types, so this field implicitly contains `resource.type`. Fields\n not specified in `group_by_fields` are aggregated\n away. If `group_by_fields` is not specified\n and all the time series have the same resource\n type, then the time series are aggregated into\n a single output time series. If `cross_series_reducer`\n is not defined, this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes how to bring\n the data points in a single time series into\n temporal alignment. Except for `ALIGN_NONE`,\n all alignments cause all the data points in\n an `alignment_period` to be mathematically grouped\n together, resulting in a single data point for\n each `alignment_period` with end timestamp at\n the end of the period. Not all alignment operations\n may be applied to all time series. The valid\n choices depend on the `metric_kind` and `value_type`\n of the original time series. Alignment can change\n the `metric_kind` or the `value_type` of the\n time series. Time series data must be aligned\n in order to perform cross-time series reduction.\n If `cross_series_reducer` is specified, then\n `per_series_aligner` must be specified and not\n equal to `ALIGN_NONE` and `alignment_period`\n must be specified; otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n timeSeriesFilterRatio:\n type: object\n x-dcl-go-name: TimeSeriesFilterRatio\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio\n description: Parameters to fetch a ratio between two time\n series filters.\n properties:\n denominator:\n type: object\n x-dcl-go-name: Denominator\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator\n description: The denominator of the ratio.\n required:\n - filter\n properties:\n aggregation:\n type: object\n x-dcl-go-name: Aggregation\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation\n description: By default, the raw time series data\n is returned. Use this field to combine multiple\n time series for different views of the data.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period` specifies\n a time interval, in seconds, that is used\n to divide the data in all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time. This will\n be done before the per-series aligner can\n be applied to the data. The value must\n be at least 60 seconds. If a per-series\n aligner other than `ALIGN_NONE` is specified,\n this field is required or an error is returned.\n If no per-series aligner is specified, or\n the aligner `ALIGN_NONE` is specified, then\n this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum\n description: 'The reduction operation to be\n used to combine time series into a single\n time series, where the value of each data\n point in the resulting series is a function\n of all the already aligned values in the\n input time series. Not all reducer operations\n can be applied to all time series. The valid\n choices depend on the `metric_kind` and\n the `value_type` of the original time series.\n Reduction can yield a time series with a\n different `metric_kind` or `value_type`\n than the input time series. Time series\n data must first be aligned (see `per_series_aligner`)\n in order to perform cross-time series reduction.\n If `cross_series_reducer` is specified,\n then `per_series_aligner` must be specified,\n and must not be `ALIGN_NONE`. An `alignment_period`\n must also be specified; otherwise, an error\n is returned. Possible values: REDUCE_NONE,\n REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,\n REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,\n REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,\n REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,\n REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,\n REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to preserve\n when `cross_series_reducer` is specified.\n The `group_by_fields` determine how the\n time series are partitioned into subsets\n prior to applying the aggregation operation.\n Each subset contains time series that have\n the same value for each of the grouping\n fields. Each individual time series is a\n member of exactly one subset. The `cross_series_reducer`\n is applied to each subset of time series.\n It is not possible to reduce across different\n resource types, so this field implicitly\n contains `resource.type`. Fields not specified\n in `group_by_fields` are aggregated away. If\n `group_by_fields` is not specified and all\n the time series have the same resource type,\n then the time series are aggregated into\n a single output time series. If `cross_series_reducer`\n is not defined, this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes how to\n bring the data points in a single time series\n into temporal alignment. Except for `ALIGN_NONE`,\n all alignments cause all the data points\n in an `alignment_period` to be mathematically\n grouped together, resulting in a single\n data point for each `alignment_period` with\n end timestamp at the end of the period. Not\n all alignment operations may be applied\n to all time series. The valid choices depend\n on the `metric_kind` and `value_type` of\n the original time series. Alignment can\n change the `metric_kind` or the `value_type`\n of the time series. Time series data must\n be aligned in order to perform cross-time\n series reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified and not equal to `ALIGN_NONE`\n and `alignment_period` must be specified;\n otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n filter:\n type: string\n x-dcl-go-name: Filter\n description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n that identifies the metric types, resources,\n and projects to query.\n numerator:\n type: object\n x-dcl-go-name: Numerator\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator\n description: The numerator of the ratio.\n required:\n - filter\n properties:\n aggregation:\n type: object\n x-dcl-go-name: Aggregation\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation\n description: By default, the raw time series data\n is returned. Use this field to combine multiple\n time series for different views of the data.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period` specifies\n a time interval, in seconds, that is used\n to divide the data in all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time. This will\n be done before the per-series aligner can\n be applied to the data. The value must\n be at least 60 seconds. If a per-series\n aligner other than `ALIGN_NONE` is specified,\n this field is required or an error is returned.\n If no per-series aligner is specified, or\n the aligner `ALIGN_NONE` is specified, then\n this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum\n description: 'The reduction operation to be\n used to combine time series into a single\n time series, where the value of each data\n point in the resulting series is a function\n of all the already aligned values in the\n input time series. Not all reducer operations\n can be applied to all time series. The valid\n choices depend on the `metric_kind` and\n the `value_type` of the original time series.\n Reduction can yield a time series with a\n different `metric_kind` or `value_type`\n than the input time series. Time series\n data must first be aligned (see `per_series_aligner`)\n in order to perform cross-time series reduction.\n If `cross_series_reducer` is specified,\n then `per_series_aligner` must be specified,\n and must not be `ALIGN_NONE`. An `alignment_period`\n must also be specified; otherwise, an error\n is returned. Possible values: REDUCE_NONE,\n REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,\n REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,\n REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,\n REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,\n REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,\n REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to preserve\n when `cross_series_reducer` is specified.\n The `group_by_fields` determine how the\n time series are partitioned into subsets\n prior to applying the aggregation operation.\n Each subset contains time series that have\n the same value for each of the grouping\n fields. Each individual time series is a\n member of exactly one subset. The `cross_series_reducer`\n is applied to each subset of time series.\n It is not possible to reduce across different\n resource types, so this field implicitly\n contains `resource.type`. Fields not specified\n in `group_by_fields` are aggregated away. If\n `group_by_fields` is not specified and all\n the time series have the same resource type,\n then the time series are aggregated into\n a single output time series. If `cross_series_reducer`\n is not defined, this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes how to\n bring the data points in a single time series\n into temporal alignment. Except for `ALIGN_NONE`,\n all alignments cause all the data points\n in an `alignment_period` to be mathematically\n grouped together, resulting in a single\n data point for each `alignment_period` with\n end timestamp at the end of the period. Not\n all alignment operations may be applied\n to all time series. The valid choices depend\n on the `metric_kind` and `value_type` of\n the original time series. Alignment can\n change the `metric_kind` or the `value_type`\n of the time series. Time series data must\n be aligned in order to perform cross-time\n series reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified and not equal to `ALIGN_NONE`\n and `alignment_period` must be specified;\n otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n filter:\n type: string\n x-dcl-go-name: Filter\n description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n that identifies the metric types, resources,\n and projects to query.\n pickTimeSeriesFilter:\n type: object\n x-dcl-go-name: PickTimeSeriesFilter\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter\n description: Ranking based time series filter.\n properties:\n direction:\n type: string\n x-dcl-go-name: Direction\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum\n description: 'How to use the ranking to select\n time series that pass through the filter. Possible\n values: DIRECTION_UNSPECIFIED, TOP, BOTTOM'\n enum:\n - DIRECTION_UNSPECIFIED\n - TOP\n - BOTTOM\n numTimeSeries:\n type: integer\n format: int64\n x-dcl-go-name: NumTimeSeries\n description: How many time series to allow to\n pass through the filter.\n rankingMethod:\n type: string\n x-dcl-go-name: RankingMethod\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum\n description: '`ranking_method` is applied to each\n time series independently to produce the value\n which will be used to compare the time series\n to other time series. Possible values: METHOD_UNSPECIFIED,\n METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM,\n METHOD_LATEST'\n enum:\n - METHOD_UNSPECIFIED\n - METHOD_MEAN\n - METHOD_MAX\n - METHOD_MIN\n - METHOD_SUM\n - METHOD_LATEST\n secondaryAggregation:\n type: object\n x-dcl-go-name: SecondaryAggregation\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation\n description: Apply a second aggregation after the\n ratio is computed.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period` specifies\n a time interval, in seconds, that is used to\n divide the data in all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time. This will be\n done before the per-series aligner can be applied\n to the data. The value must be at least 60\n seconds. If a per-series aligner other than\n `ALIGN_NONE` is specified, this field is required\n or an error is returned. If no per-series aligner\n is specified, or the aligner `ALIGN_NONE` is\n specified, then this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum\n description: 'The reduction operation to be used\n to combine time series into a single time series,\n where the value of each data point in the resulting\n series is a function of all the already aligned\n values in the input time series. Not all reducer\n operations can be applied to all time series.\n The valid choices depend on the `metric_kind`\n and the `value_type` of the original time series.\n Reduction can yield a time series with a different\n `metric_kind` or `value_type` than the input\n time series. Time series data must first be\n aligned (see `per_series_aligner`) in order\n to perform cross-time series reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner` must\n be specified, and must not be `ALIGN_NONE`.\n An `alignment_period` must also be specified;\n otherwise, an error is returned. Possible values:\n REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX,\n REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,\n REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to preserve when\n `cross_series_reducer` is specified. The `group_by_fields`\n determine how the time series are partitioned\n into subsets prior to applying the aggregation\n operation. Each subset contains time series\n that have the same value for each of the grouping\n fields. Each individual time series is a member\n of exactly one subset. The `cross_series_reducer`\n is applied to each subset of time series. It\n is not possible to reduce across different resource\n types, so this field implicitly contains `resource.type`. Fields\n not specified in `group_by_fields` are aggregated\n away. If `group_by_fields` is not specified\n and all the time series have the same resource\n type, then the time series are aggregated into\n a single output time series. If `cross_series_reducer`\n is not defined, this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes how to bring\n the data points in a single time series into\n temporal alignment. Except for `ALIGN_NONE`,\n all alignments cause all the data points in\n an `alignment_period` to be mathematically grouped\n together, resulting in a single data point for\n each `alignment_period` with end timestamp at\n the end of the period. Not all alignment operations\n may be applied to all time series. The valid\n choices depend on the `metric_kind` and `value_type`\n of the original time series. Alignment can change\n the `metric_kind` or the `value_type` of the\n time series. Time series data must be aligned\n in order to perform cross-time series reduction.\n If `cross_series_reducer` is specified, then\n `per_series_aligner` must be specified and not\n equal to `ALIGN_NONE` and `alignment_period`\n must be specified; otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n timeSeriesQueryLanguage:\n type: string\n x-dcl-go-name: TimeSeriesQueryLanguage\n description: A query used to fetch time series.\n unitOverride:\n type: string\n x-dcl-go-name: UnitOverride\n description: The unit of data contained in fetched time\n series. If non-empty, this unit will override any unit\n that accompanies fetched data. The format is the same\n as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors)\n field in `MetricDescriptor`.\n text:\n type: object\n x-dcl-go-name: Text\n x-dcl-go-type: DashboardGridLayoutWidgetsText\n description: A raw string or markdown displaying textual content.\n x-dcl-conflicts:\n - xyChart\n - scorecard\n - blank\n - logsPanel\n properties:\n content:\n type: string\n x-dcl-go-name: Content\n description: The text content to be displayed.\n format:\n type: string\n x-dcl-go-name: Format\n x-dcl-go-type: DashboardGridLayoutWidgetsTextFormatEnum\n description: 'How the text content is formatted. Possible\n values: FORMAT_UNSPECIFIED, MARKDOWN, RAW'\n enum:\n - FORMAT_UNSPECIFIED\n - MARKDOWN\n - RAW\n title:\n type: string\n x-dcl-go-name: Title\n description: Optional. The title of the widget.\n xyChart:\n type: object\n x-dcl-go-name: XyChart\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChart\n description: A chart of time series data.\n x-dcl-conflicts:\n - scorecard\n - text\n - blank\n - logsPanel\n required:\n - dataSets\n properties:\n chartOptions:\n type: object\n x-dcl-go-name: ChartOptions\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartChartOptions\n description: Display options for the chart.\n properties:\n mode:\n type: string\n x-dcl-go-name: Mode\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartChartOptionsModeEnum\n description: 'The chart mode. Possible values: MODE_UNSPECIFIED,\n COLOR, X_RAY, STATS'\n enum:\n - MODE_UNSPECIFIED\n - COLOR\n - X_RAY\n - STATS\n dataSets:\n type: array\n x-dcl-go-name: DataSets\n description: Required. The data displayed in this chart.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSets\n required:\n - timeSeriesQuery\n properties:\n legendTemplate:\n type: string\n x-dcl-go-name: LegendTemplate\n description: 'A template string for naming `TimeSeries`\n in the resulting data set. This should be a string\n with interpolations of the form `${label_name}`, which\n will resolve to the label''s value. '\n minAlignmentPeriod:\n type: string\n x-dcl-go-name: MinAlignmentPeriod\n description: Optional. The lower bound on data point\n frequency for this data set, implemented by specifying\n the minimum alignment period to use in a time series\n query For example, if the data is published once every\n 10 minutes, the `min_alignment_period` should be at\n least 10 minutes. It would not make sense to fetch\n and align data at one minute intervals.\n plotType:\n type: string\n x-dcl-go-name: PlotType\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnum\n description: 'How this data should be plotted on the\n chart. Possible values: PLOT_TYPE_UNSPECIFIED, LINE,\n STACKED_AREA, STACKED_BAR, HEATMAP'\n enum:\n - PLOT_TYPE_UNSPECIFIED\n - LINE\n - STACKED_AREA\n - STACKED_BAR\n - HEATMAP\n timeSeriesQuery:\n type: object\n x-dcl-go-name: TimeSeriesQuery\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery\n description: Required. Fields for querying time series\n data from the Stackdriver metrics API.\n properties:\n timeSeriesFilter:\n type: object\n x-dcl-go-name: TimeSeriesFilter\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter\n description: Filter parameters to fetch time series.\n required:\n - filter\n properties:\n aggregation:\n type: object\n x-dcl-go-name: Aggregation\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation\n description: By default, the raw time series\n data is returned. Use this field to combine\n multiple time series for different views of\n the data.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period` specifies\n a time interval, in seconds, that is used\n to divide the data in all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time. This will\n be done before the per-series aligner\n can be applied to the data. The value\n must be at least 60 seconds. If a per-series\n aligner other than `ALIGN_NONE` is specified,\n this field is required or an error is\n returned. If no per-series aligner is\n specified, or the aligner `ALIGN_NONE`\n is specified, then this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum\n description: 'The reduction operation to\n be used to combine time series into a\n single time series, where the value of\n each data point in the resulting series\n is a function of all the already aligned\n values in the input time series. Not\n all reducer operations can be applied\n to all time series. The valid choices\n depend on the `metric_kind` and the `value_type`\n of the original time series. Reduction\n can yield a time series with a different\n `metric_kind` or `value_type` than the\n input time series. Time series data must\n first be aligned (see `per_series_aligner`)\n in order to perform cross-time series\n reduction. If `cross_series_reducer` is\n specified, then `per_series_aligner` must\n be specified, and must not be `ALIGN_NONE`.\n An `alignment_period` must also be specified;\n otherwise, an error is returned. Possible\n values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,\n REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to preserve\n when `cross_series_reducer` is specified.\n The `group_by_fields` determine how the\n time series are partitioned into subsets\n prior to applying the aggregation operation.\n Each subset contains time series that\n have the same value for each of the grouping\n fields. Each individual time series is\n a member of exactly one subset. The `cross_series_reducer`\n is applied to each subset of time series.\n It is not possible to reduce across different\n resource types, so this field implicitly\n contains `resource.type`. Fields not\n specified in `group_by_fields` are aggregated\n away. If `group_by_fields` is not specified\n and all the time series have the same\n resource type, then the time series are\n aggregated into a single output time series.\n If `cross_series_reducer` is not defined,\n this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes how\n to bring the data points in a single time\n series into temporal alignment. Except\n for `ALIGN_NONE`, all alignments cause\n all the data points in an `alignment_period`\n to be mathematically grouped together,\n resulting in a single data point for each\n `alignment_period` with end timestamp\n at the end of the period. Not all alignment\n operations may be applied to all time\n series. The valid choices depend on the\n `metric_kind` and `value_type` of the\n original time series. Alignment can change\n the `metric_kind` or the `value_type`\n of the time series. Time series data\n must be aligned in order to perform cross-time\n series reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified and not equal to `ALIGN_NONE`\n and `alignment_period` must be specified;\n otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n filter:\n type: string\n x-dcl-go-name: Filter\n description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n that identifies the metric types, resources,\n and projects to query.\n pickTimeSeriesFilter:\n type: object\n x-dcl-go-name: PickTimeSeriesFilter\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter\n description: Ranking based time series filter.\n properties:\n direction:\n type: string\n x-dcl-go-name: Direction\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum\n description: 'How to use the ranking to\n select time series that pass through the\n filter. Possible values: DIRECTION_UNSPECIFIED,\n TOP, BOTTOM'\n enum:\n - DIRECTION_UNSPECIFIED\n - TOP\n - BOTTOM\n numTimeSeries:\n type: integer\n format: int64\n x-dcl-go-name: NumTimeSeries\n description: How many time series to allow\n to pass through the filter.\n rankingMethod:\n type: string\n x-dcl-go-name: RankingMethod\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum\n description: '`ranking_method` is applied\n to each time series independently to produce\n the value which will be used to compare\n the time series to other time series.\n Possible values: METHOD_UNSPECIFIED, METHOD_MEAN,\n METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST'\n enum:\n - METHOD_UNSPECIFIED\n - METHOD_MEAN\n - METHOD_MAX\n - METHOD_MIN\n - METHOD_SUM\n - METHOD_LATEST\n secondaryAggregation:\n type: object\n x-dcl-go-name: SecondaryAggregation\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation\n description: Apply a second aggregation after\n `aggregation` is applied.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period` specifies\n a time interval, in seconds, that is used\n to divide the data in all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time. This will\n be done before the per-series aligner\n can be applied to the data. The value\n must be at least 60 seconds. If a per-series\n aligner other than `ALIGN_NONE` is specified,\n this field is required or an error is\n returned. If no per-series aligner is\n specified, or the aligner `ALIGN_NONE`\n is specified, then this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum\n description: 'The reduction operation to\n be used to combine time series into a\n single time series, where the value of\n each data point in the resulting series\n is a function of all the already aligned\n values in the input time series. Not\n all reducer operations can be applied\n to all time series. The valid choices\n depend on the `metric_kind` and the `value_type`\n of the original time series. Reduction\n can yield a time series with a different\n `metric_kind` or `value_type` than the\n input time series. Time series data must\n first be aligned (see `per_series_aligner`)\n in order to perform cross-time series\n reduction. If `cross_series_reducer` is\n specified, then `per_series_aligner` must\n be specified, and must not be `ALIGN_NONE`.\n An `alignment_period` must also be specified;\n otherwise, an error is returned. Possible\n values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,\n REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to preserve\n when `cross_series_reducer` is specified.\n The `group_by_fields` determine how the\n time series are partitioned into subsets\n prior to applying the aggregation operation.\n Each subset contains time series that\n have the same value for each of the grouping\n fields. Each individual time series is\n a member of exactly one subset. The `cross_series_reducer`\n is applied to each subset of time series.\n It is not possible to reduce across different\n resource types, so this field implicitly\n contains `resource.type`. Fields not\n specified in `group_by_fields` are aggregated\n away. If `group_by_fields` is not specified\n and all the time series have the same\n resource type, then the time series are\n aggregated into a single output time series.\n If `cross_series_reducer` is not defined,\n this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes how\n to bring the data points in a single time\n series into temporal alignment. Except\n for `ALIGN_NONE`, all alignments cause\n all the data points in an `alignment_period`\n to be mathematically grouped together,\n resulting in a single data point for each\n `alignment_period` with end timestamp\n at the end of the period. Not all alignment\n operations may be applied to all time\n series. The valid choices depend on the\n `metric_kind` and `value_type` of the\n original time series. Alignment can change\n the `metric_kind` or the `value_type`\n of the time series. Time series data\n must be aligned in order to perform cross-time\n series reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified and not equal to `ALIGN_NONE`\n and `alignment_period` must be specified;\n otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n timeSeriesFilterRatio:\n type: object\n x-dcl-go-name: TimeSeriesFilterRatio\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio\n description: Parameters to fetch a ratio between\n two time series filters.\n properties:\n denominator:\n type: object\n x-dcl-go-name: Denominator\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator\n description: The denominator of the ratio.\n required:\n - filter\n properties:\n aggregation:\n type: object\n x-dcl-go-name: Aggregation\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation\n description: By default, the raw time series\n data is returned. Use this field to combine\n multiple time series for different views\n of the data.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period`\n specifies a time interval, in seconds,\n that is used to divide the data in\n all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time. This\n will be done before the per-series\n aligner can be applied to the data. The\n value must be at least 60 seconds.\n If a per-series aligner other than\n `ALIGN_NONE` is specified, this field\n is required or an error is returned.\n If no per-series aligner is specified,\n or the aligner `ALIGN_NONE` is specified,\n then this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum\n description: 'The reduction operation\n to be used to combine time series\n into a single time series, where the\n value of each data point in the resulting\n series is a function of all the already\n aligned values in the input time series. Not\n all reducer operations can be applied\n to all time series. The valid choices\n depend on the `metric_kind` and the\n `value_type` of the original time\n series. Reduction can yield a time\n series with a different `metric_kind`\n or `value_type` than the input time\n series. Time series data must first\n be aligned (see `per_series_aligner`)\n in order to perform cross-time series\n reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified, and must not be\n `ALIGN_NONE`. An `alignment_period`\n must also be specified; otherwise,\n an error is returned. Possible values:\n REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,\n REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to preserve\n when `cross_series_reducer` is specified.\n The `group_by_fields` determine how\n the time series are partitioned into\n subsets prior to applying the aggregation\n operation. Each subset contains time\n series that have the same value for\n each of the grouping fields. Each\n individual time series is a member\n of exactly one subset. The `cross_series_reducer`\n is applied to each subset of time\n series. It is not possible to reduce\n across different resource types, so\n this field implicitly contains `resource.type`. Fields\n not specified in `group_by_fields`\n are aggregated away. If `group_by_fields`\n is not specified and all the time\n series have the same resource type,\n then the time series are aggregated\n into a single output time series.\n If `cross_series_reducer` is not defined,\n this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes\n how to bring the data points in a\n single time series into temporal alignment.\n Except for `ALIGN_NONE`, all alignments\n cause all the data points in an `alignment_period`\n to be mathematically grouped together,\n resulting in a single data point for\n each `alignment_period` with end timestamp\n at the end of the period. Not all\n alignment operations may be applied\n to all time series. The valid choices\n depend on the `metric_kind` and `value_type`\n of the original time series. Alignment\n can change the `metric_kind` or the\n `value_type` of the time series. Time\n series data must be aligned in order\n to perform cross-time series reduction.\n If `cross_series_reducer` is specified,\n then `per_series_aligner` must be\n specified and not equal to `ALIGN_NONE`\n and `alignment_period` must be specified;\n otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n filter:\n type: string\n x-dcl-go-name: Filter\n description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n that identifies the metric types, resources,\n and projects to query.\n numerator:\n type: object\n x-dcl-go-name: Numerator\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator\n description: The numerator of the ratio.\n required:\n - filter\n properties:\n aggregation:\n type: object\n x-dcl-go-name: Aggregation\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation\n description: By default, the raw time series\n data is returned. Use this field to combine\n multiple time series for different views\n of the data.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period`\n specifies a time interval, in seconds,\n that is used to divide the data in\n all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time. This\n will be done before the per-series\n aligner can be applied to the data. The\n value must be at least 60 seconds.\n If a per-series aligner other than\n `ALIGN_NONE` is specified, this field\n is required or an error is returned.\n If no per-series aligner is specified,\n or the aligner `ALIGN_NONE` is specified,\n then this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum\n description: 'The reduction operation\n to be used to combine time series\n into a single time series, where the\n value of each data point in the resulting\n series is a function of all the already\n aligned values in the input time series. Not\n all reducer operations can be applied\n to all time series. The valid choices\n depend on the `metric_kind` and the\n `value_type` of the original time\n series. Reduction can yield a time\n series with a different `metric_kind`\n or `value_type` than the input time\n series. Time series data must first\n be aligned (see `per_series_aligner`)\n in order to perform cross-time series\n reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified, and must not be\n `ALIGN_NONE`. An `alignment_period`\n must also be specified; otherwise,\n an error is returned. Possible values:\n REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,\n REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to preserve\n when `cross_series_reducer` is specified.\n The `group_by_fields` determine how\n the time series are partitioned into\n subsets prior to applying the aggregation\n operation. Each subset contains time\n series that have the same value for\n each of the grouping fields. Each\n individual time series is a member\n of exactly one subset. The `cross_series_reducer`\n is applied to each subset of time\n series. It is not possible to reduce\n across different resource types, so\n this field implicitly contains `resource.type`. Fields\n not specified in `group_by_fields`\n are aggregated away. If `group_by_fields`\n is not specified and all the time\n series have the same resource type,\n then the time series are aggregated\n into a single output time series.\n If `cross_series_reducer` is not defined,\n this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes\n how to bring the data points in a\n single time series into temporal alignment.\n Except for `ALIGN_NONE`, all alignments\n cause all the data points in an `alignment_period`\n to be mathematically grouped together,\n resulting in a single data point for\n each `alignment_period` with end timestamp\n at the end of the period. Not all\n alignment operations may be applied\n to all time series. The valid choices\n depend on the `metric_kind` and `value_type`\n of the original time series. Alignment\n can change the `metric_kind` or the\n `value_type` of the time series. Time\n series data must be aligned in order\n to perform cross-time series reduction.\n If `cross_series_reducer` is specified,\n then `per_series_aligner` must be\n specified and not equal to `ALIGN_NONE`\n and `alignment_period` must be specified;\n otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n filter:\n type: string\n x-dcl-go-name: Filter\n description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n that identifies the metric types, resources,\n and projects to query.\n pickTimeSeriesFilter:\n type: object\n x-dcl-go-name: PickTimeSeriesFilter\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter\n description: Ranking based time series filter.\n properties:\n direction:\n type: string\n x-dcl-go-name: Direction\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum\n description: 'How to use the ranking to\n select time series that pass through the\n filter. Possible values: DIRECTION_UNSPECIFIED,\n TOP, BOTTOM'\n enum:\n - DIRECTION_UNSPECIFIED\n - TOP\n - BOTTOM\n numTimeSeries:\n type: integer\n format: int64\n x-dcl-go-name: NumTimeSeries\n description: How many time series to allow\n to pass through the filter.\n rankingMethod:\n type: string\n x-dcl-go-name: RankingMethod\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum\n description: '`ranking_method` is applied\n to each time series independently to produce\n the value which will be used to compare\n the time series to other time series.\n Possible values: METHOD_UNSPECIFIED, METHOD_MEAN,\n METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST'\n enum:\n - METHOD_UNSPECIFIED\n - METHOD_MEAN\n - METHOD_MAX\n - METHOD_MIN\n - METHOD_SUM\n - METHOD_LATEST\n secondaryAggregation:\n type: object\n x-dcl-go-name: SecondaryAggregation\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation\n description: Apply a second aggregation after\n the ratio is computed.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period` specifies\n a time interval, in seconds, that is used\n to divide the data in all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time. This will\n be done before the per-series aligner\n can be applied to the data. The value\n must be at least 60 seconds. If a per-series\n aligner other than `ALIGN_NONE` is specified,\n this field is required or an error is\n returned. If no per-series aligner is\n specified, or the aligner `ALIGN_NONE`\n is specified, then this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum\n description: 'The reduction operation to\n be used to combine time series into a\n single time series, where the value of\n each data point in the resulting series\n is a function of all the already aligned\n values in the input time series. Not\n all reducer operations can be applied\n to all time series. The valid choices\n depend on the `metric_kind` and the `value_type`\n of the original time series. Reduction\n can yield a time series with a different\n `metric_kind` or `value_type` than the\n input time series. Time series data must\n first be aligned (see `per_series_aligner`)\n in order to perform cross-time series\n reduction. If `cross_series_reducer` is\n specified, then `per_series_aligner` must\n be specified, and must not be `ALIGN_NONE`.\n An `alignment_period` must also be specified;\n otherwise, an error is returned. Possible\n values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,\n REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to preserve\n when `cross_series_reducer` is specified.\n The `group_by_fields` determine how the\n time series are partitioned into subsets\n prior to applying the aggregation operation.\n Each subset contains time series that\n have the same value for each of the grouping\n fields. Each individual time series is\n a member of exactly one subset. The `cross_series_reducer`\n is applied to each subset of time series.\n It is not possible to reduce across different\n resource types, so this field implicitly\n contains `resource.type`. Fields not\n specified in `group_by_fields` are aggregated\n away. If `group_by_fields` is not specified\n and all the time series have the same\n resource type, then the time series are\n aggregated into a single output time series.\n If `cross_series_reducer` is not defined,\n this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes how\n to bring the data points in a single time\n series into temporal alignment. Except\n for `ALIGN_NONE`, all alignments cause\n all the data points in an `alignment_period`\n to be mathematically grouped together,\n resulting in a single data point for each\n `alignment_period` with end timestamp\n at the end of the period. Not all alignment\n operations may be applied to all time\n series. The valid choices depend on the\n `metric_kind` and `value_type` of the\n original time series. Alignment can change\n the `metric_kind` or the `value_type`\n of the time series. Time series data\n must be aligned in order to perform cross-time\n series reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified and not equal to `ALIGN_NONE`\n and `alignment_period` must be specified;\n otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n timeSeriesQueryLanguage:\n type: string\n x-dcl-go-name: TimeSeriesQueryLanguage\n description: A query used to fetch time series.\n unitOverride:\n type: string\n x-dcl-go-name: UnitOverride\n description: The unit of data contained in fetched\n time series. If non-empty, this unit will override\n any unit that accompanies fetched data. The format\n is the same as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors)\n field in `MetricDescriptor`.\n thresholds:\n type: array\n x-dcl-go-name: Thresholds\n description: Threshold lines drawn horizontally across the\n chart.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartThresholds\n properties:\n color:\n type: string\n x-dcl-go-name: Color\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartThresholdsColorEnum\n description: 'The state color for this threshold. Color\n is not allowed in a XyChart. Possible values: COLOR_UNSPECIFIED,\n GREY, BLUE, GREEN, YELLOW, ORANGE, RED'\n enum:\n - COLOR_UNSPECIFIED\n - GREY\n - BLUE\n - GREEN\n - YELLOW\n - ORANGE\n - RED\n direction:\n type: string\n x-dcl-go-name: Direction\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartThresholdsDirectionEnum\n description: 'The direction for the current threshold.\n Direction is not allowed in a XyChart. Possible values:\n DIRECTION_UNSPECIFIED, ABOVE, BELOW'\n enum:\n - DIRECTION_UNSPECIFIED\n - ABOVE\n - BELOW\n label:\n type: string\n x-dcl-go-name: Label\n description: A label for the threshold.\n value:\n type: number\n format: double\n x-dcl-go-name: Value\n description: The value of the threshold. The value should\n be defined in the native scale of the metric.\n timeshiftDuration:\n type: string\n x-dcl-go-name: TimeshiftDuration\n description: The duration used to display a comparison chart.\n A comparison chart simultaneously shows values from two\n similar-length time periods (e.g., week-over-week metrics).\n The duration must be positive, and it can only be applied\n to charts with data sets of LINE plot type.\n xAxis:\n type: object\n x-dcl-go-name: XAxis\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartXAxis\n description: The properties applied to the X axis.\n properties:\n label:\n type: string\n x-dcl-go-name: Label\n description: The label of the axis.\n scale:\n type: string\n x-dcl-go-name: Scale\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartXAxisScaleEnum\n description: 'The axis scale. By default, a linear scale\n is used. Possible values: SCALE_UNSPECIFIED, LINEAR,\n LOG10'\n enum:\n - SCALE_UNSPECIFIED\n - LINEAR\n - LOG10\n yAxis:\n type: object\n x-dcl-go-name: YAxis\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartYAxis\n description: The properties applied to the Y axis.\n properties:\n label:\n type: string\n x-dcl-go-name: Label\n description: The label of the axis.\n scale:\n type: string\n x-dcl-go-name: Scale\n x-dcl-go-type: DashboardGridLayoutWidgetsXyChartYAxisScaleEnum\n description: 'The axis scale. By default, a linear scale\n is used. Possible values: SCALE_UNSPECIFIED, LINEAR,\n LOG10'\n enum:\n - SCALE_UNSPECIFIED\n - LINEAR\n - LOG10\n mosaicLayout:\n type: object\n x-dcl-go-name: MosaicLayout\n x-dcl-go-type: DashboardMosaicLayout\n description: The content is arranged as a grid of tiles, with each content\n widget occupying one or more tiles.\n x-dcl-conflicts:\n - gridLayout\n - rowLayout\n - columnLayout\n properties:\n columns:\n type: integer\n format: int64\n x-dcl-go-name: Columns\n description: The number of columns in the mosaic grid.\n tiles:\n type: array\n x-dcl-go-name: Tiles\n description: The tiles to display.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DashboardMosaicLayoutTiles\n properties:\n height:\n type: integer\n format: int64\n x-dcl-go-name: Height\n description: The height of the tile, measured in grid squares.\n widget:\n type: object\n x-dcl-go-name: Widget\n x-dcl-go-type: DashboardMosaicLayoutTilesWidget\n description: The informational widget contained in the tile.\n properties:\n blank:\n type: object\n x-dcl-go-name: Blank\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetBlank\n description: A blank space.\n x-dcl-conflicts:\n - xyChart\n - scorecard\n - text\n - logsPanel\n logsPanel:\n type: object\n x-dcl-go-name: LogsPanel\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetLogsPanel\n x-dcl-conflicts:\n - xyChart\n - scorecard\n - text\n - blank\n properties:\n filter:\n type: string\n x-dcl-go-name: Filter\n description: A filter that chooses which log entries to\n return. See [Advanced Logs Queries](https://cloud.google.com/logging/docs/view/advanced-queries).\n Only log entries that match the filter are returned.\n An empty filter matches all log entries.\n resourceNames:\n type: array\n x-dcl-go-name: ResourceNames\n description: The names of logging resources to collect\n logs for. Currently only projects are supported. If\n empty, the widget will default to the host project.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n scorecard:\n type: object\n x-dcl-go-name: Scorecard\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecard\n description: A scorecard summarizing time series data.\n x-dcl-conflicts:\n - xyChart\n - text\n - blank\n - logsPanel\n required:\n - timeSeriesQuery\n properties:\n gaugeView:\n type: object\n x-dcl-go-name: GaugeView\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardGaugeView\n description: Will cause the scorecard to show a gauge\n chart.\n properties:\n lowerBound:\n type: number\n format: double\n x-dcl-go-name: LowerBound\n description: The lower bound for this gauge chart.\n The value of the chart should always be greater\n than or equal to this.\n upperBound:\n type: number\n format: double\n x-dcl-go-name: UpperBound\n description: The upper bound for this gauge chart.\n The value of the chart should always be less than\n or equal to this.\n sparkChartView:\n type: object\n x-dcl-go-name: SparkChartView\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardSparkChartView\n description: Will cause the scorecard to show a spark\n chart.\n required:\n - sparkChartType\n properties:\n minAlignmentPeriod:\n type: string\n x-dcl-go-name: MinAlignmentPeriod\n description: The lower bound on data point frequency\n in the chart implemented by specifying the minimum\n alignment period to use in a time series query.\n For example, if the data is published once every\n 10 minutes it would not make sense to fetch and\n align data at one minute intervals. This field is\n optional and exists only as a hint.\n sparkChartType:\n type: string\n x-dcl-go-name: SparkChartType\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnum\n description: 'Required. The type of sparkchart to\n show in this chartView. Possible values: SPARK_CHART_TYPE_UNSPECIFIED,\n SPARK_LINE, SPARK_BAR'\n enum:\n - SPARK_CHART_TYPE_UNSPECIFIED\n - SPARK_LINE\n - SPARK_BAR\n thresholds:\n type: array\n x-dcl-go-name: Thresholds\n description: 'The thresholds used to determine the state\n of the scorecard given the time series'' current value.\n For an actual value x, the scorecard is in a danger\n state if x is less than or equal to a danger threshold\n that triggers below, or greater than or equal to a danger\n threshold that triggers above. Similarly, if x is above/below\n a warning threshold that triggers above/below, then\n the scorecard is in a warning state - unless x also\n puts it in a danger state. (Danger trumps warning.) As\n an example, consider a scorecard with the following\n four thresholds: { value: 90, category: ''DANGER'', trigger:\n ''ABOVE'', },: { value: 70, category: ''WARNING'', trigger:\n ''ABOVE'', }, { value: 10, category: ''DANGER'', trigger:\n ''BELOW'', }, { value: 20, category: ''WARNING'', trigger:\n ''BELOW'', } Then: values less than or equal to 10\n would put the scorecard in a DANGER state, values greater\n than 10 but less than or equal to 20 a WARNING state,\n values strictly between 20 and 70 an OK state, values\n greater than or equal to 70 but less than 90 a WARNING\n state, and values greater than or equal to 90 a DANGER\n state.'\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardThresholds\n properties:\n color:\n type: string\n x-dcl-go-name: Color\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnum\n description: 'The state color for this threshold.\n Color is not allowed in a XyChart. Possible values:\n COLOR_UNSPECIFIED, GREY, BLUE, GREEN, YELLOW,\n ORANGE, RED'\n enum:\n - COLOR_UNSPECIFIED\n - GREY\n - BLUE\n - GREEN\n - YELLOW\n - ORANGE\n - RED\n direction:\n type: string\n x-dcl-go-name: Direction\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnum\n description: 'The direction for the current threshold.\n Direction is not allowed in a XyChart. Possible\n values: DIRECTION_UNSPECIFIED, ABOVE, BELOW'\n enum:\n - DIRECTION_UNSPECIFIED\n - ABOVE\n - BELOW\n label:\n type: string\n x-dcl-go-name: Label\n description: A label for the threshold.\n value:\n type: number\n format: double\n x-dcl-go-name: Value\n description: The value of the threshold. The value\n should be defined in the native scale of the metric.\n timeSeriesQuery:\n type: object\n x-dcl-go-name: TimeSeriesQuery\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery\n description: Required. Fields for querying time series\n data from the Stackdriver metrics API.\n properties:\n timeSeriesFilter:\n type: object\n x-dcl-go-name: TimeSeriesFilter\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter\n description: Filter parameters to fetch time series.\n required:\n - filter\n properties:\n aggregation:\n type: object\n x-dcl-go-name: Aggregation\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation\n description: By default, the raw time series data\n is returned. Use this field to combine multiple\n time series for different views of the data.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period` specifies\n a time interval, in seconds, that is used\n to divide the data in all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time. This will\n be done before the per-series aligner can\n be applied to the data. The value must\n be at least 60 seconds. If a per-series\n aligner other than `ALIGN_NONE` is specified,\n this field is required or an error is returned.\n If no per-series aligner is specified, or\n the aligner `ALIGN_NONE` is specified, then\n this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum\n description: 'The reduction operation to be\n used to combine time series into a single\n time series, where the value of each data\n point in the resulting series is a function\n of all the already aligned values in the\n input time series. Not all reducer operations\n can be applied to all time series. The valid\n choices depend on the `metric_kind` and\n the `value_type` of the original time series.\n Reduction can yield a time series with a\n different `metric_kind` or `value_type`\n than the input time series. Time series\n data must first be aligned (see `per_series_aligner`)\n in order to perform cross-time series reduction.\n If `cross_series_reducer` is specified,\n then `per_series_aligner` must be specified,\n and must not be `ALIGN_NONE`. An `alignment_period`\n must also be specified; otherwise, an error\n is returned. Possible values: REDUCE_NONE,\n REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,\n REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,\n REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,\n REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,\n REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,\n REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to preserve\n when `cross_series_reducer` is specified.\n The `group_by_fields` determine how the\n time series are partitioned into subsets\n prior to applying the aggregation operation.\n Each subset contains time series that have\n the same value for each of the grouping\n fields. Each individual time series is a\n member of exactly one subset. The `cross_series_reducer`\n is applied to each subset of time series.\n It is not possible to reduce across different\n resource types, so this field implicitly\n contains `resource.type`. Fields not specified\n in `group_by_fields` are aggregated away. If\n `group_by_fields` is not specified and all\n the time series have the same resource type,\n then the time series are aggregated into\n a single output time series. If `cross_series_reducer`\n is not defined, this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes how to\n bring the data points in a single time series\n into temporal alignment. Except for `ALIGN_NONE`,\n all alignments cause all the data points\n in an `alignment_period` to be mathematically\n grouped together, resulting in a single\n data point for each `alignment_period` with\n end timestamp at the end of the period. Not\n all alignment operations may be applied\n to all time series. The valid choices depend\n on the `metric_kind` and `value_type` of\n the original time series. Alignment can\n change the `metric_kind` or the `value_type`\n of the time series. Time series data must\n be aligned in order to perform cross-time\n series reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified and not equal to `ALIGN_NONE`\n and `alignment_period` must be specified;\n otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n filter:\n type: string\n x-dcl-go-name: Filter\n description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n that identifies the metric types, resources,\n and projects to query.\n pickTimeSeriesFilter:\n type: object\n x-dcl-go-name: PickTimeSeriesFilter\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter\n description: Ranking based time series filter.\n properties:\n direction:\n type: string\n x-dcl-go-name: Direction\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum\n description: 'How to use the ranking to select\n time series that pass through the filter.\n Possible values: DIRECTION_UNSPECIFIED,\n TOP, BOTTOM'\n enum:\n - DIRECTION_UNSPECIFIED\n - TOP\n - BOTTOM\n numTimeSeries:\n type: integer\n format: int64\n x-dcl-go-name: NumTimeSeries\n description: How many time series to allow\n to pass through the filter.\n rankingMethod:\n type: string\n x-dcl-go-name: RankingMethod\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum\n description: '`ranking_method` is applied\n to each time series independently to produce\n the value which will be used to compare\n the time series to other time series. Possible\n values: METHOD_UNSPECIFIED, METHOD_MEAN,\n METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST'\n enum:\n - METHOD_UNSPECIFIED\n - METHOD_MEAN\n - METHOD_MAX\n - METHOD_MIN\n - METHOD_SUM\n - METHOD_LATEST\n secondaryAggregation:\n type: object\n x-dcl-go-name: SecondaryAggregation\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation\n description: Apply a second aggregation after\n `aggregation` is applied.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period` specifies\n a time interval, in seconds, that is used\n to divide the data in all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time. This will\n be done before the per-series aligner can\n be applied to the data. The value must\n be at least 60 seconds. If a per-series\n aligner other than `ALIGN_NONE` is specified,\n this field is required or an error is returned.\n If no per-series aligner is specified, or\n the aligner `ALIGN_NONE` is specified, then\n this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum\n description: 'The reduction operation to be\n used to combine time series into a single\n time series, where the value of each data\n point in the resulting series is a function\n of all the already aligned values in the\n input time series. Not all reducer operations\n can be applied to all time series. The valid\n choices depend on the `metric_kind` and\n the `value_type` of the original time series.\n Reduction can yield a time series with a\n different `metric_kind` or `value_type`\n than the input time series. Time series\n data must first be aligned (see `per_series_aligner`)\n in order to perform cross-time series reduction.\n If `cross_series_reducer` is specified,\n then `per_series_aligner` must be specified,\n and must not be `ALIGN_NONE`. An `alignment_period`\n must also be specified; otherwise, an error\n is returned. Possible values: REDUCE_NONE,\n REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,\n REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,\n REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,\n REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,\n REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,\n REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to preserve\n when `cross_series_reducer` is specified.\n The `group_by_fields` determine how the\n time series are partitioned into subsets\n prior to applying the aggregation operation.\n Each subset contains time series that have\n the same value for each of the grouping\n fields. Each individual time series is a\n member of exactly one subset. The `cross_series_reducer`\n is applied to each subset of time series.\n It is not possible to reduce across different\n resource types, so this field implicitly\n contains `resource.type`. Fields not specified\n in `group_by_fields` are aggregated away. If\n `group_by_fields` is not specified and all\n the time series have the same resource type,\n then the time series are aggregated into\n a single output time series. If `cross_series_reducer`\n is not defined, this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes how to\n bring the data points in a single time series\n into temporal alignment. Except for `ALIGN_NONE`,\n all alignments cause all the data points\n in an `alignment_period` to be mathematically\n grouped together, resulting in a single\n data point for each `alignment_period` with\n end timestamp at the end of the period. Not\n all alignment operations may be applied\n to all time series. The valid choices depend\n on the `metric_kind` and `value_type` of\n the original time series. Alignment can\n change the `metric_kind` or the `value_type`\n of the time series. Time series data must\n be aligned in order to perform cross-time\n series reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified and not equal to `ALIGN_NONE`\n and `alignment_period` must be specified;\n otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n timeSeriesFilterRatio:\n type: object\n x-dcl-go-name: TimeSeriesFilterRatio\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio\n description: Parameters to fetch a ratio between two\n time series filters.\n properties:\n denominator:\n type: object\n x-dcl-go-name: Denominator\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator\n description: The denominator of the ratio.\n required:\n - filter\n properties:\n aggregation:\n type: object\n x-dcl-go-name: Aggregation\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation\n description: By default, the raw time series\n data is returned. Use this field to combine\n multiple time series for different views\n of the data.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period` specifies\n a time interval, in seconds, that is\n used to divide the data in all the [time\n series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time. This\n will be done before the per-series aligner\n can be applied to the data. The value\n must be at least 60 seconds. If a per-series\n aligner other than `ALIGN_NONE` is specified,\n this field is required or an error is\n returned. If no per-series aligner is\n specified, or the aligner `ALIGN_NONE`\n is specified, then this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum\n description: 'The reduction operation\n to be used to combine time series into\n a single time series, where the value\n of each data point in the resulting\n series is a function of all the already\n aligned values in the input time series. Not\n all reducer operations can be applied\n to all time series. The valid choices\n depend on the `metric_kind` and the\n `value_type` of the original time series.\n Reduction can yield a time series with\n a different `metric_kind` or `value_type`\n than the input time series. Time series\n data must first be aligned (see `per_series_aligner`)\n in order to perform cross-time series\n reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified, and must not be `ALIGN_NONE`.\n An `alignment_period` must also be specified;\n otherwise, an error is returned. Possible\n values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,\n REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to preserve\n when `cross_series_reducer` is specified.\n The `group_by_fields` determine how\n the time series are partitioned into\n subsets prior to applying the aggregation\n operation. Each subset contains time\n series that have the same value for\n each of the grouping fields. Each individual\n time series is a member of exactly one\n subset. The `cross_series_reducer` is\n applied to each subset of time series.\n It is not possible to reduce across\n different resource types, so this field\n implicitly contains `resource.type`. Fields\n not specified in `group_by_fields` are\n aggregated away. If `group_by_fields`\n is not specified and all the time series\n have the same resource type, then the\n time series are aggregated into a single\n output time series. If `cross_series_reducer`\n is not defined, this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes how\n to bring the data points in a single\n time series into temporal alignment.\n Except for `ALIGN_NONE`, all alignments\n cause all the data points in an `alignment_period`\n to be mathematically grouped together,\n resulting in a single data point for\n each `alignment_period` with end timestamp\n at the end of the period. Not all alignment\n operations may be applied to all time\n series. The valid choices depend on\n the `metric_kind` and `value_type` of\n the original time series. Alignment\n can change the `metric_kind` or the\n `value_type` of the time series. Time\n series data must be aligned in order\n to perform cross-time series reduction.\n If `cross_series_reducer` is specified,\n then `per_series_aligner` must be specified\n and not equal to `ALIGN_NONE` and `alignment_period`\n must be specified; otherwise, an error\n is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n filter:\n type: string\n x-dcl-go-name: Filter\n description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n that identifies the metric types, resources,\n and projects to query.\n numerator:\n type: object\n x-dcl-go-name: Numerator\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator\n description: The numerator of the ratio.\n required:\n - filter\n properties:\n aggregation:\n type: object\n x-dcl-go-name: Aggregation\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation\n description: By default, the raw time series\n data is returned. Use this field to combine\n multiple time series for different views\n of the data.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period` specifies\n a time interval, in seconds, that is\n used to divide the data in all the [time\n series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time. This\n will be done before the per-series aligner\n can be applied to the data. The value\n must be at least 60 seconds. If a per-series\n aligner other than `ALIGN_NONE` is specified,\n this field is required or an error is\n returned. If no per-series aligner is\n specified, or the aligner `ALIGN_NONE`\n is specified, then this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum\n description: 'The reduction operation\n to be used to combine time series into\n a single time series, where the value\n of each data point in the resulting\n series is a function of all the already\n aligned values in the input time series. Not\n all reducer operations can be applied\n to all time series. The valid choices\n depend on the `metric_kind` and the\n `value_type` of the original time series.\n Reduction can yield a time series with\n a different `metric_kind` or `value_type`\n than the input time series. Time series\n data must first be aligned (see `per_series_aligner`)\n in order to perform cross-time series\n reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified, and must not be `ALIGN_NONE`.\n An `alignment_period` must also be specified;\n otherwise, an error is returned. Possible\n values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,\n REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to preserve\n when `cross_series_reducer` is specified.\n The `group_by_fields` determine how\n the time series are partitioned into\n subsets prior to applying the aggregation\n operation. Each subset contains time\n series that have the same value for\n each of the grouping fields. Each individual\n time series is a member of exactly one\n subset. The `cross_series_reducer` is\n applied to each subset of time series.\n It is not possible to reduce across\n different resource types, so this field\n implicitly contains `resource.type`. Fields\n not specified in `group_by_fields` are\n aggregated away. If `group_by_fields`\n is not specified and all the time series\n have the same resource type, then the\n time series are aggregated into a single\n output time series. If `cross_series_reducer`\n is not defined, this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes how\n to bring the data points in a single\n time series into temporal alignment.\n Except for `ALIGN_NONE`, all alignments\n cause all the data points in an `alignment_period`\n to be mathematically grouped together,\n resulting in a single data point for\n each `alignment_period` with end timestamp\n at the end of the period. Not all alignment\n operations may be applied to all time\n series. The valid choices depend on\n the `metric_kind` and `value_type` of\n the original time series. Alignment\n can change the `metric_kind` or the\n `value_type` of the time series. Time\n series data must be aligned in order\n to perform cross-time series reduction.\n If `cross_series_reducer` is specified,\n then `per_series_aligner` must be specified\n and not equal to `ALIGN_NONE` and `alignment_period`\n must be specified; otherwise, an error\n is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n filter:\n type: string\n x-dcl-go-name: Filter\n description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n that identifies the metric types, resources,\n and projects to query.\n pickTimeSeriesFilter:\n type: object\n x-dcl-go-name: PickTimeSeriesFilter\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter\n description: Ranking based time series filter.\n properties:\n direction:\n type: string\n x-dcl-go-name: Direction\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum\n description: 'How to use the ranking to select\n time series that pass through the filter.\n Possible values: DIRECTION_UNSPECIFIED,\n TOP, BOTTOM'\n enum:\n - DIRECTION_UNSPECIFIED\n - TOP\n - BOTTOM\n numTimeSeries:\n type: integer\n format: int64\n x-dcl-go-name: NumTimeSeries\n description: How many time series to allow\n to pass through the filter.\n rankingMethod:\n type: string\n x-dcl-go-name: RankingMethod\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum\n description: '`ranking_method` is applied\n to each time series independently to produce\n the value which will be used to compare\n the time series to other time series. Possible\n values: METHOD_UNSPECIFIED, METHOD_MEAN,\n METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST'\n enum:\n - METHOD_UNSPECIFIED\n - METHOD_MEAN\n - METHOD_MAX\n - METHOD_MIN\n - METHOD_SUM\n - METHOD_LATEST\n secondaryAggregation:\n type: object\n x-dcl-go-name: SecondaryAggregation\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation\n description: Apply a second aggregation after\n the ratio is computed.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period` specifies\n a time interval, in seconds, that is used\n to divide the data in all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time. This will\n be done before the per-series aligner can\n be applied to the data. The value must\n be at least 60 seconds. If a per-series\n aligner other than `ALIGN_NONE` is specified,\n this field is required or an error is returned.\n If no per-series aligner is specified, or\n the aligner `ALIGN_NONE` is specified, then\n this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum\n description: 'The reduction operation to be\n used to combine time series into a single\n time series, where the value of each data\n point in the resulting series is a function\n of all the already aligned values in the\n input time series. Not all reducer operations\n can be applied to all time series. The valid\n choices depend on the `metric_kind` and\n the `value_type` of the original time series.\n Reduction can yield a time series with a\n different `metric_kind` or `value_type`\n than the input time series. Time series\n data must first be aligned (see `per_series_aligner`)\n in order to perform cross-time series reduction.\n If `cross_series_reducer` is specified,\n then `per_series_aligner` must be specified,\n and must not be `ALIGN_NONE`. An `alignment_period`\n must also be specified; otherwise, an error\n is returned. Possible values: REDUCE_NONE,\n REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,\n REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,\n REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,\n REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,\n REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,\n REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to preserve\n when `cross_series_reducer` is specified.\n The `group_by_fields` determine how the\n time series are partitioned into subsets\n prior to applying the aggregation operation.\n Each subset contains time series that have\n the same value for each of the grouping\n fields. Each individual time series is a\n member of exactly one subset. The `cross_series_reducer`\n is applied to each subset of time series.\n It is not possible to reduce across different\n resource types, so this field implicitly\n contains `resource.type`. Fields not specified\n in `group_by_fields` are aggregated away. If\n `group_by_fields` is not specified and all\n the time series have the same resource type,\n then the time series are aggregated into\n a single output time series. If `cross_series_reducer`\n is not defined, this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes how to\n bring the data points in a single time series\n into temporal alignment. Except for `ALIGN_NONE`,\n all alignments cause all the data points\n in an `alignment_period` to be mathematically\n grouped together, resulting in a single\n data point for each `alignment_period` with\n end timestamp at the end of the period. Not\n all alignment operations may be applied\n to all time series. The valid choices depend\n on the `metric_kind` and `value_type` of\n the original time series. Alignment can\n change the `metric_kind` or the `value_type`\n of the time series. Time series data must\n be aligned in order to perform cross-time\n series reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified and not equal to `ALIGN_NONE`\n and `alignment_period` must be specified;\n otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n timeSeriesQueryLanguage:\n type: string\n x-dcl-go-name: TimeSeriesQueryLanguage\n description: A query used to fetch time series.\n unitOverride:\n type: string\n x-dcl-go-name: UnitOverride\n description: The unit of data contained in fetched\n time series. If non-empty, this unit will override\n any unit that accompanies fetched data. The format\n is the same as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors)\n field in `MetricDescriptor`.\n text:\n type: object\n x-dcl-go-name: Text\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetText\n description: A raw string or markdown displaying textual content.\n x-dcl-conflicts:\n - xyChart\n - scorecard\n - blank\n - logsPanel\n properties:\n content:\n type: string\n x-dcl-go-name: Content\n description: The text content to be displayed.\n format:\n type: string\n x-dcl-go-name: Format\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetTextFormatEnum\n description: 'How the text content is formatted. Possible\n values: FORMAT_UNSPECIFIED, MARKDOWN, RAW'\n enum:\n - FORMAT_UNSPECIFIED\n - MARKDOWN\n - RAW\n title:\n type: string\n x-dcl-go-name: Title\n description: Optional. The title of the widget.\n xyChart:\n type: object\n x-dcl-go-name: XyChart\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChart\n description: A chart of time series data.\n x-dcl-conflicts:\n - scorecard\n - text\n - blank\n - logsPanel\n required:\n - dataSets\n properties:\n chartOptions:\n type: object\n x-dcl-go-name: ChartOptions\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartChartOptions\n description: Display options for the chart.\n properties:\n mode:\n type: string\n x-dcl-go-name: Mode\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnum\n description: 'The chart mode. Possible values: MODE_UNSPECIFIED,\n COLOR, X_RAY, STATS'\n enum:\n - MODE_UNSPECIFIED\n - COLOR\n - X_RAY\n - STATS\n dataSets:\n type: array\n x-dcl-go-name: DataSets\n description: Required. The data displayed in this chart.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSets\n required:\n - timeSeriesQuery\n properties:\n legendTemplate:\n type: string\n x-dcl-go-name: LegendTemplate\n description: 'A template string for naming `TimeSeries`\n in the resulting data set. This should be a string\n with interpolations of the form `${label_name}`,\n which will resolve to the label''s value. '\n minAlignmentPeriod:\n type: string\n x-dcl-go-name: MinAlignmentPeriod\n description: Optional. The lower bound on data point\n frequency for this data set, implemented by specifying\n the minimum alignment period to use in a time\n series query For example, if the data is published\n once every 10 minutes, the `min_alignment_period`\n should be at least 10 minutes. It would not make\n sense to fetch and align data at one minute intervals.\n plotType:\n type: string\n x-dcl-go-name: PlotType\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnum\n description: 'How this data should be plotted on\n the chart. Possible values: PLOT_TYPE_UNSPECIFIED,\n LINE, STACKED_AREA, STACKED_BAR, HEATMAP'\n enum:\n - PLOT_TYPE_UNSPECIFIED\n - LINE\n - STACKED_AREA\n - STACKED_BAR\n - HEATMAP\n timeSeriesQuery:\n type: object\n x-dcl-go-name: TimeSeriesQuery\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery\n description: Required. Fields for querying time\n series data from the Stackdriver metrics API.\n properties:\n timeSeriesFilter:\n type: object\n x-dcl-go-name: TimeSeriesFilter\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter\n description: Filter parameters to fetch time\n series.\n required:\n - filter\n properties:\n aggregation:\n type: object\n x-dcl-go-name: Aggregation\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation\n description: By default, the raw time series\n data is returned. Use this field to combine\n multiple time series for different views\n of the data.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period`\n specifies a time interval, in seconds,\n that is used to divide the data in\n all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time. This\n will be done before the per-series\n aligner can be applied to the data. The\n value must be at least 60 seconds.\n If a per-series aligner other than\n `ALIGN_NONE` is specified, this field\n is required or an error is returned.\n If no per-series aligner is specified,\n or the aligner `ALIGN_NONE` is specified,\n then this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum\n description: 'The reduction operation\n to be used to combine time series\n into a single time series, where the\n value of each data point in the resulting\n series is a function of all the already\n aligned values in the input time series. Not\n all reducer operations can be applied\n to all time series. The valid choices\n depend on the `metric_kind` and the\n `value_type` of the original time\n series. Reduction can yield a time\n series with a different `metric_kind`\n or `value_type` than the input time\n series. Time series data must first\n be aligned (see `per_series_aligner`)\n in order to perform cross-time series\n reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified, and must not be\n `ALIGN_NONE`. An `alignment_period`\n must also be specified; otherwise,\n an error is returned. Possible values:\n REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,\n REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to preserve\n when `cross_series_reducer` is specified.\n The `group_by_fields` determine how\n the time series are partitioned into\n subsets prior to applying the aggregation\n operation. Each subset contains time\n series that have the same value for\n each of the grouping fields. Each\n individual time series is a member\n of exactly one subset. The `cross_series_reducer`\n is applied to each subset of time\n series. It is not possible to reduce\n across different resource types, so\n this field implicitly contains `resource.type`. Fields\n not specified in `group_by_fields`\n are aggregated away. If `group_by_fields`\n is not specified and all the time\n series have the same resource type,\n then the time series are aggregated\n into a single output time series.\n If `cross_series_reducer` is not defined,\n this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes\n how to bring the data points in a\n single time series into temporal alignment.\n Except for `ALIGN_NONE`, all alignments\n cause all the data points in an `alignment_period`\n to be mathematically grouped together,\n resulting in a single data point for\n each `alignment_period` with end timestamp\n at the end of the period. Not all\n alignment operations may be applied\n to all time series. The valid choices\n depend on the `metric_kind` and `value_type`\n of the original time series. Alignment\n can change the `metric_kind` or the\n `value_type` of the time series. Time\n series data must be aligned in order\n to perform cross-time series reduction.\n If `cross_series_reducer` is specified,\n then `per_series_aligner` must be\n specified and not equal to `ALIGN_NONE`\n and `alignment_period` must be specified;\n otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n filter:\n type: string\n x-dcl-go-name: Filter\n description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n that identifies the metric types, resources,\n and projects to query.\n pickTimeSeriesFilter:\n type: object\n x-dcl-go-name: PickTimeSeriesFilter\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter\n description: Ranking based time series filter.\n properties:\n direction:\n type: string\n x-dcl-go-name: Direction\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum\n description: 'How to use the ranking\n to select time series that pass through\n the filter. Possible values: DIRECTION_UNSPECIFIED,\n TOP, BOTTOM'\n enum:\n - DIRECTION_UNSPECIFIED\n - TOP\n - BOTTOM\n numTimeSeries:\n type: integer\n format: int64\n x-dcl-go-name: NumTimeSeries\n description: How many time series to\n allow to pass through the filter.\n rankingMethod:\n type: string\n x-dcl-go-name: RankingMethod\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum\n description: '`ranking_method` is applied\n to each time series independently\n to produce the value which will be\n used to compare the time series to\n other time series. Possible values:\n METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX,\n METHOD_MIN, METHOD_SUM, METHOD_LATEST'\n enum:\n - METHOD_UNSPECIFIED\n - METHOD_MEAN\n - METHOD_MAX\n - METHOD_MIN\n - METHOD_SUM\n - METHOD_LATEST\n secondaryAggregation:\n type: object\n x-dcl-go-name: SecondaryAggregation\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation\n description: Apply a second aggregation\n after `aggregation` is applied.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period`\n specifies a time interval, in seconds,\n that is used to divide the data in\n all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time. This\n will be done before the per-series\n aligner can be applied to the data. The\n value must be at least 60 seconds.\n If a per-series aligner other than\n `ALIGN_NONE` is specified, this field\n is required or an error is returned.\n If no per-series aligner is specified,\n or the aligner `ALIGN_NONE` is specified,\n then this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum\n description: 'The reduction operation\n to be used to combine time series\n into a single time series, where the\n value of each data point in the resulting\n series is a function of all the already\n aligned values in the input time series. Not\n all reducer operations can be applied\n to all time series. The valid choices\n depend on the `metric_kind` and the\n `value_type` of the original time\n series. Reduction can yield a time\n series with a different `metric_kind`\n or `value_type` than the input time\n series. Time series data must first\n be aligned (see `per_series_aligner`)\n in order to perform cross-time series\n reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified, and must not be\n `ALIGN_NONE`. An `alignment_period`\n must also be specified; otherwise,\n an error is returned. Possible values:\n REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,\n REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to preserve\n when `cross_series_reducer` is specified.\n The `group_by_fields` determine how\n the time series are partitioned into\n subsets prior to applying the aggregation\n operation. Each subset contains time\n series that have the same value for\n each of the grouping fields. Each\n individual time series is a member\n of exactly one subset. The `cross_series_reducer`\n is applied to each subset of time\n series. It is not possible to reduce\n across different resource types, so\n this field implicitly contains `resource.type`. Fields\n not specified in `group_by_fields`\n are aggregated away. If `group_by_fields`\n is not specified and all the time\n series have the same resource type,\n then the time series are aggregated\n into a single output time series.\n If `cross_series_reducer` is not defined,\n this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes\n how to bring the data points in a\n single time series into temporal alignment.\n Except for `ALIGN_NONE`, all alignments\n cause all the data points in an `alignment_period`\n to be mathematically grouped together,\n resulting in a single data point for\n each `alignment_period` with end timestamp\n at the end of the period. Not all\n alignment operations may be applied\n to all time series. The valid choices\n depend on the `metric_kind` and `value_type`\n of the original time series. Alignment\n can change the `metric_kind` or the\n `value_type` of the time series. Time\n series data must be aligned in order\n to perform cross-time series reduction.\n If `cross_series_reducer` is specified,\n then `per_series_aligner` must be\n specified and not equal to `ALIGN_NONE`\n and `alignment_period` must be specified;\n otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n timeSeriesFilterRatio:\n type: object\n x-dcl-go-name: TimeSeriesFilterRatio\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio\n description: Parameters to fetch a ratio between\n two time series filters.\n properties:\n denominator:\n type: object\n x-dcl-go-name: Denominator\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator\n description: The denominator of the ratio.\n required:\n - filter\n properties:\n aggregation:\n type: object\n x-dcl-go-name: Aggregation\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation\n description: By default, the raw time\n series data is returned. Use this\n field to combine multiple time series\n for different views of the data.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period`\n specifies a time interval, in\n seconds, that is used to divide\n the data in all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time.\n This will be done before the per-series\n aligner can be applied to the\n data. The value must be at least\n 60 seconds. If a per-series aligner\n other than `ALIGN_NONE` is specified,\n this field is required or an error\n is returned. If no per-series\n aligner is specified, or the aligner\n `ALIGN_NONE` is specified, then\n this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum\n description: 'The reduction operation\n to be used to combine time series\n into a single time series, where\n the value of each data point in\n the resulting series is a function\n of all the already aligned values\n in the input time series. Not\n all reducer operations can be\n applied to all time series. The\n valid choices depend on the `metric_kind`\n and the `value_type` of the original\n time series. Reduction can yield\n a time series with a different\n `metric_kind` or `value_type`\n than the input time series. Time\n series data must first be aligned\n (see `per_series_aligner`) in\n order to perform cross-time series\n reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified, and must not\n be `ALIGN_NONE`. An `alignment_period`\n must also be specified; otherwise,\n an error is returned. Possible\n values: REDUCE_NONE, REDUCE_MEAN,\n REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,\n REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,\n REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,\n REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,\n REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,\n REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to\n preserve when `cross_series_reducer`\n is specified. The `group_by_fields`\n determine how the time series\n are partitioned into subsets prior\n to applying the aggregation operation.\n Each subset contains time series\n that have the same value for each\n of the grouping fields. Each individual\n time series is a member of exactly\n one subset. The `cross_series_reducer`\n is applied to each subset of time\n series. It is not possible to\n reduce across different resource\n types, so this field implicitly\n contains `resource.type`. Fields\n not specified in `group_by_fields`\n are aggregated away. If `group_by_fields`\n is not specified and all the time\n series have the same resource\n type, then the time series are\n aggregated into a single output\n time series. If `cross_series_reducer`\n is not defined, this field is\n ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes\n how to bring the data points in\n a single time series into temporal\n alignment. Except for `ALIGN_NONE`,\n all alignments cause all the data\n points in an `alignment_period`\n to be mathematically grouped together,\n resulting in a single data point\n for each `alignment_period` with\n end timestamp at the end of the\n period. Not all alignment operations\n may be applied to all time series.\n The valid choices depend on the\n `metric_kind` and `value_type`\n of the original time series. Alignment\n can change the `metric_kind` or\n the `value_type` of the time series. Time\n series data must be aligned in\n order to perform cross-time series\n reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified and not equal\n to `ALIGN_NONE` and `alignment_period`\n must be specified; otherwise,\n an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n filter:\n type: string\n x-dcl-go-name: Filter\n description: Required. The [monitoring\n filter](https://cloud.google.com/monitoring/api/v3/filters)\n that identifies the metric types,\n resources, and projects to query.\n numerator:\n type: object\n x-dcl-go-name: Numerator\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator\n description: The numerator of the ratio.\n required:\n - filter\n properties:\n aggregation:\n type: object\n x-dcl-go-name: Aggregation\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation\n description: By default, the raw time\n series data is returned. Use this\n field to combine multiple time series\n for different views of the data.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period`\n specifies a time interval, in\n seconds, that is used to divide\n the data in all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time.\n This will be done before the per-series\n aligner can be applied to the\n data. The value must be at least\n 60 seconds. If a per-series aligner\n other than `ALIGN_NONE` is specified,\n this field is required or an error\n is returned. If no per-series\n aligner is specified, or the aligner\n `ALIGN_NONE` is specified, then\n this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum\n description: 'The reduction operation\n to be used to combine time series\n into a single time series, where\n the value of each data point in\n the resulting series is a function\n of all the already aligned values\n in the input time series. Not\n all reducer operations can be\n applied to all time series. The\n valid choices depend on the `metric_kind`\n and the `value_type` of the original\n time series. Reduction can yield\n a time series with a different\n `metric_kind` or `value_type`\n than the input time series. Time\n series data must first be aligned\n (see `per_series_aligner`) in\n order to perform cross-time series\n reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified, and must not\n be `ALIGN_NONE`. An `alignment_period`\n must also be specified; otherwise,\n an error is returned. Possible\n values: REDUCE_NONE, REDUCE_MEAN,\n REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,\n REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,\n REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,\n REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,\n REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,\n REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to\n preserve when `cross_series_reducer`\n is specified. The `group_by_fields`\n determine how the time series\n are partitioned into subsets prior\n to applying the aggregation operation.\n Each subset contains time series\n that have the same value for each\n of the grouping fields. Each individual\n time series is a member of exactly\n one subset. The `cross_series_reducer`\n is applied to each subset of time\n series. It is not possible to\n reduce across different resource\n types, so this field implicitly\n contains `resource.type`. Fields\n not specified in `group_by_fields`\n are aggregated away. If `group_by_fields`\n is not specified and all the time\n series have the same resource\n type, then the time series are\n aggregated into a single output\n time series. If `cross_series_reducer`\n is not defined, this field is\n ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes\n how to bring the data points in\n a single time series into temporal\n alignment. Except for `ALIGN_NONE`,\n all alignments cause all the data\n points in an `alignment_period`\n to be mathematically grouped together,\n resulting in a single data point\n for each `alignment_period` with\n end timestamp at the end of the\n period. Not all alignment operations\n may be applied to all time series.\n The valid choices depend on the\n `metric_kind` and `value_type`\n of the original time series. Alignment\n can change the `metric_kind` or\n the `value_type` of the time series. Time\n series data must be aligned in\n order to perform cross-time series\n reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified and not equal\n to `ALIGN_NONE` and `alignment_period`\n must be specified; otherwise,\n an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n filter:\n type: string\n x-dcl-go-name: Filter\n description: Required. The [monitoring\n filter](https://cloud.google.com/monitoring/api/v3/filters)\n that identifies the metric types,\n resources, and projects to query.\n pickTimeSeriesFilter:\n type: object\n x-dcl-go-name: PickTimeSeriesFilter\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter\n description: Ranking based time series filter.\n properties:\n direction:\n type: string\n x-dcl-go-name: Direction\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum\n description: 'How to use the ranking\n to select time series that pass through\n the filter. Possible values: DIRECTION_UNSPECIFIED,\n TOP, BOTTOM'\n enum:\n - DIRECTION_UNSPECIFIED\n - TOP\n - BOTTOM\n numTimeSeries:\n type: integer\n format: int64\n x-dcl-go-name: NumTimeSeries\n description: How many time series to\n allow to pass through the filter.\n rankingMethod:\n type: string\n x-dcl-go-name: RankingMethod\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum\n description: '`ranking_method` is applied\n to each time series independently\n to produce the value which will be\n used to compare the time series to\n other time series. Possible values:\n METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX,\n METHOD_MIN, METHOD_SUM, METHOD_LATEST'\n enum:\n - METHOD_UNSPECIFIED\n - METHOD_MEAN\n - METHOD_MAX\n - METHOD_MIN\n - METHOD_SUM\n - METHOD_LATEST\n secondaryAggregation:\n type: object\n x-dcl-go-name: SecondaryAggregation\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation\n description: Apply a second aggregation\n after the ratio is computed.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period`\n specifies a time interval, in seconds,\n that is used to divide the data in\n all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time. This\n will be done before the per-series\n aligner can be applied to the data. The\n value must be at least 60 seconds.\n If a per-series aligner other than\n `ALIGN_NONE` is specified, this field\n is required or an error is returned.\n If no per-series aligner is specified,\n or the aligner `ALIGN_NONE` is specified,\n then this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum\n description: 'The reduction operation\n to be used to combine time series\n into a single time series, where the\n value of each data point in the resulting\n series is a function of all the already\n aligned values in the input time series. Not\n all reducer operations can be applied\n to all time series. The valid choices\n depend on the `metric_kind` and the\n `value_type` of the original time\n series. Reduction can yield a time\n series with a different `metric_kind`\n or `value_type` than the input time\n series. Time series data must first\n be aligned (see `per_series_aligner`)\n in order to perform cross-time series\n reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified, and must not be\n `ALIGN_NONE`. An `alignment_period`\n must also be specified; otherwise,\n an error is returned. Possible values:\n REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,\n REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to preserve\n when `cross_series_reducer` is specified.\n The `group_by_fields` determine how\n the time series are partitioned into\n subsets prior to applying the aggregation\n operation. Each subset contains time\n series that have the same value for\n each of the grouping fields. Each\n individual time series is a member\n of exactly one subset. The `cross_series_reducer`\n is applied to each subset of time\n series. It is not possible to reduce\n across different resource types, so\n this field implicitly contains `resource.type`. Fields\n not specified in `group_by_fields`\n are aggregated away. If `group_by_fields`\n is not specified and all the time\n series have the same resource type,\n then the time series are aggregated\n into a single output time series.\n If `cross_series_reducer` is not defined,\n this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes\n how to bring the data points in a\n single time series into temporal alignment.\n Except for `ALIGN_NONE`, all alignments\n cause all the data points in an `alignment_period`\n to be mathematically grouped together,\n resulting in a single data point for\n each `alignment_period` with end timestamp\n at the end of the period. Not all\n alignment operations may be applied\n to all time series. The valid choices\n depend on the `metric_kind` and `value_type`\n of the original time series. Alignment\n can change the `metric_kind` or the\n `value_type` of the time series. Time\n series data must be aligned in order\n to perform cross-time series reduction.\n If `cross_series_reducer` is specified,\n then `per_series_aligner` must be\n specified and not equal to `ALIGN_NONE`\n and `alignment_period` must be specified;\n otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n timeSeriesQueryLanguage:\n type: string\n x-dcl-go-name: TimeSeriesQueryLanguage\n description: A query used to fetch time series.\n unitOverride:\n type: string\n x-dcl-go-name: UnitOverride\n description: The unit of data contained in fetched\n time series. If non-empty, this unit will\n override any unit that accompanies fetched\n data. The format is the same as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors)\n field in `MetricDescriptor`.\n thresholds:\n type: array\n x-dcl-go-name: Thresholds\n description: Threshold lines drawn horizontally across\n the chart.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartThresholds\n properties:\n color:\n type: string\n x-dcl-go-name: Color\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnum\n description: 'The state color for this threshold.\n Color is not allowed in a XyChart. Possible values:\n COLOR_UNSPECIFIED, GREY, BLUE, GREEN, YELLOW,\n ORANGE, RED'\n enum:\n - COLOR_UNSPECIFIED\n - GREY\n - BLUE\n - GREEN\n - YELLOW\n - ORANGE\n - RED\n direction:\n type: string\n x-dcl-go-name: Direction\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnum\n description: 'The direction for the current threshold.\n Direction is not allowed in a XyChart. Possible\n values: DIRECTION_UNSPECIFIED, ABOVE, BELOW'\n enum:\n - DIRECTION_UNSPECIFIED\n - ABOVE\n - BELOW\n label:\n type: string\n x-dcl-go-name: Label\n description: A label for the threshold.\n value:\n type: number\n format: double\n x-dcl-go-name: Value\n description: The value of the threshold. The value\n should be defined in the native scale of the metric.\n timeshiftDuration:\n type: string\n x-dcl-go-name: TimeshiftDuration\n description: The duration used to display a comparison\n chart. A comparison chart simultaneously shows values\n from two similar-length time periods (e.g., week-over-week\n metrics). The duration must be positive, and it can\n only be applied to charts with data sets of LINE plot\n type.\n xAxis:\n type: object\n x-dcl-go-name: XAxis\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartXAxis\n description: The properties applied to the X axis.\n properties:\n label:\n type: string\n x-dcl-go-name: Label\n description: The label of the axis.\n scale:\n type: string\n x-dcl-go-name: Scale\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnum\n description: 'The axis scale. By default, a linear\n scale is used. Possible values: SCALE_UNSPECIFIED,\n LINEAR, LOG10'\n enum:\n - SCALE_UNSPECIFIED\n - LINEAR\n - LOG10\n yAxis:\n type: object\n x-dcl-go-name: YAxis\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartYAxis\n description: The properties applied to the Y axis.\n properties:\n label:\n type: string\n x-dcl-go-name: Label\n description: The label of the axis.\n scale:\n type: string\n x-dcl-go-name: Scale\n x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnum\n description: 'The axis scale. By default, a linear\n scale is used. Possible values: SCALE_UNSPECIFIED,\n LINEAR, LOG10'\n enum:\n - SCALE_UNSPECIFIED\n - LINEAR\n - LOG10\n width:\n type: integer\n format: int64\n x-dcl-go-name: Width\n description: The width of the tile, measured in grid squares.\n xPos:\n type: integer\n format: int64\n x-dcl-go-name: XPos\n description: The zero-indexed position of the tile in grid squares\n relative to the left edge of the grid.\n yPos:\n type: integer\n format: int64\n x-dcl-go-name: YPos\n description: The zero-indexed position of the tile in grid squares\n relative to the top edge of the grid.\n name:\n type: string\n x-dcl-go-name: Name\n description: Immutable. The resource name of the dashboard.\n x-kubernetes-immutable: true\n project:\n type: string\n x-dcl-go-name: Project\n description: The project id of the resource.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n rowLayout:\n type: object\n x-dcl-go-name: RowLayout\n x-dcl-go-type: DashboardRowLayout\n description: The content is divided into equally spaced rows and the widgets\n are arranged horizontally.\n x-dcl-conflicts:\n - gridLayout\n - mosaicLayout\n - columnLayout\n properties:\n rows:\n type: array\n x-dcl-go-name: Rows\n description: The rows of content to display.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DashboardRowLayoutRows\n properties:\n weight:\n type: integer\n format: int64\n x-dcl-go-name: Weight\n description: The relative weight of this row. The row weight is\n used to adjust the height of rows on the screen (relative to\n peers). Greater the weight, greater the height of the row on\n the screen. If omitted, a value of 1 is used while rendering.\n widgets:\n type: array\n x-dcl-go-name: Widgets\n description: The display widgets arranged horizontally in this\n row.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DashboardRowLayoutRowsWidgets\n properties:\n blank:\n type: object\n x-dcl-go-name: Blank\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsBlank\n description: A blank space.\n x-dcl-conflicts:\n - xyChart\n - scorecard\n - text\n - logsPanel\n logsPanel:\n type: object\n x-dcl-go-name: LogsPanel\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsLogsPanel\n x-dcl-conflicts:\n - xyChart\n - scorecard\n - text\n - blank\n properties:\n filter:\n type: string\n x-dcl-go-name: Filter\n description: A filter that chooses which log entries\n to return. See [Advanced Logs Queries](https://cloud.google.com/logging/docs/view/advanced-queries).\n Only log entries that match the filter are returned.\n An empty filter matches all log entries.\n resourceNames:\n type: array\n x-dcl-go-name: ResourceNames\n description: The names of logging resources to collect\n logs for. Currently only projects are supported. If\n empty, the widget will default to the host project.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n scorecard:\n type: object\n x-dcl-go-name: Scorecard\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecard\n description: A scorecard summarizing time series data.\n x-dcl-conflicts:\n - xyChart\n - text\n - blank\n - logsPanel\n required:\n - timeSeriesQuery\n properties:\n gaugeView:\n type: object\n x-dcl-go-name: GaugeView\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardGaugeView\n description: Will cause the scorecard to show a gauge\n chart.\n properties:\n lowerBound:\n type: number\n format: double\n x-dcl-go-name: LowerBound\n description: The lower bound for this gauge chart.\n The value of the chart should always be greater\n than or equal to this.\n upperBound:\n type: number\n format: double\n x-dcl-go-name: UpperBound\n description: The upper bound for this gauge chart.\n The value of the chart should always be less than\n or equal to this.\n sparkChartView:\n type: object\n x-dcl-go-name: SparkChartView\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardSparkChartView\n description: Will cause the scorecard to show a spark\n chart.\n required:\n - sparkChartType\n properties:\n minAlignmentPeriod:\n type: string\n x-dcl-go-name: MinAlignmentPeriod\n description: The lower bound on data point frequency\n in the chart implemented by specifying the minimum\n alignment period to use in a time series query.\n For example, if the data is published once every\n 10 minutes it would not make sense to fetch and\n align data at one minute intervals. This field\n is optional and exists only as a hint.\n sparkChartType:\n type: string\n x-dcl-go-name: SparkChartType\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnum\n description: 'Required. The type of sparkchart to\n show in this chartView. Possible values: SPARK_CHART_TYPE_UNSPECIFIED,\n SPARK_LINE, SPARK_BAR'\n enum:\n - SPARK_CHART_TYPE_UNSPECIFIED\n - SPARK_LINE\n - SPARK_BAR\n thresholds:\n type: array\n x-dcl-go-name: Thresholds\n description: 'The thresholds used to determine the state\n of the scorecard given the time series'' current value.\n For an actual value x, the scorecard is in a danger\n state if x is less than or equal to a danger threshold\n that triggers below, or greater than or equal to a\n danger threshold that triggers above. Similarly, if\n x is above/below a warning threshold that triggers\n above/below, then the scorecard is in a warning state\n - unless x also puts it in a danger state. (Danger\n trumps warning.) As an example, consider a scorecard\n with the following four thresholds: { value: 90, category:\n ''DANGER'', trigger: ''ABOVE'', },: { value: 70, category:\n ''WARNING'', trigger: ''ABOVE'', }, { value: 10, category:\n ''DANGER'', trigger: ''BELOW'', }, { value: 20, category:\n ''WARNING'', trigger: ''BELOW'', } Then: values\n less than or equal to 10 would put the scorecard in\n a DANGER state, values greater than 10 but less than\n or equal to 20 a WARNING state, values strictly between\n 20 and 70 an OK state, values greater than or equal\n to 70 but less than 90 a WARNING state, and values\n greater than or equal to 90 a DANGER state.'\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardThresholds\n properties:\n color:\n type: string\n x-dcl-go-name: Color\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnum\n description: 'The state color for this threshold.\n Color is not allowed in a XyChart. Possible\n values: COLOR_UNSPECIFIED, GREY, BLUE, GREEN,\n YELLOW, ORANGE, RED'\n enum:\n - COLOR_UNSPECIFIED\n - GREY\n - BLUE\n - GREEN\n - YELLOW\n - ORANGE\n - RED\n direction:\n type: string\n x-dcl-go-name: Direction\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnum\n description: 'The direction for the current threshold.\n Direction is not allowed in a XyChart. Possible\n values: DIRECTION_UNSPECIFIED, ABOVE, BELOW'\n enum:\n - DIRECTION_UNSPECIFIED\n - ABOVE\n - BELOW\n label:\n type: string\n x-dcl-go-name: Label\n description: A label for the threshold.\n value:\n type: number\n format: double\n x-dcl-go-name: Value\n description: The value of the threshold. The value\n should be defined in the native scale of the\n metric.\n timeSeriesQuery:\n type: object\n x-dcl-go-name: TimeSeriesQuery\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery\n description: Required. Fields for querying time series\n data from the Stackdriver metrics API.\n properties:\n timeSeriesFilter:\n type: object\n x-dcl-go-name: TimeSeriesFilter\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter\n description: Filter parameters to fetch time series.\n required:\n - filter\n properties:\n aggregation:\n type: object\n x-dcl-go-name: Aggregation\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation\n description: By default, the raw time series\n data is returned. Use this field to combine\n multiple time series for different views of\n the data.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period` specifies\n a time interval, in seconds, that is used\n to divide the data in all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time. This will\n be done before the per-series aligner\n can be applied to the data. The value\n must be at least 60 seconds. If a per-series\n aligner other than `ALIGN_NONE` is specified,\n this field is required or an error is\n returned. If no per-series aligner is\n specified, or the aligner `ALIGN_NONE`\n is specified, then this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum\n description: 'The reduction operation to\n be used to combine time series into a\n single time series, where the value of\n each data point in the resulting series\n is a function of all the already aligned\n values in the input time series. Not\n all reducer operations can be applied\n to all time series. The valid choices\n depend on the `metric_kind` and the `value_type`\n of the original time series. Reduction\n can yield a time series with a different\n `metric_kind` or `value_type` than the\n input time series. Time series data must\n first be aligned (see `per_series_aligner`)\n in order to perform cross-time series\n reduction. If `cross_series_reducer` is\n specified, then `per_series_aligner` must\n be specified, and must not be `ALIGN_NONE`.\n An `alignment_period` must also be specified;\n otherwise, an error is returned. Possible\n values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,\n REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to preserve\n when `cross_series_reducer` is specified.\n The `group_by_fields` determine how the\n time series are partitioned into subsets\n prior to applying the aggregation operation.\n Each subset contains time series that\n have the same value for each of the grouping\n fields. Each individual time series is\n a member of exactly one subset. The `cross_series_reducer`\n is applied to each subset of time series.\n It is not possible to reduce across different\n resource types, so this field implicitly\n contains `resource.type`. Fields not\n specified in `group_by_fields` are aggregated\n away. If `group_by_fields` is not specified\n and all the time series have the same\n resource type, then the time series are\n aggregated into a single output time series.\n If `cross_series_reducer` is not defined,\n this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes how\n to bring the data points in a single time\n series into temporal alignment. Except\n for `ALIGN_NONE`, all alignments cause\n all the data points in an `alignment_period`\n to be mathematically grouped together,\n resulting in a single data point for each\n `alignment_period` with end timestamp\n at the end of the period. Not all alignment\n operations may be applied to all time\n series. The valid choices depend on the\n `metric_kind` and `value_type` of the\n original time series. Alignment can change\n the `metric_kind` or the `value_type`\n of the time series. Time series data\n must be aligned in order to perform cross-time\n series reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified and not equal to `ALIGN_NONE`\n and `alignment_period` must be specified;\n otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n filter:\n type: string\n x-dcl-go-name: Filter\n description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n that identifies the metric types, resources,\n and projects to query.\n pickTimeSeriesFilter:\n type: object\n x-dcl-go-name: PickTimeSeriesFilter\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter\n description: Ranking based time series filter.\n properties:\n direction:\n type: string\n x-dcl-go-name: Direction\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum\n description: 'How to use the ranking to\n select time series that pass through the\n filter. Possible values: DIRECTION_UNSPECIFIED,\n TOP, BOTTOM'\n enum:\n - DIRECTION_UNSPECIFIED\n - TOP\n - BOTTOM\n numTimeSeries:\n type: integer\n format: int64\n x-dcl-go-name: NumTimeSeries\n description: How many time series to allow\n to pass through the filter.\n rankingMethod:\n type: string\n x-dcl-go-name: RankingMethod\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum\n description: '`ranking_method` is applied\n to each time series independently to produce\n the value which will be used to compare\n the time series to other time series.\n Possible values: METHOD_UNSPECIFIED, METHOD_MEAN,\n METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST'\n enum:\n - METHOD_UNSPECIFIED\n - METHOD_MEAN\n - METHOD_MAX\n - METHOD_MIN\n - METHOD_SUM\n - METHOD_LATEST\n secondaryAggregation:\n type: object\n x-dcl-go-name: SecondaryAggregation\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation\n description: Apply a second aggregation after\n `aggregation` is applied.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period` specifies\n a time interval, in seconds, that is used\n to divide the data in all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time. This will\n be done before the per-series aligner\n can be applied to the data. The value\n must be at least 60 seconds. If a per-series\n aligner other than `ALIGN_NONE` is specified,\n this field is required or an error is\n returned. If no per-series aligner is\n specified, or the aligner `ALIGN_NONE`\n is specified, then this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum\n description: 'The reduction operation to\n be used to combine time series into a\n single time series, where the value of\n each data point in the resulting series\n is a function of all the already aligned\n values in the input time series. Not\n all reducer operations can be applied\n to all time series. The valid choices\n depend on the `metric_kind` and the `value_type`\n of the original time series. Reduction\n can yield a time series with a different\n `metric_kind` or `value_type` than the\n input time series. Time series data must\n first be aligned (see `per_series_aligner`)\n in order to perform cross-time series\n reduction. If `cross_series_reducer` is\n specified, then `per_series_aligner` must\n be specified, and must not be `ALIGN_NONE`.\n An `alignment_period` must also be specified;\n otherwise, an error is returned. Possible\n values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,\n REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to preserve\n when `cross_series_reducer` is specified.\n The `group_by_fields` determine how the\n time series are partitioned into subsets\n prior to applying the aggregation operation.\n Each subset contains time series that\n have the same value for each of the grouping\n fields. Each individual time series is\n a member of exactly one subset. The `cross_series_reducer`\n is applied to each subset of time series.\n It is not possible to reduce across different\n resource types, so this field implicitly\n contains `resource.type`. Fields not\n specified in `group_by_fields` are aggregated\n away. If `group_by_fields` is not specified\n and all the time series have the same\n resource type, then the time series are\n aggregated into a single output time series.\n If `cross_series_reducer` is not defined,\n this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes how\n to bring the data points in a single time\n series into temporal alignment. Except\n for `ALIGN_NONE`, all alignments cause\n all the data points in an `alignment_period`\n to be mathematically grouped together,\n resulting in a single data point for each\n `alignment_period` with end timestamp\n at the end of the period. Not all alignment\n operations may be applied to all time\n series. The valid choices depend on the\n `metric_kind` and `value_type` of the\n original time series. Alignment can change\n the `metric_kind` or the `value_type`\n of the time series. Time series data\n must be aligned in order to perform cross-time\n series reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified and not equal to `ALIGN_NONE`\n and `alignment_period` must be specified;\n otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n timeSeriesFilterRatio:\n type: object\n x-dcl-go-name: TimeSeriesFilterRatio\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio\n description: Parameters to fetch a ratio between\n two time series filters.\n properties:\n denominator:\n type: object\n x-dcl-go-name: Denominator\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator\n description: The denominator of the ratio.\n required:\n - filter\n properties:\n aggregation:\n type: object\n x-dcl-go-name: Aggregation\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation\n description: By default, the raw time series\n data is returned. Use this field to combine\n multiple time series for different views\n of the data.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period`\n specifies a time interval, in seconds,\n that is used to divide the data in\n all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time. This\n will be done before the per-series\n aligner can be applied to the data. The\n value must be at least 60 seconds.\n If a per-series aligner other than\n `ALIGN_NONE` is specified, this field\n is required or an error is returned.\n If no per-series aligner is specified,\n or the aligner `ALIGN_NONE` is specified,\n then this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum\n description: 'The reduction operation\n to be used to combine time series\n into a single time series, where the\n value of each data point in the resulting\n series is a function of all the already\n aligned values in the input time series. Not\n all reducer operations can be applied\n to all time series. The valid choices\n depend on the `metric_kind` and the\n `value_type` of the original time\n series. Reduction can yield a time\n series with a different `metric_kind`\n or `value_type` than the input time\n series. Time series data must first\n be aligned (see `per_series_aligner`)\n in order to perform cross-time series\n reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified, and must not be\n `ALIGN_NONE`. An `alignment_period`\n must also be specified; otherwise,\n an error is returned. Possible values:\n REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,\n REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to preserve\n when `cross_series_reducer` is specified.\n The `group_by_fields` determine how\n the time series are partitioned into\n subsets prior to applying the aggregation\n operation. Each subset contains time\n series that have the same value for\n each of the grouping fields. Each\n individual time series is a member\n of exactly one subset. The `cross_series_reducer`\n is applied to each subset of time\n series. It is not possible to reduce\n across different resource types, so\n this field implicitly contains `resource.type`. Fields\n not specified in `group_by_fields`\n are aggregated away. If `group_by_fields`\n is not specified and all the time\n series have the same resource type,\n then the time series are aggregated\n into a single output time series.\n If `cross_series_reducer` is not defined,\n this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes\n how to bring the data points in a\n single time series into temporal alignment.\n Except for `ALIGN_NONE`, all alignments\n cause all the data points in an `alignment_period`\n to be mathematically grouped together,\n resulting in a single data point for\n each `alignment_period` with end timestamp\n at the end of the period. Not all\n alignment operations may be applied\n to all time series. The valid choices\n depend on the `metric_kind` and `value_type`\n of the original time series. Alignment\n can change the `metric_kind` or the\n `value_type` of the time series. Time\n series data must be aligned in order\n to perform cross-time series reduction.\n If `cross_series_reducer` is specified,\n then `per_series_aligner` must be\n specified and not equal to `ALIGN_NONE`\n and `alignment_period` must be specified;\n otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n filter:\n type: string\n x-dcl-go-name: Filter\n description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n that identifies the metric types, resources,\n and projects to query.\n numerator:\n type: object\n x-dcl-go-name: Numerator\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator\n description: The numerator of the ratio.\n required:\n - filter\n properties:\n aggregation:\n type: object\n x-dcl-go-name: Aggregation\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation\n description: By default, the raw time series\n data is returned. Use this field to combine\n multiple time series for different views\n of the data.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period`\n specifies a time interval, in seconds,\n that is used to divide the data in\n all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time. This\n will be done before the per-series\n aligner can be applied to the data. The\n value must be at least 60 seconds.\n If a per-series aligner other than\n `ALIGN_NONE` is specified, this field\n is required or an error is returned.\n If no per-series aligner is specified,\n or the aligner `ALIGN_NONE` is specified,\n then this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum\n description: 'The reduction operation\n to be used to combine time series\n into a single time series, where the\n value of each data point in the resulting\n series is a function of all the already\n aligned values in the input time series. Not\n all reducer operations can be applied\n to all time series. The valid choices\n depend on the `metric_kind` and the\n `value_type` of the original time\n series. Reduction can yield a time\n series with a different `metric_kind`\n or `value_type` than the input time\n series. Time series data must first\n be aligned (see `per_series_aligner`)\n in order to perform cross-time series\n reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified, and must not be\n `ALIGN_NONE`. An `alignment_period`\n must also be specified; otherwise,\n an error is returned. Possible values:\n REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,\n REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to preserve\n when `cross_series_reducer` is specified.\n The `group_by_fields` determine how\n the time series are partitioned into\n subsets prior to applying the aggregation\n operation. Each subset contains time\n series that have the same value for\n each of the grouping fields. Each\n individual time series is a member\n of exactly one subset. The `cross_series_reducer`\n is applied to each subset of time\n series. It is not possible to reduce\n across different resource types, so\n this field implicitly contains `resource.type`. Fields\n not specified in `group_by_fields`\n are aggregated away. If `group_by_fields`\n is not specified and all the time\n series have the same resource type,\n then the time series are aggregated\n into a single output time series.\n If `cross_series_reducer` is not defined,\n this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes\n how to bring the data points in a\n single time series into temporal alignment.\n Except for `ALIGN_NONE`, all alignments\n cause all the data points in an `alignment_period`\n to be mathematically grouped together,\n resulting in a single data point for\n each `alignment_period` with end timestamp\n at the end of the period. Not all\n alignment operations may be applied\n to all time series. The valid choices\n depend on the `metric_kind` and `value_type`\n of the original time series. Alignment\n can change the `metric_kind` or the\n `value_type` of the time series. Time\n series data must be aligned in order\n to perform cross-time series reduction.\n If `cross_series_reducer` is specified,\n then `per_series_aligner` must be\n specified and not equal to `ALIGN_NONE`\n and `alignment_period` must be specified;\n otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n filter:\n type: string\n x-dcl-go-name: Filter\n description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n that identifies the metric types, resources,\n and projects to query.\n pickTimeSeriesFilter:\n type: object\n x-dcl-go-name: PickTimeSeriesFilter\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter\n description: Ranking based time series filter.\n properties:\n direction:\n type: string\n x-dcl-go-name: Direction\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum\n description: 'How to use the ranking to\n select time series that pass through the\n filter. Possible values: DIRECTION_UNSPECIFIED,\n TOP, BOTTOM'\n enum:\n - DIRECTION_UNSPECIFIED\n - TOP\n - BOTTOM\n numTimeSeries:\n type: integer\n format: int64\n x-dcl-go-name: NumTimeSeries\n description: How many time series to allow\n to pass through the filter.\n rankingMethod:\n type: string\n x-dcl-go-name: RankingMethod\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum\n description: '`ranking_method` is applied\n to each time series independently to produce\n the value which will be used to compare\n the time series to other time series.\n Possible values: METHOD_UNSPECIFIED, METHOD_MEAN,\n METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST'\n enum:\n - METHOD_UNSPECIFIED\n - METHOD_MEAN\n - METHOD_MAX\n - METHOD_MIN\n - METHOD_SUM\n - METHOD_LATEST\n secondaryAggregation:\n type: object\n x-dcl-go-name: SecondaryAggregation\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation\n description: Apply a second aggregation after\n the ratio is computed.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period` specifies\n a time interval, in seconds, that is used\n to divide the data in all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time. This will\n be done before the per-series aligner\n can be applied to the data. The value\n must be at least 60 seconds. If a per-series\n aligner other than `ALIGN_NONE` is specified,\n this field is required or an error is\n returned. If no per-series aligner is\n specified, or the aligner `ALIGN_NONE`\n is specified, then this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum\n description: 'The reduction operation to\n be used to combine time series into a\n single time series, where the value of\n each data point in the resulting series\n is a function of all the already aligned\n values in the input time series. Not\n all reducer operations can be applied\n to all time series. The valid choices\n depend on the `metric_kind` and the `value_type`\n of the original time series. Reduction\n can yield a time series with a different\n `metric_kind` or `value_type` than the\n input time series. Time series data must\n first be aligned (see `per_series_aligner`)\n in order to perform cross-time series\n reduction. If `cross_series_reducer` is\n specified, then `per_series_aligner` must\n be specified, and must not be `ALIGN_NONE`.\n An `alignment_period` must also be specified;\n otherwise, an error is returned. Possible\n values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,\n REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to preserve\n when `cross_series_reducer` is specified.\n The `group_by_fields` determine how the\n time series are partitioned into subsets\n prior to applying the aggregation operation.\n Each subset contains time series that\n have the same value for each of the grouping\n fields. Each individual time series is\n a member of exactly one subset. The `cross_series_reducer`\n is applied to each subset of time series.\n It is not possible to reduce across different\n resource types, so this field implicitly\n contains `resource.type`. Fields not\n specified in `group_by_fields` are aggregated\n away. If `group_by_fields` is not specified\n and all the time series have the same\n resource type, then the time series are\n aggregated into a single output time series.\n If `cross_series_reducer` is not defined,\n this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes how\n to bring the data points in a single time\n series into temporal alignment. Except\n for `ALIGN_NONE`, all alignments cause\n all the data points in an `alignment_period`\n to be mathematically grouped together,\n resulting in a single data point for each\n `alignment_period` with end timestamp\n at the end of the period. Not all alignment\n operations may be applied to all time\n series. The valid choices depend on the\n `metric_kind` and `value_type` of the\n original time series. Alignment can change\n the `metric_kind` or the `value_type`\n of the time series. Time series data\n must be aligned in order to perform cross-time\n series reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified and not equal to `ALIGN_NONE`\n and `alignment_period` must be specified;\n otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n timeSeriesQueryLanguage:\n type: string\n x-dcl-go-name: TimeSeriesQueryLanguage\n description: A query used to fetch time series.\n unitOverride:\n type: string\n x-dcl-go-name: UnitOverride\n description: The unit of data contained in fetched\n time series. If non-empty, this unit will override\n any unit that accompanies fetched data. The format\n is the same as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors)\n field in `MetricDescriptor`.\n text:\n type: object\n x-dcl-go-name: Text\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsText\n description: A raw string or markdown displaying textual\n content.\n x-dcl-conflicts:\n - xyChart\n - scorecard\n - blank\n - logsPanel\n properties:\n content:\n type: string\n x-dcl-go-name: Content\n description: The text content to be displayed.\n format:\n type: string\n x-dcl-go-name: Format\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsTextFormatEnum\n description: 'How the text content is formatted. Possible\n values: FORMAT_UNSPECIFIED, MARKDOWN, RAW'\n enum:\n - FORMAT_UNSPECIFIED\n - MARKDOWN\n - RAW\n title:\n type: string\n x-dcl-go-name: Title\n description: Optional. The title of the widget.\n xyChart:\n type: object\n x-dcl-go-name: XyChart\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChart\n description: A chart of time series data.\n x-dcl-conflicts:\n - scorecard\n - text\n - blank\n - logsPanel\n required:\n - dataSets\n properties:\n chartOptions:\n type: object\n x-dcl-go-name: ChartOptions\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartChartOptions\n description: Display options for the chart.\n properties:\n mode:\n type: string\n x-dcl-go-name: Mode\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnum\n description: 'The chart mode. Possible values: MODE_UNSPECIFIED,\n COLOR, X_RAY, STATS'\n enum:\n - MODE_UNSPECIFIED\n - COLOR\n - X_RAY\n - STATS\n dataSets:\n type: array\n x-dcl-go-name: DataSets\n description: Required. The data displayed in this chart.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSets\n required:\n - timeSeriesQuery\n properties:\n legendTemplate:\n type: string\n x-dcl-go-name: LegendTemplate\n description: 'A template string for naming `TimeSeries`\n in the resulting data set. This should be a\n string with interpolations of the form `${label_name}`,\n which will resolve to the label''s value. '\n minAlignmentPeriod:\n type: string\n x-dcl-go-name: MinAlignmentPeriod\n description: Optional. The lower bound on data\n point frequency for this data set, implemented\n by specifying the minimum alignment period to\n use in a time series query For example, if the\n data is published once every 10 minutes, the\n `min_alignment_period` should be at least 10\n minutes. It would not make sense to fetch and\n align data at one minute intervals.\n plotType:\n type: string\n x-dcl-go-name: PlotType\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnum\n description: 'How this data should be plotted\n on the chart. Possible values: PLOT_TYPE_UNSPECIFIED,\n LINE, STACKED_AREA, STACKED_BAR, HEATMAP'\n enum:\n - PLOT_TYPE_UNSPECIFIED\n - LINE\n - STACKED_AREA\n - STACKED_BAR\n - HEATMAP\n timeSeriesQuery:\n type: object\n x-dcl-go-name: TimeSeriesQuery\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery\n description: Required. Fields for querying time\n series data from the Stackdriver metrics API.\n properties:\n timeSeriesFilter:\n type: object\n x-dcl-go-name: TimeSeriesFilter\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter\n description: Filter parameters to fetch time\n series.\n required:\n - filter\n properties:\n aggregation:\n type: object\n x-dcl-go-name: Aggregation\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation\n description: By default, the raw time\n series data is returned. Use this field\n to combine multiple time series for\n different views of the data.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period`\n specifies a time interval, in seconds,\n that is used to divide the data\n in all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time.\n This will be done before the per-series\n aligner can be applied to the data. The\n value must be at least 60 seconds.\n If a per-series aligner other than\n `ALIGN_NONE` is specified, this\n field is required or an error is\n returned. If no per-series aligner\n is specified, or the aligner `ALIGN_NONE`\n is specified, then this field is\n ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum\n description: 'The reduction operation\n to be used to combine time series\n into a single time series, where\n the value of each data point in\n the resulting series is a function\n of all the already aligned values\n in the input time series. Not all\n reducer operations can be applied\n to all time series. The valid choices\n depend on the `metric_kind` and\n the `value_type` of the original\n time series. Reduction can yield\n a time series with a different `metric_kind`\n or `value_type` than the input time\n series. Time series data must first\n be aligned (see `per_series_aligner`)\n in order to perform cross-time series\n reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified, and must not\n be `ALIGN_NONE`. An `alignment_period`\n must also be specified; otherwise,\n an error is returned. Possible values:\n REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n REDUCE_COUNT, REDUCE_COUNT_TRUE,\n REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,\n REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,\n REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,\n REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to\n preserve when `cross_series_reducer`\n is specified. The `group_by_fields`\n determine how the time series are\n partitioned into subsets prior to\n applying the aggregation operation.\n Each subset contains time series\n that have the same value for each\n of the grouping fields. Each individual\n time series is a member of exactly\n one subset. The `cross_series_reducer`\n is applied to each subset of time\n series. It is not possible to reduce\n across different resource types,\n so this field implicitly contains\n `resource.type`. Fields not specified\n in `group_by_fields` are aggregated\n away. If `group_by_fields` is not\n specified and all the time series\n have the same resource type, then\n the time series are aggregated into\n a single output time series. If\n `cross_series_reducer` is not defined,\n this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes\n how to bring the data points in\n a single time series into temporal\n alignment. Except for `ALIGN_NONE`,\n all alignments cause all the data\n points in an `alignment_period`\n to be mathematically grouped together,\n resulting in a single data point\n for each `alignment_period` with\n end timestamp at the end of the\n period. Not all alignment operations\n may be applied to all time series.\n The valid choices depend on the\n `metric_kind` and `value_type` of\n the original time series. Alignment\n can change the `metric_kind` or\n the `value_type` of the time series. Time\n series data must be aligned in order\n to perform cross-time series reduction.\n If `cross_series_reducer` is specified,\n then `per_series_aligner` must be\n specified and not equal to `ALIGN_NONE`\n and `alignment_period` must be specified;\n otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n filter:\n type: string\n x-dcl-go-name: Filter\n description: Required. The [monitoring\n filter](https://cloud.google.com/monitoring/api/v3/filters)\n that identifies the metric types, resources,\n and projects to query.\n pickTimeSeriesFilter:\n type: object\n x-dcl-go-name: PickTimeSeriesFilter\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter\n description: Ranking based time series\n filter.\n properties:\n direction:\n type: string\n x-dcl-go-name: Direction\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum\n description: 'How to use the ranking\n to select time series that pass\n through the filter. Possible values:\n DIRECTION_UNSPECIFIED, TOP, BOTTOM'\n enum:\n - DIRECTION_UNSPECIFIED\n - TOP\n - BOTTOM\n numTimeSeries:\n type: integer\n format: int64\n x-dcl-go-name: NumTimeSeries\n description: How many time series\n to allow to pass through the filter.\n rankingMethod:\n type: string\n x-dcl-go-name: RankingMethod\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum\n description: '`ranking_method` is\n applied to each time series independently\n to produce the value which will\n be used to compare the time series\n to other time series. Possible values:\n METHOD_UNSPECIFIED, METHOD_MEAN,\n METHOD_MAX, METHOD_MIN, METHOD_SUM,\n METHOD_LATEST'\n enum:\n - METHOD_UNSPECIFIED\n - METHOD_MEAN\n - METHOD_MAX\n - METHOD_MIN\n - METHOD_SUM\n - METHOD_LATEST\n secondaryAggregation:\n type: object\n x-dcl-go-name: SecondaryAggregation\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation\n description: Apply a second aggregation\n after `aggregation` is applied.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period`\n specifies a time interval, in seconds,\n that is used to divide the data\n in all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time.\n This will be done before the per-series\n aligner can be applied to the data. The\n value must be at least 60 seconds.\n If a per-series aligner other than\n `ALIGN_NONE` is specified, this\n field is required or an error is\n returned. If no per-series aligner\n is specified, or the aligner `ALIGN_NONE`\n is specified, then this field is\n ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum\n description: 'The reduction operation\n to be used to combine time series\n into a single time series, where\n the value of each data point in\n the resulting series is a function\n of all the already aligned values\n in the input time series. Not all\n reducer operations can be applied\n to all time series. The valid choices\n depend on the `metric_kind` and\n the `value_type` of the original\n time series. Reduction can yield\n a time series with a different `metric_kind`\n or `value_type` than the input time\n series. Time series data must first\n be aligned (see `per_series_aligner`)\n in order to perform cross-time series\n reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified, and must not\n be `ALIGN_NONE`. An `alignment_period`\n must also be specified; otherwise,\n an error is returned. Possible values:\n REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n REDUCE_COUNT, REDUCE_COUNT_TRUE,\n REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,\n REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,\n REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,\n REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to\n preserve when `cross_series_reducer`\n is specified. The `group_by_fields`\n determine how the time series are\n partitioned into subsets prior to\n applying the aggregation operation.\n Each subset contains time series\n that have the same value for each\n of the grouping fields. Each individual\n time series is a member of exactly\n one subset. The `cross_series_reducer`\n is applied to each subset of time\n series. It is not possible to reduce\n across different resource types,\n so this field implicitly contains\n `resource.type`. Fields not specified\n in `group_by_fields` are aggregated\n away. If `group_by_fields` is not\n specified and all the time series\n have the same resource type, then\n the time series are aggregated into\n a single output time series. If\n `cross_series_reducer` is not defined,\n this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes\n how to bring the data points in\n a single time series into temporal\n alignment. Except for `ALIGN_NONE`,\n all alignments cause all the data\n points in an `alignment_period`\n to be mathematically grouped together,\n resulting in a single data point\n for each `alignment_period` with\n end timestamp at the end of the\n period. Not all alignment operations\n may be applied to all time series.\n The valid choices depend on the\n `metric_kind` and `value_type` of\n the original time series. Alignment\n can change the `metric_kind` or\n the `value_type` of the time series. Time\n series data must be aligned in order\n to perform cross-time series reduction.\n If `cross_series_reducer` is specified,\n then `per_series_aligner` must be\n specified and not equal to `ALIGN_NONE`\n and `alignment_period` must be specified;\n otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n timeSeriesFilterRatio:\n type: object\n x-dcl-go-name: TimeSeriesFilterRatio\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio\n description: Parameters to fetch a ratio between\n two time series filters.\n properties:\n denominator:\n type: object\n x-dcl-go-name: Denominator\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator\n description: The denominator of the ratio.\n required:\n - filter\n properties:\n aggregation:\n type: object\n x-dcl-go-name: Aggregation\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation\n description: By default, the raw time\n series data is returned. Use this\n field to combine multiple time series\n for different views of the data.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period`\n specifies a time interval, in\n seconds, that is used to divide\n the data in all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time.\n This will be done before the\n per-series aligner can be applied\n to the data. The value must\n be at least 60 seconds. If a\n per-series aligner other than\n `ALIGN_NONE` is specified, this\n field is required or an error\n is returned. If no per-series\n aligner is specified, or the\n aligner `ALIGN_NONE` is specified,\n then this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum\n description: 'The reduction operation\n to be used to combine time series\n into a single time series, where\n the value of each data point\n in the resulting series is a\n function of all the already\n aligned values in the input\n time series. Not all reducer\n operations can be applied to\n all time series. The valid choices\n depend on the `metric_kind`\n and the `value_type` of the\n original time series. Reduction\n can yield a time series with\n a different `metric_kind` or\n `value_type` than the input\n time series. Time series data\n must first be aligned (see `per_series_aligner`)\n in order to perform cross-time\n series reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified, and must\n not be `ALIGN_NONE`. An `alignment_period`\n must also be specified; otherwise,\n an error is returned. Possible\n values: REDUCE_NONE, REDUCE_MEAN,\n REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,\n REDUCE_STDDEV, REDUCE_COUNT,\n REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,\n REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields\n to preserve when `cross_series_reducer`\n is specified. The `group_by_fields`\n determine how the time series\n are partitioned into subsets\n prior to applying the aggregation\n operation. Each subset contains\n time series that have the same\n value for each of the grouping\n fields. Each individual time\n series is a member of exactly\n one subset. The `cross_series_reducer`\n is applied to each subset of\n time series. It is not possible\n to reduce across different resource\n types, so this field implicitly\n contains `resource.type`. Fields\n not specified in `group_by_fields`\n are aggregated away. If `group_by_fields`\n is not specified and all the\n time series have the same resource\n type, then the time series are\n aggregated into a single output\n time series. If `cross_series_reducer`\n is not defined, this field is\n ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes\n how to bring the data points\n in a single time series into\n temporal alignment. Except for\n `ALIGN_NONE`, all alignments\n cause all the data points in\n an `alignment_period` to be\n mathematically grouped together,\n resulting in a single data point\n for each `alignment_period`\n with end timestamp at the end\n of the period. Not all alignment\n operations may be applied to\n all time series. The valid choices\n depend on the `metric_kind`\n and `value_type` of the original\n time series. Alignment can change\n the `metric_kind` or the `value_type`\n of the time series. Time series\n data must be aligned in order\n to perform cross-time series\n reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified and not equal\n to `ALIGN_NONE` and `alignment_period`\n must be specified; otherwise,\n an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n filter:\n type: string\n x-dcl-go-name: Filter\n description: Required. The [monitoring\n filter](https://cloud.google.com/monitoring/api/v3/filters)\n that identifies the metric types,\n resources, and projects to query.\n numerator:\n type: object\n x-dcl-go-name: Numerator\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator\n description: The numerator of the ratio.\n required:\n - filter\n properties:\n aggregation:\n type: object\n x-dcl-go-name: Aggregation\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation\n description: By default, the raw time\n series data is returned. Use this\n field to combine multiple time series\n for different views of the data.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period`\n specifies a time interval, in\n seconds, that is used to divide\n the data in all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time.\n This will be done before the\n per-series aligner can be applied\n to the data. The value must\n be at least 60 seconds. If a\n per-series aligner other than\n `ALIGN_NONE` is specified, this\n field is required or an error\n is returned. If no per-series\n aligner is specified, or the\n aligner `ALIGN_NONE` is specified,\n then this field is ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum\n description: 'The reduction operation\n to be used to combine time series\n into a single time series, where\n the value of each data point\n in the resulting series is a\n function of all the already\n aligned values in the input\n time series. Not all reducer\n operations can be applied to\n all time series. The valid choices\n depend on the `metric_kind`\n and the `value_type` of the\n original time series. Reduction\n can yield a time series with\n a different `metric_kind` or\n `value_type` than the input\n time series. Time series data\n must first be aligned (see `per_series_aligner`)\n in order to perform cross-time\n series reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified, and must\n not be `ALIGN_NONE`. An `alignment_period`\n must also be specified; otherwise,\n an error is returned. Possible\n values: REDUCE_NONE, REDUCE_MEAN,\n REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,\n REDUCE_STDDEV, REDUCE_COUNT,\n REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,\n REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields\n to preserve when `cross_series_reducer`\n is specified. The `group_by_fields`\n determine how the time series\n are partitioned into subsets\n prior to applying the aggregation\n operation. Each subset contains\n time series that have the same\n value for each of the grouping\n fields. Each individual time\n series is a member of exactly\n one subset. The `cross_series_reducer`\n is applied to each subset of\n time series. It is not possible\n to reduce across different resource\n types, so this field implicitly\n contains `resource.type`. Fields\n not specified in `group_by_fields`\n are aggregated away. If `group_by_fields`\n is not specified and all the\n time series have the same resource\n type, then the time series are\n aggregated into a single output\n time series. If `cross_series_reducer`\n is not defined, this field is\n ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes\n how to bring the data points\n in a single time series into\n temporal alignment. Except for\n `ALIGN_NONE`, all alignments\n cause all the data points in\n an `alignment_period` to be\n mathematically grouped together,\n resulting in a single data point\n for each `alignment_period`\n with end timestamp at the end\n of the period. Not all alignment\n operations may be applied to\n all time series. The valid choices\n depend on the `metric_kind`\n and `value_type` of the original\n time series. Alignment can change\n the `metric_kind` or the `value_type`\n of the time series. Time series\n data must be aligned in order\n to perform cross-time series\n reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified and not equal\n to `ALIGN_NONE` and `alignment_period`\n must be specified; otherwise,\n an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n filter:\n type: string\n x-dcl-go-name: Filter\n description: Required. The [monitoring\n filter](https://cloud.google.com/monitoring/api/v3/filters)\n that identifies the metric types,\n resources, and projects to query.\n pickTimeSeriesFilter:\n type: object\n x-dcl-go-name: PickTimeSeriesFilter\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter\n description: Ranking based time series\n filter.\n properties:\n direction:\n type: string\n x-dcl-go-name: Direction\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum\n description: 'How to use the ranking\n to select time series that pass\n through the filter. Possible values:\n DIRECTION_UNSPECIFIED, TOP, BOTTOM'\n enum:\n - DIRECTION_UNSPECIFIED\n - TOP\n - BOTTOM\n numTimeSeries:\n type: integer\n format: int64\n x-dcl-go-name: NumTimeSeries\n description: How many time series\n to allow to pass through the filter.\n rankingMethod:\n type: string\n x-dcl-go-name: RankingMethod\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum\n description: '`ranking_method` is\n applied to each time series independently\n to produce the value which will\n be used to compare the time series\n to other time series. Possible values:\n METHOD_UNSPECIFIED, METHOD_MEAN,\n METHOD_MAX, METHOD_MIN, METHOD_SUM,\n METHOD_LATEST'\n enum:\n - METHOD_UNSPECIFIED\n - METHOD_MEAN\n - METHOD_MAX\n - METHOD_MIN\n - METHOD_SUM\n - METHOD_LATEST\n secondaryAggregation:\n type: object\n x-dcl-go-name: SecondaryAggregation\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation\n description: Apply a second aggregation\n after the ratio is computed.\n properties:\n alignmentPeriod:\n type: string\n x-dcl-go-name: AlignmentPeriod\n description: The `alignment_period`\n specifies a time interval, in seconds,\n that is used to divide the data\n in all the [time series][google.monitoring.v3.TimeSeries]\n into consistent blocks of time.\n This will be done before the per-series\n aligner can be applied to the data. The\n value must be at least 60 seconds.\n If a per-series aligner other than\n `ALIGN_NONE` is specified, this\n field is required or an error is\n returned. If no per-series aligner\n is specified, or the aligner `ALIGN_NONE`\n is specified, then this field is\n ignored.\n crossSeriesReducer:\n type: string\n x-dcl-go-name: CrossSeriesReducer\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum\n description: 'The reduction operation\n to be used to combine time series\n into a single time series, where\n the value of each data point in\n the resulting series is a function\n of all the already aligned values\n in the input time series. Not all\n reducer operations can be applied\n to all time series. The valid choices\n depend on the `metric_kind` and\n the `value_type` of the original\n time series. Reduction can yield\n a time series with a different `metric_kind`\n or `value_type` than the input time\n series. Time series data must first\n be aligned (see `per_series_aligner`)\n in order to perform cross-time series\n reduction. If `cross_series_reducer`\n is specified, then `per_series_aligner`\n must be specified, and must not\n be `ALIGN_NONE`. An `alignment_period`\n must also be specified; otherwise,\n an error is returned. Possible values:\n REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n REDUCE_COUNT, REDUCE_COUNT_TRUE,\n REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,\n REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,\n REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,\n REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'\n enum:\n - REDUCE_NONE\n - REDUCE_MEAN\n - REDUCE_MIN\n - REDUCE_MAX\n - REDUCE_SUM\n - REDUCE_STDDEV\n - REDUCE_COUNT\n - REDUCE_COUNT_TRUE\n - REDUCE_COUNT_FALSE\n - REDUCE_FRACTION_TRUE\n - REDUCE_PERCENTILE_99\n - REDUCE_PERCENTILE_95\n - REDUCE_PERCENTILE_50\n - REDUCE_PERCENTILE_05\n - REDUCE_FRACTION_LESS_THAN\n - REDUCE_MAKE_DISTRIBUTION\n groupByFields:\n type: array\n x-dcl-go-name: GroupByFields\n description: The set of fields to\n preserve when `cross_series_reducer`\n is specified. The `group_by_fields`\n determine how the time series are\n partitioned into subsets prior to\n applying the aggregation operation.\n Each subset contains time series\n that have the same value for each\n of the grouping fields. Each individual\n time series is a member of exactly\n one subset. The `cross_series_reducer`\n is applied to each subset of time\n series. It is not possible to reduce\n across different resource types,\n so this field implicitly contains\n `resource.type`. Fields not specified\n in `group_by_fields` are aggregated\n away. If `group_by_fields` is not\n specified and all the time series\n have the same resource type, then\n the time series are aggregated into\n a single output time series. If\n `cross_series_reducer` is not defined,\n this field is ignored.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n perSeriesAligner:\n type: string\n x-dcl-go-name: PerSeriesAligner\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum\n description: An `Aligner` describes\n how to bring the data points in\n a single time series into temporal\n alignment. Except for `ALIGN_NONE`,\n all alignments cause all the data\n points in an `alignment_period`\n to be mathematically grouped together,\n resulting in a single data point\n for each `alignment_period` with\n end timestamp at the end of the\n period. Not all alignment operations\n may be applied to all time series.\n The valid choices depend on the\n `metric_kind` and `value_type` of\n the original time series. Alignment\n can change the `metric_kind` or\n the `value_type` of the time series. Time\n series data must be aligned in order\n to perform cross-time series reduction.\n If `cross_series_reducer` is specified,\n then `per_series_aligner` must be\n specified and not equal to `ALIGN_NONE`\n and `alignment_period` must be specified;\n otherwise, an error is returned.\n enum:\n - ALIGN_NONE\n - ALIGN_DELTA\n - ALIGN_RATE\n - ALIGN_INTERPOLATE\n - ALIGN_NEXT_OLDER\n - ALIGN_MIN\n - ALIGN_MAX\n - ALIGN_MEAN\n - ALIGN_COUNT\n - ALIGN_SUM\n - ALIGN_STDDEV\n - ALIGN_COUNT_TRUE\n - ALIGN_COUNT_FALSE\n - ALIGN_FRACTION_TRUE\n - ALIGN_PERCENTILE_99\n - ALIGN_PERCENTILE_95\n - ALIGN_PERCENTILE_50\n - ALIGN_PERCENTILE_05\n - ALIGN_MAKE_DISTRIBUTION\n - ALIGN_PERCENT_CHANGE\n timeSeriesQueryLanguage:\n type: string\n x-dcl-go-name: TimeSeriesQueryLanguage\n description: A query used to fetch time series.\n unitOverride:\n type: string\n x-dcl-go-name: UnitOverride\n description: The unit of data contained in\n fetched time series. If non-empty, this\n unit will override any unit that accompanies\n fetched data. The format is the same as\n the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors)\n field in `MetricDescriptor`.\n thresholds:\n type: array\n x-dcl-go-name: Thresholds\n description: Threshold lines drawn horizontally across\n the chart.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartThresholds\n properties:\n color:\n type: string\n x-dcl-go-name: Color\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnum\n description: 'The state color for this threshold.\n Color is not allowed in a XyChart. Possible\n values: COLOR_UNSPECIFIED, GREY, BLUE, GREEN,\n YELLOW, ORANGE, RED'\n enum:\n - COLOR_UNSPECIFIED\n - GREY\n - BLUE\n - GREEN\n - YELLOW\n - ORANGE\n - RED\n direction:\n type: string\n x-dcl-go-name: Direction\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnum\n description: 'The direction for the current threshold.\n Direction is not allowed in a XyChart. Possible\n values: DIRECTION_UNSPECIFIED, ABOVE, BELOW'\n enum:\n - DIRECTION_UNSPECIFIED\n - ABOVE\n - BELOW\n label:\n type: string\n x-dcl-go-name: Label\n description: A label for the threshold.\n value:\n type: number\n format: double\n x-dcl-go-name: Value\n description: The value of the threshold. The value\n should be defined in the native scale of the\n metric.\n timeshiftDuration:\n type: string\n x-dcl-go-name: TimeshiftDuration\n description: The duration used to display a comparison\n chart. A comparison chart simultaneously shows values\n from two similar-length time periods (e.g., week-over-week\n metrics). The duration must be positive, and it can\n only be applied to charts with data sets of LINE plot\n type.\n xAxis:\n type: object\n x-dcl-go-name: XAxis\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartXAxis\n description: The properties applied to the X axis.\n properties:\n label:\n type: string\n x-dcl-go-name: Label\n description: The label of the axis.\n scale:\n type: string\n x-dcl-go-name: Scale\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnum\n description: 'The axis scale. By default, a linear\n scale is used. Possible values: SCALE_UNSPECIFIED,\n LINEAR, LOG10'\n enum:\n - SCALE_UNSPECIFIED\n - LINEAR\n - LOG10\n yAxis:\n type: object\n x-dcl-go-name: YAxis\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartYAxis\n description: The properties applied to the Y axis.\n properties:\n label:\n type: string\n x-dcl-go-name: Label\n description: The label of the axis.\n scale:\n type: string\n x-dcl-go-name: Scale\n x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnum\n description: 'The axis scale. By default, a linear\n scale is used. Possible values: SCALE_UNSPECIFIED,\n LINEAR, LOG10'\n enum:\n - SCALE_UNSPECIFIED\n - LINEAR\n - LOG10\n")
-
-// 655465 bytes
-// MD5: 77a848bc77e76e4f6bd94a19479185ee
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/group.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/group.go
deleted file mode 100644
index d3441e2d1f..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/group.go
+++ /dev/null
@@ -1,369 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 monitoring
-
-import (
- "context"
- "fmt"
- "time"
-
- "google.golang.org/api/googleapi"
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-type Group struct {
- DisplayName *string `json:"displayName"`
- Filter *string `json:"filter"`
- IsCluster *bool `json:"isCluster"`
- Name *string `json:"name"`
- ParentName *string `json:"parentName"`
- Project *string `json:"project"`
-}
-
-func (r *Group) String() string {
- return dcl.SprintResource(r)
-}
-
-// Describe returns a simple description of this resource to ensure that automated tools
-// can identify it.
-func (r *Group) Describe() dcl.ServiceTypeVersion {
- return dcl.ServiceTypeVersion{
- Service: "monitoring",
- Type: "Group",
- Version: "monitoring",
- }
-}
-
-func (r *Group) ID() (string, error) {
- if err := extractGroupFields(r); err != nil {
- return "", err
- }
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "display_name": dcl.ValueOrEmptyString(nr.DisplayName),
- "filter": dcl.ValueOrEmptyString(nr.Filter),
- "is_cluster": dcl.ValueOrEmptyString(nr.IsCluster),
- "name": dcl.ValueOrEmptyString(nr.Name),
- "parent_name": dcl.ValueOrEmptyString(nr.ParentName),
- "project": dcl.ValueOrEmptyString(nr.Project),
- }
- return dcl.Nprintf("projects/{{project}}/groups/{{name}}", params), nil
-}
-
-const GroupMaxPage = -1
-
-type GroupList struct {
- Items []*Group
-
- nextToken string
-
- pageSize int32
-
- resource *Group
-}
-
-func (l *GroupList) HasNext() bool {
- return l.nextToken != ""
-}
-
-func (l *GroupList) Next(ctx context.Context, c *Client) error {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- if !l.HasNext() {
- return fmt.Errorf("no next page")
- }
- items, token, err := c.listGroup(ctx, l.resource, l.nextToken, l.pageSize)
- if err != nil {
- return err
- }
- l.Items = items
- l.nextToken = token
- return err
-}
-
-func (c *Client) ListGroup(ctx context.Context, project string) (*GroupList, error) {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- return c.ListGroupWithMaxResults(ctx, project, GroupMaxPage)
-
-}
-
-func (c *Client) ListGroupWithMaxResults(ctx context.Context, project string, pageSize int32) (*GroupList, error) {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- // Create a resource object so that we can use proper url normalization methods.
- r := &Group{
- Project: &project,
- }
- items, token, err := c.listGroup(ctx, r, "", pageSize)
- if err != nil {
- return nil, err
- }
- return &GroupList{
- Items: items,
- nextToken: token,
- pageSize: pageSize,
- resource: r,
- }, nil
-}
-
-func (c *Client) GetGroup(ctx context.Context, r *Group) (*Group, error) {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- // This is *purposefully* supressing errors.
- // This function is used with url-normalized values + not URL normalized values.
- // URL Normalized values will throw unintentional errors, since those values are not of the proper parent form.
- extractGroupFields(r)
-
- b, err := c.getGroupRaw(ctx, r)
- if err != nil {
- if dcl.IsNotFound(err) {
- return nil, &googleapi.Error{
- Code: 404,
- Message: err.Error(),
- }
- }
- return nil, err
- }
- result, err := unmarshalGroup(b, c, r)
- if err != nil {
- return nil, err
- }
- result.Project = r.Project
- result.Name = r.Name
-
- c.Config.Logger.InfoWithContextf(ctx, "Retrieved raw result state: %v", result)
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalizing with specified state: %v", r)
- result, err = canonicalizeGroupNewState(c, result, r)
- if err != nil {
- return nil, err
- }
- if err := postReadExtractGroupFields(result); err != nil {
- return result, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Created result state: %v", result)
-
- return result, nil
-}
-
-func (c *Client) DeleteGroup(ctx context.Context, r *Group) error {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- if r == nil {
- return fmt.Errorf("Group resource is nil")
- }
- c.Config.Logger.InfoWithContext(ctx, "Deleting Group...")
- deleteOp := deleteGroupOperation{}
- return deleteOp.do(ctx, r, c)
-}
-
-// DeleteAllGroup deletes all resources that the filter functions returns true on.
-func (c *Client) DeleteAllGroup(ctx context.Context, project string, filter func(*Group) bool) error {
- listObj, err := c.ListGroup(ctx, project)
- if err != nil {
- return err
- }
-
- err = c.deleteAllGroup(ctx, filter, listObj.Items)
- if err != nil {
- return err
- }
- for listObj.HasNext() {
- err = listObj.Next(ctx, c)
- if err != nil {
- return nil
- }
- err = c.deleteAllGroup(ctx, filter, listObj.Items)
- if err != nil {
- return err
- }
- }
- return nil
-}
-
-func (c *Client) ApplyGroup(ctx context.Context, rawDesired *Group, opts ...dcl.ApplyOption) (*Group, error) {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- ctx = dcl.ContextWithRequestID(ctx)
- var resultNewState *Group
- err := dcl.Do(ctx, func(ctx context.Context) (*dcl.RetryDetails, error) {
- newState, err := applyGroupHelper(c, ctx, rawDesired, opts...)
- resultNewState = newState
- if err != nil {
- // If the error is 409, there is conflict in resource update.
- // Here we want to apply changes based on latest state.
- if dcl.IsConflictError(err) {
- return &dcl.RetryDetails{}, dcl.OperationNotDone{Err: err}
- }
- return nil, err
- }
- return nil, nil
- }, c.Config.RetryProvider)
- return resultNewState, err
-}
-
-func applyGroupHelper(c *Client, ctx context.Context, rawDesired *Group, opts ...dcl.ApplyOption) (*Group, error) {
- c.Config.Logger.InfoWithContext(ctx, "Beginning ApplyGroup...")
- c.Config.Logger.InfoWithContextf(ctx, "User specified desired state: %v", rawDesired)
-
- // 1.1: Validation of user-specified fields in desired state.
- if err := rawDesired.validate(); err != nil {
- return nil, err
- }
-
- if err := extractGroupFields(rawDesired); err != nil {
- return nil, err
- }
-
- initial, desired, fieldDiffs, err := c.groupDiffsForRawDesired(ctx, rawDesired, opts...)
- if err != nil {
- return nil, fmt.Errorf("failed to create a diff: %w", err)
- }
-
- diffs, err := convertFieldDiffsToGroupDiffs(c.Config, fieldDiffs, opts)
- if err != nil {
- return nil, err
- }
-
- // TODO(magic-modules-eng): 2.2 Feasibility check (all updates are feasible so far).
-
- // 2.3: Lifecycle Directive Check
- var create bool
- lp := dcl.FetchLifecycleParams(opts)
- if initial == nil {
- if dcl.HasLifecycleParam(lp, dcl.BlockCreation) {
- return nil, dcl.ApplyInfeasibleError{Message: fmt.Sprintf("Creation blocked by lifecycle params: %#v.", desired)}
- }
- create = true
- } else if dcl.HasLifecycleParam(lp, dcl.BlockAcquire) {
- return nil, dcl.ApplyInfeasibleError{
- Message: fmt.Sprintf("Resource already exists - apply blocked by lifecycle params: %#v.", initial),
- }
- } else {
- for _, d := range diffs {
- if d.RequiresRecreate {
- return nil, dcl.ApplyInfeasibleError{
- Message: fmt.Sprintf("infeasible update: (%v) would require recreation", d),
- }
- }
- if dcl.HasLifecycleParam(lp, dcl.BlockModification) {
- return nil, dcl.ApplyInfeasibleError{Message: fmt.Sprintf("Modification blocked, diff (%v) unresolvable.", d)}
- }
- }
- }
-
- // 2.4 Imperative Request Planning
- var ops []groupApiOperation
- if create {
- ops = append(ops, &createGroupOperation{})
- } else {
- for _, d := range diffs {
- ops = append(ops, d.UpdateOp)
- }
- }
- c.Config.Logger.InfoWithContextf(ctx, "Created plan: %#v", ops)
-
- // 2.5 Request Actuation
- for _, op := range ops {
- c.Config.Logger.InfoWithContextf(ctx, "Performing operation %T %+v", op, op)
- if err := op.do(ctx, desired, c); err != nil {
- c.Config.Logger.InfoWithContextf(ctx, "Failed operation %T %+v: %v", op, op, err)
- return nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Finished operation %T %+v", op, op)
- }
- return applyGroupDiff(c, ctx, desired, rawDesired, ops, opts...)
-}
-
-func applyGroupDiff(c *Client, ctx context.Context, desired *Group, rawDesired *Group, ops []groupApiOperation, opts ...dcl.ApplyOption) (*Group, error) {
- // 3.1, 3.2a Retrieval of raw new state & canonicalization with desired state
- c.Config.Logger.InfoWithContext(ctx, "Retrieving raw new state...")
- rawNew, err := c.GetGroup(ctx, desired)
- if err != nil {
- return nil, err
- }
- // Get additional values from the first response.
- // These values should be merged into the newState above.
- if len(ops) > 0 {
- lastOp := ops[len(ops)-1]
- if o, ok := lastOp.(*createGroupOperation); ok {
- if r, hasR := o.FirstResponse(); hasR {
-
- c.Config.Logger.InfoWithContext(ctx, "Retrieving raw new state from operation...")
-
- fullResp, err := unmarshalMapGroup(r, c, rawDesired)
- if err != nil {
- return nil, err
- }
-
- rawNew, err = canonicalizeGroupNewState(c, rawNew, fullResp)
- if err != nil {
- return nil, err
- }
- }
- }
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalizing with raw desired state: %v", rawDesired)
- // 3.2b Canonicalization of raw new state using raw desired state
- newState, err := canonicalizeGroupNewState(c, rawNew, rawDesired)
- if err != nil {
- return rawNew, err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Created canonical new state: %v", newState)
- // 3.3 Comparison of the new state and raw desired state.
- // TODO(magic-modules-eng): EVENTUALLY_CONSISTENT_UPDATE
- newDesired, err := canonicalizeGroupDesiredState(rawDesired, newState)
- if err != nil {
- return newState, err
- }
-
- if err := postReadExtractGroupFields(newState); err != nil {
- return newState, err
- }
-
- // Need to ensure any transformations made here match acceptably in differ.
- if err := postReadExtractGroupFields(newDesired); err != nil {
- return newState, err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Diffing using canonicalized desired state: %v", newDesired)
- newDiffs, err := diffGroup(c, newDesired, newState)
- if err != nil {
- return newState, err
- }
-
- if len(newDiffs) == 0 {
- c.Config.Logger.InfoWithContext(ctx, "No diffs found. Apply was successful.")
- } else {
- c.Config.Logger.InfoWithContextf(ctx, "Found diffs: %v", newDiffs)
- diffMessages := make([]string, len(newDiffs))
- for i, d := range newDiffs {
- diffMessages[i] = fmt.Sprintf("%v", d)
- }
- return newState, dcl.DiffAfterApplyError{Diffs: diffMessages}
- }
- c.Config.Logger.InfoWithContext(ctx, "Done Apply.")
- return newState, nil
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/group.yaml b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/group.yaml
deleted file mode 100644
index 26c8d48e27..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/group.yaml
+++ /dev/null
@@ -1,109 +0,0 @@
-# Copyright 2023 Google LLC. All Rights Reserved.
-#
-# 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.
-info:
- title: Monitoring/Group
- description: The Monitoring Group resource
- x-dcl-struct-name: Group
- x-dcl-has-iam: false
-paths:
- get:
- description: The function used to get information about a Group
- parameters:
- - name: group
- required: true
- description: A full instance of a Group
- apply:
- description: The function used to apply information about a Group
- parameters:
- - name: group
- required: true
- description: A full instance of a Group
- delete:
- description: The function used to delete a Group
- parameters:
- - name: group
- required: true
- description: A full instance of a Group
- deleteAll:
- description: The function used to delete all Group
- parameters:
- - name: project
- required: true
- schema:
- type: string
- list:
- description: The function used to list information about many Group
- parameters:
- - name: project
- required: true
- schema:
- type: string
-components:
- schemas:
- Group:
- title: Group
- x-dcl-id: projects/{{project}}/groups/{{name}}
- x-dcl-parent-container: project
- x-dcl-has-create: true
- x-dcl-has-iam: false
- x-dcl-read-timeout: 0
- x-dcl-apply-timeout: 0
- x-dcl-delete-timeout: 0
- type: object
- required:
- - displayName
- - filter
- - project
- properties:
- displayName:
- type: string
- x-dcl-go-name: DisplayName
- description: A user-assigned name for this group, used only for display
- purposes.
- filter:
- type: string
- x-dcl-go-name: Filter
- description: The filter used to determine which monitored resources belong
- to this group.
- isCluster:
- type: boolean
- x-dcl-go-name: IsCluster
- description: If true, the members of this group are considered to be a cluster.
- The system can perform additional analysis on groups that are clusters.
- name:
- type: string
- x-dcl-go-name: Name
- description: 'Output only. The name of this group. The format is: `projects/{{project}}/groups/{{name}}`,
- which is generated automatically.'
- x-kubernetes-immutable: true
- x-dcl-server-generated-parameter: true
- parentName:
- type: string
- x-dcl-go-name: ParentName
- description: 'The name of the group''s parent, if it has one. The format
- is: projects/ For groups with no parent, `parent_name` is the empty string,
- ``.'
- x-dcl-send-empty: true
- x-dcl-references:
- - resource: Monitoring/Group
- field: name
- project:
- type: string
- x-dcl-go-name: Project
- description: The project of the group
- x-kubernetes-immutable: true
- x-dcl-references:
- - resource: Cloudresourcemanager/Project
- field: name
- parent: true
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/group_internal.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/group_internal.go
deleted file mode 100644
index f991101aa1..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/group_internal.go
+++ /dev/null
@@ -1,770 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 monitoring
-
-import (
- "bytes"
- "context"
- "encoding/json"
- "fmt"
- "io/ioutil"
- "strings"
-
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-func (r *Group) validate() error {
-
- if err := dcl.Required(r, "displayName"); err != nil {
- return err
- }
- if err := dcl.Required(r, "filter"); err != nil {
- return err
- }
- if err := dcl.RequiredParameter(r.Project, "Project"); err != nil {
- return err
- }
- return nil
-}
-func (r *Group) basePath() string {
- params := map[string]interface{}{}
- return dcl.Nprintf("https://monitoring.googleapis.com/v3/", params)
-}
-
-func (r *Group) getURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("projects/{{project}}/groups/{{name}}", nr.basePath(), userBasePath, params), nil
-}
-
-func (r *Group) listURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- }
- return dcl.URL("projects/{{project}}/groups", nr.basePath(), userBasePath, params), nil
-
-}
-
-func (r *Group) createURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- }
- return dcl.URL("projects/{{project}}/groups", nr.basePath(), userBasePath, params), nil
-
-}
-
-func (r *Group) deleteURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("projects/{{project}}/groups/{{name}}", nr.basePath(), userBasePath, params), nil
-}
-
-// groupApiOperation represents a mutable operation in the underlying REST
-// API such as Create, Update, or Delete.
-type groupApiOperation interface {
- do(context.Context, *Group, *Client) error
-}
-
-// newUpdateGroupUpdateRequest creates a request for an
-// Group resource's update update type by filling in the update
-// fields based on the intended state of the resource.
-func newUpdateGroupUpdateRequest(ctx context.Context, f *Group, c *Client) (map[string]interface{}, error) {
- req := map[string]interface{}{}
- res := f
- _ = res
-
- if v := f.DisplayName; !dcl.IsEmptyValueIndirect(v) {
- req["displayName"] = v
- }
- if v := f.Filter; !dcl.IsEmptyValueIndirect(v) {
- req["filter"] = v
- }
- if v := f.IsCluster; !dcl.IsEmptyValueIndirect(v) {
- req["isCluster"] = v
- }
- if v, err := dcl.DeriveField("projects/%s/groups/%s", f.ParentName, dcl.SelfLinkToName(f.Project), dcl.SelfLinkToName(f.ParentName)); err != nil {
- return nil, fmt.Errorf("error expanding ParentName into parentName: %w", err)
- } else if v != nil {
- req["parentName"] = v
- }
- return req, nil
-}
-
-// marshalUpdateGroupUpdateRequest converts the update into
-// the final JSON request body.
-func marshalUpdateGroupUpdateRequest(c *Client, m map[string]interface{}) ([]byte, error) {
-
- return json.Marshal(m)
-}
-
-type updateGroupUpdateOperation struct {
- // If the update operation has the REQUIRES_APPLY_OPTIONS trait, this will be populated.
- // Usually it will be nil - this is to prevent us from accidentally depending on apply
- // options, which should usually be unnecessary.
- ApplyOptions []dcl.ApplyOption
- FieldDiffs []*dcl.FieldDiff
-}
-
-// do creates a request and sends it to the appropriate URL. In most operations,
-// do will transcribe a subset of the resource into a request object and send a
-// PUT request to a single URL.
-
-func (op *updateGroupUpdateOperation) do(ctx context.Context, r *Group, c *Client) error {
- _, err := c.GetGroup(ctx, r)
- if err != nil {
- return err
- }
-
- u, err := r.updateURL(c.Config.BasePath, "update")
- if err != nil {
- return err
- }
-
- req, err := newUpdateGroupUpdateRequest(ctx, r, c)
- if err != nil {
- return err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Created update: %#v", req)
- body, err := marshalUpdateGroupUpdateRequest(c, req)
- if err != nil {
- return err
- }
- _, err = dcl.SendRequest(ctx, c.Config, "PUT", u, bytes.NewBuffer(body), c.Config.RetryProvider)
- if err != nil {
- return err
- }
-
- return nil
-}
-
-func (c *Client) listGroupRaw(ctx context.Context, r *Group, pageToken string, pageSize int32) ([]byte, error) {
- u, err := r.urlNormalized().listURL(c.Config.BasePath)
- if err != nil {
- return nil, err
- }
-
- m := make(map[string]string)
- if pageToken != "" {
- m["pageToken"] = pageToken
- }
-
- if pageSize != GroupMaxPage {
- m["pageSize"] = fmt.Sprintf("%v", pageSize)
- }
-
- u, err = dcl.AddQueryParams(u, m)
- if err != nil {
- return nil, err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
- if err != nil {
- return nil, err
- }
- defer resp.Response.Body.Close()
- return ioutil.ReadAll(resp.Response.Body)
-}
-
-type listGroupOperation struct {
- Group []map[string]interface{} `json:"group"`
- Token string `json:"nextPageToken"`
-}
-
-func (c *Client) listGroup(ctx context.Context, r *Group, pageToken string, pageSize int32) ([]*Group, string, error) {
- b, err := c.listGroupRaw(ctx, r, pageToken, pageSize)
- if err != nil {
- return nil, "", err
- }
-
- var m listGroupOperation
- if err := json.Unmarshal(b, &m); err != nil {
- return nil, "", err
- }
-
- var l []*Group
- for _, v := range m.Group {
- res, err := unmarshalMapGroup(v, c, r)
- if err != nil {
- return nil, m.Token, err
- }
- res.Project = r.Project
- l = append(l, res)
- }
-
- return l, m.Token, nil
-}
-
-func (c *Client) deleteAllGroup(ctx context.Context, f func(*Group) bool, resources []*Group) error {
- var errors []string
- for _, res := range resources {
- if f(res) {
- // We do not want deleteAll to fail on a deletion or else it will stop deleting other resources.
- err := c.DeleteGroup(ctx, res)
- if err != nil {
- errors = append(errors, err.Error())
- }
- }
- }
- if len(errors) > 0 {
- return fmt.Errorf("%v", strings.Join(errors, "\n"))
- } else {
- return nil
- }
-}
-
-type deleteGroupOperation struct{}
-
-func (op *deleteGroupOperation) do(ctx context.Context, r *Group, c *Client) error {
- r, err := c.GetGroup(ctx, r)
- if err != nil {
- if dcl.IsNotFound(err) {
- c.Config.Logger.InfoWithContextf(ctx, "Group not found, returning. Original error: %v", err)
- return nil
- }
- c.Config.Logger.WarningWithContextf(ctx, "GetGroup checking for existence. error: %v", err)
- return err
- }
-
- u, err := r.deleteURL(c.Config.BasePath)
- if err != nil {
- return err
- }
-
- // Delete should never have a body
- body := &bytes.Buffer{}
- _, err = dcl.SendRequest(ctx, c.Config, "DELETE", u, body, c.Config.RetryProvider)
- if err != nil {
- return fmt.Errorf("failed to delete Group: %w", err)
- }
-
- // We saw a race condition where for some successful delete operation, the Get calls returned resources for a short duration.
- // This is the reason we are adding retry to handle that case.
- retriesRemaining := 10
- dcl.Do(ctx, func(ctx context.Context) (*dcl.RetryDetails, error) {
- _, err := c.GetGroup(ctx, r)
- if dcl.IsNotFound(err) {
- return nil, nil
- }
- if retriesRemaining > 0 {
- retriesRemaining--
- return &dcl.RetryDetails{}, dcl.OperationNotDone{}
- }
- return nil, dcl.NotDeletedError{ExistingResource: r}
- }, c.Config.RetryProvider)
- return nil
-}
-
-// Create operations are similar to Update operations, although they do not have
-// specific request objects. The Create request object is the json encoding of
-// the resource, which is modified by res.marshal to form the base request body.
-type createGroupOperation struct {
- response map[string]interface{}
-}
-
-func (op *createGroupOperation) FirstResponse() (map[string]interface{}, bool) {
- return op.response, len(op.response) > 0
-}
-
-func (op *createGroupOperation) do(ctx context.Context, r *Group, c *Client) error {
- c.Config.Logger.InfoWithContextf(ctx, "Attempting to create %v", r)
- u, err := r.createURL(c.Config.BasePath)
- if err != nil {
- return err
- }
-
- req, err := r.marshal(c)
- if err != nil {
- return err
- }
- if r.Name != nil {
- // Allowing creation to continue with Name set could result in a Group with the wrong Name.
- return fmt.Errorf("server-generated parameter Name was specified by user as %v, should be unspecified", dcl.ValueOrEmptyString(r.Name))
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "POST", u, bytes.NewBuffer(req), c.Config.RetryProvider)
- if err != nil {
- return err
- }
-
- o, err := dcl.ResponseBodyAsJSON(resp)
- if err != nil {
- return fmt.Errorf("error decoding response body into JSON: %w", err)
- }
- op.response = o
-
- // Include Name in URL substitution for initial GET request.
- m := op.response
- r.Name = dcl.SelfLinkToName(dcl.FlattenString(m["name"]))
-
- if _, err := c.GetGroup(ctx, r); err != nil {
- c.Config.Logger.WarningWithContextf(ctx, "get returned error: %v", err)
- return err
- }
-
- return nil
-}
-
-func (c *Client) getGroupRaw(ctx context.Context, r *Group) ([]byte, error) {
-
- u, err := r.getURL(c.Config.BasePath)
- if err != nil {
- return nil, err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
- if err != nil {
- return nil, err
- }
- defer resp.Response.Body.Close()
- b, err := ioutil.ReadAll(resp.Response.Body)
- if err != nil {
- return nil, err
- }
-
- return b, nil
-}
-
-func (c *Client) groupDiffsForRawDesired(ctx context.Context, rawDesired *Group, opts ...dcl.ApplyOption) (initial, desired *Group, diffs []*dcl.FieldDiff, err error) {
- c.Config.Logger.InfoWithContext(ctx, "Fetching initial state...")
- // First, let us see if the user provided a state hint. If they did, we will start fetching based on that.
- var fetchState *Group
- if sh := dcl.FetchStateHint(opts); sh != nil {
- if r, ok := sh.(*Group); !ok {
- c.Config.Logger.WarningWithContextf(ctx, "Initial state hint was of the wrong type; expected Group, got %T", sh)
- } else {
- fetchState = r
- }
- }
- if fetchState == nil {
- fetchState = rawDesired
- }
-
- if fetchState.Name == nil {
- // We cannot perform a get because of lack of information. We have to assume
- // that this is being created for the first time.
- desired, err := canonicalizeGroupDesiredState(rawDesired, nil)
- return nil, desired, nil, err
- }
- // 1.2: Retrieval of raw initial state from API
- rawInitial, err := c.GetGroup(ctx, fetchState)
- if rawInitial == nil {
- if !dcl.IsNotFound(err) {
- c.Config.Logger.WarningWithContextf(ctx, "Failed to retrieve whether a Group resource already exists: %s", err)
- return nil, nil, nil, fmt.Errorf("failed to retrieve Group resource: %v", err)
- }
- c.Config.Logger.InfoWithContext(ctx, "Found that Group resource did not exist.")
- // Perform canonicalization to pick up defaults.
- desired, err = canonicalizeGroupDesiredState(rawDesired, rawInitial)
- return nil, desired, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Found initial state for Group: %v", rawInitial)
- c.Config.Logger.InfoWithContextf(ctx, "Initial desired state for Group: %v", rawDesired)
-
- // The Get call applies postReadExtract and so the result may contain fields that are not part of API version.
- if err := extractGroupFields(rawInitial); err != nil {
- return nil, nil, nil, err
- }
-
- // 1.3: Canonicalize raw initial state into initial state.
- initial, err = canonicalizeGroupInitialState(rawInitial, rawDesired)
- if err != nil {
- return nil, nil, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalized initial state for Group: %v", initial)
-
- // 1.4: Canonicalize raw desired state into desired state.
- desired, err = canonicalizeGroupDesiredState(rawDesired, rawInitial, opts...)
- if err != nil {
- return nil, nil, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalized desired state for Group: %v", desired)
-
- // 2.1: Comparison of initial and desired state.
- diffs, err = diffGroup(c, desired, initial, opts...)
- return initial, desired, diffs, err
-}
-
-func canonicalizeGroupInitialState(rawInitial, rawDesired *Group) (*Group, error) {
- // TODO(magic-modules-eng): write canonicalizer once relevant traits are added.
- return rawInitial, nil
-}
-
-/*
-* Canonicalizers
-*
-* These are responsible for converting either a user-specified config or a
-* GCP API response to a standard format that can be used for difference checking.
-* */
-
-func canonicalizeGroupDesiredState(rawDesired, rawInitial *Group, opts ...dcl.ApplyOption) (*Group, error) {
-
- if rawInitial == nil {
- // Since the initial state is empty, the desired state is all we have.
- // We canonicalize the remaining nested objects with nil to pick up defaults.
-
- return rawDesired, nil
- }
- canonicalDesired := &Group{}
- if dcl.StringCanonicalize(rawDesired.DisplayName, rawInitial.DisplayName) {
- canonicalDesired.DisplayName = rawInitial.DisplayName
- } else {
- canonicalDesired.DisplayName = rawDesired.DisplayName
- }
- if dcl.StringCanonicalize(rawDesired.Filter, rawInitial.Filter) {
- canonicalDesired.Filter = rawInitial.Filter
- } else {
- canonicalDesired.Filter = rawDesired.Filter
- }
- if dcl.BoolCanonicalize(rawDesired.IsCluster, rawInitial.IsCluster) {
- canonicalDesired.IsCluster = rawInitial.IsCluster
- } else {
- canonicalDesired.IsCluster = rawDesired.IsCluster
- }
- if dcl.IsZeroValue(rawDesired.Name) || (dcl.IsEmptyValueIndirect(rawDesired.Name) && dcl.IsEmptyValueIndirect(rawInitial.Name)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- canonicalDesired.Name = rawInitial.Name
- } else {
- canonicalDesired.Name = rawDesired.Name
- }
- if dcl.PartialSelfLinkToSelfLink(rawDesired.ParentName, rawInitial.ParentName) {
- canonicalDesired.ParentName = rawInitial.ParentName
- } else {
- canonicalDesired.ParentName = rawDesired.ParentName
- }
- if dcl.NameToSelfLink(rawDesired.Project, rawInitial.Project) {
- canonicalDesired.Project = rawInitial.Project
- } else {
- canonicalDesired.Project = rawDesired.Project
- }
- return canonicalDesired, nil
-}
-
-func canonicalizeGroupNewState(c *Client, rawNew, rawDesired *Group) (*Group, error) {
-
- if dcl.IsEmptyValueIndirect(rawNew.DisplayName) && dcl.IsEmptyValueIndirect(rawDesired.DisplayName) {
- rawNew.DisplayName = rawDesired.DisplayName
- } else {
- if dcl.StringCanonicalize(rawDesired.DisplayName, rawNew.DisplayName) {
- rawNew.DisplayName = rawDesired.DisplayName
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Filter) && dcl.IsEmptyValueIndirect(rawDesired.Filter) {
- rawNew.Filter = rawDesired.Filter
- } else {
- if dcl.StringCanonicalize(rawDesired.Filter, rawNew.Filter) {
- rawNew.Filter = rawDesired.Filter
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.IsCluster) && dcl.IsEmptyValueIndirect(rawDesired.IsCluster) {
- rawNew.IsCluster = rawDesired.IsCluster
- } else {
- if dcl.BoolCanonicalize(rawDesired.IsCluster, rawNew.IsCluster) {
- rawNew.IsCluster = rawDesired.IsCluster
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Name) && dcl.IsEmptyValueIndirect(rawDesired.Name) {
- rawNew.Name = rawDesired.Name
- } else {
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.ParentName) && dcl.IsEmptyValueIndirect(rawDesired.ParentName) {
- rawNew.ParentName = rawDesired.ParentName
- } else {
- if dcl.PartialSelfLinkToSelfLink(rawDesired.ParentName, rawNew.ParentName) {
- rawNew.ParentName = rawDesired.ParentName
- }
- }
-
- rawNew.Project = rawDesired.Project
-
- return rawNew, nil
-}
-
-// The differ returns a list of diffs, along with a list of operations that should be taken
-// to remedy them. Right now, it does not attempt to consolidate operations - if several
-// fields can be fixed with a patch update, it will perform the patch several times.
-// Diffs on some fields will be ignored if the `desired` state has an empty (nil)
-// value. This empty value indicates that the user does not care about the state for
-// the field. Empty fields on the actual object will cause diffs.
-// TODO(magic-modules-eng): for efficiency in some resources, add batching.
-func diffGroup(c *Client, desired, actual *Group, opts ...dcl.ApplyOption) ([]*dcl.FieldDiff, error) {
- if desired == nil || actual == nil {
- return nil, fmt.Errorf("nil resource passed to diff - always a programming error: %#v, %#v", desired, actual)
- }
-
- c.Config.Logger.Infof("Diff function called with desired state: %v", desired)
- c.Config.Logger.Infof("Diff function called with actual state: %v", actual)
-
- var fn dcl.FieldName
- var newDiffs []*dcl.FieldDiff
- // New style diffs.
- if ds, err := dcl.Diff(desired.DisplayName, actual.DisplayName, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateGroupUpdateOperation")}, fn.AddNest("DisplayName")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Filter, actual.Filter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateGroupUpdateOperation")}, fn.AddNest("Filter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.IsCluster, actual.IsCluster, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateGroupUpdateOperation")}, fn.AddNest("IsCluster")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Name")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.ParentName, actual.ParentName, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.TriggersOperation("updateGroupUpdateOperation")}, fn.AddNest("ParentName")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Project, actual.Project, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Project")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if len(newDiffs) > 0 {
- c.Config.Logger.Infof("Diff function found diffs: %v", newDiffs)
- }
- return newDiffs, nil
-}
-
-// urlNormalized returns a copy of the resource struct with values normalized
-// for URL substitutions. For instance, it converts long-form self-links to
-// short-form so they can be substituted in.
-func (r *Group) urlNormalized() *Group {
- normalized := dcl.Copy(*r).(Group)
- normalized.DisplayName = dcl.SelfLinkToName(r.DisplayName)
- normalized.Filter = dcl.SelfLinkToName(r.Filter)
- normalized.Name = dcl.SelfLinkToName(r.Name)
- normalized.ParentName = dcl.SelfLinkToName(r.ParentName)
- normalized.Project = dcl.SelfLinkToName(r.Project)
- return &normalized
-}
-
-func (r *Group) updateURL(userBasePath, updateName string) (string, error) {
- nr := r.urlNormalized()
- if updateName == "update" {
- fields := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("projects/{{project}}/groups/{{name}}", nr.basePath(), userBasePath, fields), nil
-
- }
-
- return "", fmt.Errorf("unknown update name: %s", updateName)
-}
-
-// marshal encodes the Group resource into JSON for a Create request, and
-// performs transformations from the resource schema to the API schema if
-// necessary.
-func (r *Group) marshal(c *Client) ([]byte, error) {
- m, err := expandGroup(c, r)
- if err != nil {
- return nil, fmt.Errorf("error marshalling Group: %w", err)
- }
-
- return json.Marshal(m)
-}
-
-// unmarshalGroup decodes JSON responses into the Group resource schema.
-func unmarshalGroup(b []byte, c *Client, res *Group) (*Group, error) {
- var m map[string]interface{}
- if err := json.Unmarshal(b, &m); err != nil {
- return nil, err
- }
- return unmarshalMapGroup(m, c, res)
-}
-
-func unmarshalMapGroup(m map[string]interface{}, c *Client, res *Group) (*Group, error) {
-
- flattened := flattenGroup(c, m, res)
- if flattened == nil {
- return nil, fmt.Errorf("attempted to flatten empty json object")
- }
- return flattened, nil
-}
-
-// expandGroup expands Group into a JSON request object.
-func expandGroup(c *Client, f *Group) (map[string]interface{}, error) {
- m := make(map[string]interface{})
- res := f
- _ = res
- if v := f.DisplayName; dcl.ValueShouldBeSent(v) {
- m["displayName"] = v
- }
- if v := f.Filter; dcl.ValueShouldBeSent(v) {
- m["filter"] = v
- }
- if v := f.IsCluster; dcl.ValueShouldBeSent(v) {
- m["isCluster"] = v
- }
- if v := f.Name; dcl.ValueShouldBeSent(v) {
- m["name"] = v
- }
- if v, err := dcl.DeriveField("projects/%s/groups/%s", f.ParentName, dcl.SelfLinkToName(f.Project), dcl.SelfLinkToName(f.ParentName)); err != nil {
- return nil, fmt.Errorf("error expanding ParentName into parentName: %w", err)
- } else if v != nil {
- m["parentName"] = v
- }
- if v, err := dcl.EmptyValue(); err != nil {
- return nil, fmt.Errorf("error expanding Project into project: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["project"] = v
- }
-
- return m, nil
-}
-
-// flattenGroup flattens Group from a JSON request object into the
-// Group type.
-func flattenGroup(c *Client, i interface{}, res *Group) *Group {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
- if len(m) == 0 {
- return nil
- }
-
- resultRes := &Group{}
- resultRes.DisplayName = dcl.FlattenString(m["displayName"])
- resultRes.Filter = dcl.FlattenString(m["filter"])
- resultRes.IsCluster = dcl.FlattenBool(m["isCluster"])
- resultRes.Name = dcl.SelfLinkToName(dcl.FlattenString(m["name"]))
- resultRes.ParentName = dcl.FlattenString(m["parentName"])
- resultRes.Project = dcl.FlattenString(m["project"])
-
- return resultRes
-}
-
-// This function returns a matcher that checks whether a serialized resource matches this resource
-// in its parameters (as defined by the fields in a Get, which definitionally define resource
-// identity). This is useful in extracting the element from a List call.
-func (r *Group) matcher(c *Client) func([]byte) bool {
- return func(b []byte) bool {
- cr, err := unmarshalGroup(b, c, r)
- if err != nil {
- c.Config.Logger.Warning("failed to unmarshal provided resource in matcher.")
- return false
- }
- nr := r.urlNormalized()
- ncr := cr.urlNormalized()
- c.Config.Logger.Infof("looking for %v\nin %v", nr, ncr)
-
- if nr.Project == nil && ncr.Project == nil {
- c.Config.Logger.Info("Both Project fields null - considering equal.")
- } else if nr.Project == nil || ncr.Project == nil {
- c.Config.Logger.Info("Only one Project field is null - considering unequal.")
- return false
- } else if *nr.Project != *ncr.Project {
- return false
- }
- if nr.Name == nil && ncr.Name == nil {
- c.Config.Logger.Info("Both Name fields null - considering equal.")
- } else if nr.Name == nil || ncr.Name == nil {
- c.Config.Logger.Info("Only one Name field is null - considering unequal.")
- return false
- } else if *nr.Name != *ncr.Name {
- return false
- }
- return true
- }
-}
-
-type groupDiff struct {
- // The diff should include one or the other of RequiresRecreate or UpdateOp.
- RequiresRecreate bool
- UpdateOp groupApiOperation
- FieldName string // used for error logging
-}
-
-func convertFieldDiffsToGroupDiffs(config *dcl.Config, fds []*dcl.FieldDiff, opts []dcl.ApplyOption) ([]groupDiff, error) {
- opNamesToFieldDiffs := make(map[string][]*dcl.FieldDiff)
- // Map each operation name to the field diffs associated with it.
- for _, fd := range fds {
- for _, ro := range fd.ResultingOperation {
- if fieldDiffs, ok := opNamesToFieldDiffs[ro]; ok {
- fieldDiffs = append(fieldDiffs, fd)
- opNamesToFieldDiffs[ro] = fieldDiffs
- } else {
- config.Logger.Infof("%s required due to diff: %v", ro, fd)
- opNamesToFieldDiffs[ro] = []*dcl.FieldDiff{fd}
- }
- }
- }
- var diffs []groupDiff
- // For each operation name, create a groupDiff which contains the operation.
- for opName, fieldDiffs := range opNamesToFieldDiffs {
- // Use the first field diff's field name for logging required recreate error.
- diff := groupDiff{FieldName: fieldDiffs[0].FieldName}
- if opName == "Recreate" {
- diff.RequiresRecreate = true
- } else {
- apiOp, err := convertOpNameToGroupApiOperation(opName, fieldDiffs, opts...)
- if err != nil {
- return diffs, err
- }
- diff.UpdateOp = apiOp
- }
- diffs = append(diffs, diff)
- }
- return diffs, nil
-}
-
-func convertOpNameToGroupApiOperation(opName string, fieldDiffs []*dcl.FieldDiff, opts ...dcl.ApplyOption) (groupApiOperation, error) {
- switch opName {
-
- case "updateGroupUpdateOperation":
- return &updateGroupUpdateOperation{FieldDiffs: fieldDiffs}, nil
-
- default:
- return nil, fmt.Errorf("no such operation with name: %v", opName)
- }
-}
-
-func extractGroupFields(r *Group) error {
- return nil
-}
-
-func postReadExtractGroupFields(r *Group) error {
- return nil
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/group_schema.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/group_schema.go
deleted file mode 100644
index 3684eb1d96..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/group_schema.go
+++ /dev/null
@@ -1,151 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 monitoring
-
-import (
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-func DCLGroupSchema() *dcl.Schema {
- return &dcl.Schema{
- Info: &dcl.Info{
- Title: "Monitoring/Group",
- Description: "The Monitoring Group resource",
- StructName: "Group",
- },
- Paths: &dcl.Paths{
- Get: &dcl.Path{
- Description: "The function used to get information about a Group",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "group",
- Required: true,
- Description: "A full instance of a Group",
- },
- },
- },
- Apply: &dcl.Path{
- Description: "The function used to apply information about a Group",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "group",
- Required: true,
- Description: "A full instance of a Group",
- },
- },
- },
- Delete: &dcl.Path{
- Description: "The function used to delete a Group",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "group",
- Required: true,
- Description: "A full instance of a Group",
- },
- },
- },
- DeleteAll: &dcl.Path{
- Description: "The function used to delete all Group",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "project",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- },
- },
- List: &dcl.Path{
- Description: "The function used to list information about many Group",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "project",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- },
- },
- },
- Components: &dcl.Components{
- Schemas: map[string]*dcl.Component{
- "Group": &dcl.Component{
- Title: "Group",
- ID: "projects/{{project}}/groups/{{name}}",
- ParentContainer: "project",
- HasCreate: true,
- SchemaProperty: dcl.Property{
- Type: "object",
- Required: []string{
- "displayName",
- "filter",
- "project",
- },
- Properties: map[string]*dcl.Property{
- "displayName": &dcl.Property{
- Type: "string",
- GoName: "DisplayName",
- Description: "A user-assigned name for this group, used only for display purposes.",
- },
- "filter": &dcl.Property{
- Type: "string",
- GoName: "Filter",
- Description: "The filter used to determine which monitored resources belong to this group.",
- },
- "isCluster": &dcl.Property{
- Type: "boolean",
- GoName: "IsCluster",
- Description: "If true, the members of this group are considered to be a cluster. The system can perform additional analysis on groups that are clusters.",
- },
- "name": &dcl.Property{
- Type: "string",
- GoName: "Name",
- Description: "Output only. The name of this group. The format is: `projects/{{project}}/groups/{{name}}`, which is generated automatically.",
- Immutable: true,
- ServerGeneratedParameter: true,
- },
- "parentName": &dcl.Property{
- Type: "string",
- GoName: "ParentName",
- Description: "The name of the group's parent, if it has one. The format is: projects/ For groups with no parent, `parent_name` is the empty string, ``.",
- SendEmpty: true,
- ResourceReferences: []*dcl.PropertyResourceReference{
- &dcl.PropertyResourceReference{
- Resource: "Monitoring/Group",
- Field: "name",
- },
- },
- },
- "project": &dcl.Property{
- Type: "string",
- GoName: "Project",
- Description: "The project of the group",
- Immutable: true,
- ResourceReferences: []*dcl.PropertyResourceReference{
- &dcl.PropertyResourceReference{
- Resource: "Cloudresourcemanager/Project",
- Field: "name",
- Parent: true,
- },
- },
- },
- },
- },
- },
- },
- },
- }
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/group_yaml_embed.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/group_yaml_embed.go
deleted file mode 100644
index a669615869..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/group_yaml_embed.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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.
-// GENERATED BY gen_go_data.go
-// gen_go_data -package monitoring -var YAML_group blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/monitoring/group.yaml
-
-package monitoring
-
-// blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/monitoring/group.yaml
-var YAML_group = []byte("info:\n title: Monitoring/Group\n description: The Monitoring Group resource\n x-dcl-struct-name: Group\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a Group\n parameters:\n - name: group\n required: true\n description: A full instance of a Group\n apply:\n description: The function used to apply information about a Group\n parameters:\n - name: group\n required: true\n description: A full instance of a Group\n delete:\n description: The function used to delete a Group\n parameters:\n - name: group\n required: true\n description: A full instance of a Group\n deleteAll:\n description: The function used to delete all Group\n parameters:\n - name: project\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many Group\n parameters:\n - name: project\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n Group:\n title: Group\n x-dcl-id: projects/{{project}}/groups/{{name}}\n x-dcl-parent-container: project\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - displayName\n - filter\n - project\n properties:\n displayName:\n type: string\n x-dcl-go-name: DisplayName\n description: A user-assigned name for this group, used only for display\n purposes.\n filter:\n type: string\n x-dcl-go-name: Filter\n description: The filter used to determine which monitored resources belong\n to this group.\n isCluster:\n type: boolean\n x-dcl-go-name: IsCluster\n description: If true, the members of this group are considered to be a cluster.\n The system can perform additional analysis on groups that are clusters.\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Output only. The name of this group. The format is: `projects/{{project}}/groups/{{name}}`,\n which is generated automatically.'\n x-kubernetes-immutable: true\n x-dcl-server-generated-parameter: true\n parentName:\n type: string\n x-dcl-go-name: ParentName\n description: 'The name of the group''s parent, if it has one. The format\n is: projects/ For groups with no parent, `parent_name` is the empty string,\n ``.'\n x-dcl-send-empty: true\n x-dcl-references:\n - resource: Monitoring/Group\n field: name\n project:\n type: string\n x-dcl-go-name: Project\n description: The project of the group\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n")
-
-// 2994 bytes
-// MD5: 5b0f18ecb40670caa9a101b3177f4844
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/metric_descriptor.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/metric_descriptor.go
deleted file mode 100644
index dcf80862ff..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/metric_descriptor.go
+++ /dev/null
@@ -1,622 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 monitoring
-
-import (
- "context"
- "crypto/sha256"
- "encoding/json"
- "fmt"
- "time"
-
- "google.golang.org/api/googleapi"
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-type MetricDescriptor struct {
- SelfLink *string `json:"selfLink"`
- Type *string `json:"type"`
- Labels []MetricDescriptorLabels `json:"labels"`
- MetricKind *MetricDescriptorMetricKindEnum `json:"metricKind"`
- ValueType *MetricDescriptorValueTypeEnum `json:"valueType"`
- Unit *string `json:"unit"`
- Description *string `json:"description"`
- DisplayName *string `json:"displayName"`
- Metadata *MetricDescriptorMetadata `json:"metadata"`
- LaunchStage *MetricDescriptorLaunchStageEnum `json:"launchStage"`
- MonitoredResourceTypes []string `json:"monitoredResourceTypes"`
- Project *string `json:"project"`
-}
-
-func (r *MetricDescriptor) String() string {
- return dcl.SprintResource(r)
-}
-
-// The enum MetricDescriptorLabelsValueTypeEnum.
-type MetricDescriptorLabelsValueTypeEnum string
-
-// MetricDescriptorLabelsValueTypeEnumRef returns a *MetricDescriptorLabelsValueTypeEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func MetricDescriptorLabelsValueTypeEnumRef(s string) *MetricDescriptorLabelsValueTypeEnum {
- v := MetricDescriptorLabelsValueTypeEnum(s)
- return &v
-}
-
-func (v MetricDescriptorLabelsValueTypeEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"STRING", "BOOL", "INT64"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "MetricDescriptorLabelsValueTypeEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum MetricDescriptorMetricKindEnum.
-type MetricDescriptorMetricKindEnum string
-
-// MetricDescriptorMetricKindEnumRef returns a *MetricDescriptorMetricKindEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func MetricDescriptorMetricKindEnumRef(s string) *MetricDescriptorMetricKindEnum {
- v := MetricDescriptorMetricKindEnum(s)
- return &v
-}
-
-func (v MetricDescriptorMetricKindEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"METRIC_KIND_UNSPECIFIED", "GAUGE", "DELTA", "CUMULATIVE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "MetricDescriptorMetricKindEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum MetricDescriptorValueTypeEnum.
-type MetricDescriptorValueTypeEnum string
-
-// MetricDescriptorValueTypeEnumRef returns a *MetricDescriptorValueTypeEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func MetricDescriptorValueTypeEnumRef(s string) *MetricDescriptorValueTypeEnum {
- v := MetricDescriptorValueTypeEnum(s)
- return &v
-}
-
-func (v MetricDescriptorValueTypeEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"STRING", "BOOL", "INT64"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "MetricDescriptorValueTypeEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum MetricDescriptorMetadataLaunchStageEnum.
-type MetricDescriptorMetadataLaunchStageEnum string
-
-// MetricDescriptorMetadataLaunchStageEnumRef returns a *MetricDescriptorMetadataLaunchStageEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func MetricDescriptorMetadataLaunchStageEnumRef(s string) *MetricDescriptorMetadataLaunchStageEnum {
- v := MetricDescriptorMetadataLaunchStageEnum(s)
- return &v
-}
-
-func (v MetricDescriptorMetadataLaunchStageEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"LAUNCH_STAGE_UNSPECIFIED", "UNIMPLEMENTED", "PRELAUNCH", "EARLY_ACCESS", "ALPHA", "BETA", "GA", "DEPRECATED"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "MetricDescriptorMetadataLaunchStageEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum MetricDescriptorLaunchStageEnum.
-type MetricDescriptorLaunchStageEnum string
-
-// MetricDescriptorLaunchStageEnumRef returns a *MetricDescriptorLaunchStageEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func MetricDescriptorLaunchStageEnumRef(s string) *MetricDescriptorLaunchStageEnum {
- v := MetricDescriptorLaunchStageEnum(s)
- return &v
-}
-
-func (v MetricDescriptorLaunchStageEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"LAUNCH_STAGE_UNSPECIFIED", "UNIMPLEMENTED", "PRELAUNCH", "EARLY_ACCESS", "ALPHA", "BETA", "GA", "DEPRECATED"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "MetricDescriptorLaunchStageEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-type MetricDescriptorLabels struct {
- empty bool `json:"-"`
- Key *string `json:"key"`
- ValueType *MetricDescriptorLabelsValueTypeEnum `json:"valueType"`
- Description *string `json:"description"`
-}
-
-type jsonMetricDescriptorLabels MetricDescriptorLabels
-
-func (r *MetricDescriptorLabels) UnmarshalJSON(data []byte) error {
- var res jsonMetricDescriptorLabels
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyMetricDescriptorLabels
- } else {
-
- r.Key = res.Key
-
- r.ValueType = res.ValueType
-
- r.Description = res.Description
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this MetricDescriptorLabels is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyMetricDescriptorLabels *MetricDescriptorLabels = &MetricDescriptorLabels{empty: true}
-
-func (r *MetricDescriptorLabels) Empty() bool {
- return r.empty
-}
-
-func (r *MetricDescriptorLabels) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *MetricDescriptorLabels) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type MetricDescriptorMetadata struct {
- empty bool `json:"-"`
- LaunchStage *MetricDescriptorMetadataLaunchStageEnum `json:"launchStage"`
- SamplePeriod *string `json:"samplePeriod"`
- IngestDelay *string `json:"ingestDelay"`
-}
-
-type jsonMetricDescriptorMetadata MetricDescriptorMetadata
-
-func (r *MetricDescriptorMetadata) UnmarshalJSON(data []byte) error {
- var res jsonMetricDescriptorMetadata
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyMetricDescriptorMetadata
- } else {
-
- r.LaunchStage = res.LaunchStage
-
- r.SamplePeriod = res.SamplePeriod
-
- r.IngestDelay = res.IngestDelay
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this MetricDescriptorMetadata is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyMetricDescriptorMetadata *MetricDescriptorMetadata = &MetricDescriptorMetadata{empty: true}
-
-func (r *MetricDescriptorMetadata) Empty() bool {
- return r.empty
-}
-
-func (r *MetricDescriptorMetadata) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *MetricDescriptorMetadata) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-// Describe returns a simple description of this resource to ensure that automated tools
-// can identify it.
-func (r *MetricDescriptor) Describe() dcl.ServiceTypeVersion {
- return dcl.ServiceTypeVersion{
- Service: "monitoring",
- Type: "MetricDescriptor",
- Version: "monitoring",
- }
-}
-
-func (r *MetricDescriptor) ID() (string, error) {
- if err := extractMetricDescriptorFields(r); err != nil {
- return "", err
- }
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "self_link": dcl.ValueOrEmptyString(nr.SelfLink),
- "type": dcl.ValueOrEmptyString(nr.Type),
- "labels": dcl.ValueOrEmptyString(nr.Labels),
- "metric_kind": dcl.ValueOrEmptyString(nr.MetricKind),
- "value_type": dcl.ValueOrEmptyString(nr.ValueType),
- "unit": dcl.ValueOrEmptyString(nr.Unit),
- "description": dcl.ValueOrEmptyString(nr.Description),
- "display_name": dcl.ValueOrEmptyString(nr.DisplayName),
- "metadata": dcl.ValueOrEmptyString(nr.Metadata),
- "launch_stage": dcl.ValueOrEmptyString(nr.LaunchStage),
- "monitored_resource_types": dcl.ValueOrEmptyString(nr.MonitoredResourceTypes),
- "project": dcl.ValueOrEmptyString(nr.Project),
- }
- return dcl.Nprintf("projects/{{project}}/metricDescriptors/{{type}}", params), nil
-}
-
-const MetricDescriptorMaxPage = -1
-
-type MetricDescriptorList struct {
- Items []*MetricDescriptor
-
- nextToken string
-
- pageSize int32
-
- resource *MetricDescriptor
-}
-
-func (l *MetricDescriptorList) HasNext() bool {
- return l.nextToken != ""
-}
-
-func (l *MetricDescriptorList) Next(ctx context.Context, c *Client) error {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- if !l.HasNext() {
- return fmt.Errorf("no next page")
- }
- items, token, err := c.listMetricDescriptor(ctx, l.resource, l.nextToken, l.pageSize)
- if err != nil {
- return err
- }
- l.Items = items
- l.nextToken = token
- return err
-}
-
-func (c *Client) ListMetricDescriptor(ctx context.Context, project string) (*MetricDescriptorList, error) {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- return c.ListMetricDescriptorWithMaxResults(ctx, project, MetricDescriptorMaxPage)
-
-}
-
-func (c *Client) ListMetricDescriptorWithMaxResults(ctx context.Context, project string, pageSize int32) (*MetricDescriptorList, error) {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- // Create a resource object so that we can use proper url normalization methods.
- r := &MetricDescriptor{
- Project: &project,
- }
- items, token, err := c.listMetricDescriptor(ctx, r, "", pageSize)
- if err != nil {
- return nil, err
- }
- return &MetricDescriptorList{
- Items: items,
- nextToken: token,
- pageSize: pageSize,
- resource: r,
- }, nil
-}
-
-func (c *Client) GetMetricDescriptor(ctx context.Context, r *MetricDescriptor) (*MetricDescriptor, error) {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- // This is *purposefully* supressing errors.
- // This function is used with url-normalized values + not URL normalized values.
- // URL Normalized values will throw unintentional errors, since those values are not of the proper parent form.
- extractMetricDescriptorFields(r)
-
- b, err := c.getMetricDescriptorRaw(ctx, r)
- if err != nil {
- if dcl.IsNotFound(err) {
- return nil, &googleapi.Error{
- Code: 404,
- Message: err.Error(),
- }
- }
- return nil, err
- }
- result, err := unmarshalMetricDescriptor(b, c, r)
- if err != nil {
- return nil, err
- }
- result.Project = r.Project
- result.Type = r.Type
-
- c.Config.Logger.InfoWithContextf(ctx, "Retrieved raw result state: %v", result)
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalizing with specified state: %v", r)
- result, err = canonicalizeMetricDescriptorNewState(c, result, r)
- if err != nil {
- return nil, err
- }
- if err := postReadExtractMetricDescriptorFields(result); err != nil {
- return result, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Created result state: %v", result)
-
- return result, nil
-}
-
-func (c *Client) DeleteMetricDescriptor(ctx context.Context, r *MetricDescriptor) error {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- if r == nil {
- return fmt.Errorf("MetricDescriptor resource is nil")
- }
- c.Config.Logger.InfoWithContext(ctx, "Deleting MetricDescriptor...")
- deleteOp := deleteMetricDescriptorOperation{}
- return deleteOp.do(ctx, r, c)
-}
-
-// DeleteAllMetricDescriptor deletes all resources that the filter functions returns true on.
-func (c *Client) DeleteAllMetricDescriptor(ctx context.Context, project string, filter func(*MetricDescriptor) bool) error {
- listObj, err := c.ListMetricDescriptor(ctx, project)
- if err != nil {
- return err
- }
-
- err = c.deleteAllMetricDescriptor(ctx, filter, listObj.Items)
- if err != nil {
- return err
- }
- for listObj.HasNext() {
- err = listObj.Next(ctx, c)
- if err != nil {
- return nil
- }
- err = c.deleteAllMetricDescriptor(ctx, filter, listObj.Items)
- if err != nil {
- return err
- }
- }
- return nil
-}
-
-func (c *Client) ApplyMetricDescriptor(ctx context.Context, rawDesired *MetricDescriptor, opts ...dcl.ApplyOption) (*MetricDescriptor, error) {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- ctx = dcl.ContextWithRequestID(ctx)
- var resultNewState *MetricDescriptor
- err := dcl.Do(ctx, func(ctx context.Context) (*dcl.RetryDetails, error) {
- newState, err := applyMetricDescriptorHelper(c, ctx, rawDesired, opts...)
- resultNewState = newState
- if err != nil {
- // If the error is 409, there is conflict in resource update.
- // Here we want to apply changes based on latest state.
- if dcl.IsConflictError(err) {
- return &dcl.RetryDetails{}, dcl.OperationNotDone{Err: err}
- }
- return nil, err
- }
- return nil, nil
- }, c.Config.RetryProvider)
- return resultNewState, err
-}
-
-func applyMetricDescriptorHelper(c *Client, ctx context.Context, rawDesired *MetricDescriptor, opts ...dcl.ApplyOption) (*MetricDescriptor, error) {
- c.Config.Logger.InfoWithContext(ctx, "Beginning ApplyMetricDescriptor...")
- c.Config.Logger.InfoWithContextf(ctx, "User specified desired state: %v", rawDesired)
-
- // 1.1: Validation of user-specified fields in desired state.
- if err := rawDesired.validate(); err != nil {
- return nil, err
- }
-
- if err := extractMetricDescriptorFields(rawDesired); err != nil {
- return nil, err
- }
-
- initial, desired, fieldDiffs, err := c.metricDescriptorDiffsForRawDesired(ctx, rawDesired, opts...)
- if err != nil {
- return nil, fmt.Errorf("failed to create a diff: %w", err)
- }
-
- diffs, err := convertFieldDiffsToMetricDescriptorDiffs(c.Config, fieldDiffs, opts)
- if err != nil {
- return nil, err
- }
-
- // TODO(magic-modules-eng): 2.2 Feasibility check (all updates are feasible so far).
-
- // 2.3: Lifecycle Directive Check
- var create bool
- lp := dcl.FetchLifecycleParams(opts)
- if initial == nil {
- if dcl.HasLifecycleParam(lp, dcl.BlockCreation) {
- return nil, dcl.ApplyInfeasibleError{Message: fmt.Sprintf("Creation blocked by lifecycle params: %#v.", desired)}
- }
- create = true
- } else if dcl.HasLifecycleParam(lp, dcl.BlockAcquire) {
- return nil, dcl.ApplyInfeasibleError{
- Message: fmt.Sprintf("Resource already exists - apply blocked by lifecycle params: %#v.", initial),
- }
- } else {
- for _, d := range diffs {
- if d.RequiresRecreate {
- return nil, dcl.ApplyInfeasibleError{
- Message: fmt.Sprintf("infeasible update: (%v) would require recreation", d),
- }
- }
- if dcl.HasLifecycleParam(lp, dcl.BlockModification) {
- return nil, dcl.ApplyInfeasibleError{Message: fmt.Sprintf("Modification blocked, diff (%v) unresolvable.", d)}
- }
- }
- }
-
- // 2.4 Imperative Request Planning
- var ops []metricDescriptorApiOperation
- if create {
- ops = append(ops, &createMetricDescriptorOperation{})
- } else {
- for _, d := range diffs {
- ops = append(ops, d.UpdateOp)
- }
- }
- c.Config.Logger.InfoWithContextf(ctx, "Created plan: %#v", ops)
-
- // 2.5 Request Actuation
- for _, op := range ops {
- c.Config.Logger.InfoWithContextf(ctx, "Performing operation %T %+v", op, op)
- if err := op.do(ctx, desired, c); err != nil {
- c.Config.Logger.InfoWithContextf(ctx, "Failed operation %T %+v: %v", op, op, err)
- return nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Finished operation %T %+v", op, op)
- }
- return applyMetricDescriptorDiff(c, ctx, desired, rawDesired, ops, opts...)
-}
-
-func applyMetricDescriptorDiff(c *Client, ctx context.Context, desired *MetricDescriptor, rawDesired *MetricDescriptor, ops []metricDescriptorApiOperation, opts ...dcl.ApplyOption) (*MetricDescriptor, error) {
- // 3.1, 3.2a Retrieval of raw new state & canonicalization with desired state
- c.Config.Logger.InfoWithContext(ctx, "Retrieving raw new state...")
- rawNew, err := c.GetMetricDescriptor(ctx, desired)
- if err != nil {
- return nil, err
- }
- // Get additional values from the first response.
- // These values should be merged into the newState above.
- if len(ops) > 0 {
- lastOp := ops[len(ops)-1]
- if o, ok := lastOp.(*createMetricDescriptorOperation); ok {
- if r, hasR := o.FirstResponse(); hasR {
-
- c.Config.Logger.InfoWithContext(ctx, "Retrieving raw new state from operation...")
-
- fullResp, err := unmarshalMapMetricDescriptor(r, c, rawDesired)
- if err != nil {
- return nil, err
- }
-
- rawNew, err = canonicalizeMetricDescriptorNewState(c, rawNew, fullResp)
- if err != nil {
- return nil, err
- }
- }
- }
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalizing with raw desired state: %v", rawDesired)
- // 3.2b Canonicalization of raw new state using raw desired state
- newState, err := canonicalizeMetricDescriptorNewState(c, rawNew, rawDesired)
- if err != nil {
- return rawNew, err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Created canonical new state: %v", newState)
- // 3.3 Comparison of the new state and raw desired state.
- // TODO(magic-modules-eng): EVENTUALLY_CONSISTENT_UPDATE
- newDesired, err := canonicalizeMetricDescriptorDesiredState(rawDesired, newState)
- if err != nil {
- return newState, err
- }
-
- if err := postReadExtractMetricDescriptorFields(newState); err != nil {
- return newState, err
- }
-
- // Need to ensure any transformations made here match acceptably in differ.
- if err := postReadExtractMetricDescriptorFields(newDesired); err != nil {
- return newState, err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Diffing using canonicalized desired state: %v", newDesired)
- newDiffs, err := diffMetricDescriptor(c, newDesired, newState)
- if err != nil {
- return newState, err
- }
-
- if len(newDiffs) == 0 {
- c.Config.Logger.InfoWithContext(ctx, "No diffs found. Apply was successful.")
- } else {
- c.Config.Logger.InfoWithContextf(ctx, "Found diffs: %v", newDiffs)
- diffMessages := make([]string, len(newDiffs))
- for i, d := range newDiffs {
- diffMessages[i] = fmt.Sprintf("%v", d)
- }
- return newState, dcl.DiffAfterApplyError{Diffs: diffMessages}
- }
- c.Config.Logger.InfoWithContext(ctx, "Done Apply.")
- return newState, nil
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/metric_descriptor.yaml b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/metric_descriptor.yaml
deleted file mode 100644
index 42fdd8d363..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/metric_descriptor.yaml
+++ /dev/null
@@ -1,299 +0,0 @@
-# Copyright 2023 Google LLC. All Rights Reserved.
-#
-# 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.
-info:
- title: Monitoring/MetricDescriptor
- description: The Monitoring MetricDescriptor resource
- x-dcl-struct-name: MetricDescriptor
- x-dcl-has-iam: false
-paths:
- get:
- description: The function used to get information about a MetricDescriptor
- parameters:
- - name: metricDescriptor
- required: true
- description: A full instance of a MetricDescriptor
- apply:
- description: The function used to apply information about a MetricDescriptor
- parameters:
- - name: metricDescriptor
- required: true
- description: A full instance of a MetricDescriptor
- delete:
- description: The function used to delete a MetricDescriptor
- parameters:
- - name: metricDescriptor
- required: true
- description: A full instance of a MetricDescriptor
- deleteAll:
- description: The function used to delete all MetricDescriptor
- parameters:
- - name: project
- required: true
- schema:
- type: string
- list:
- description: The function used to list information about many MetricDescriptor
- parameters:
- - name: project
- required: true
- schema:
- type: string
-components:
- schemas:
- MetricDescriptor:
- title: MetricDescriptor
- x-dcl-id: projects/{{project}}/metricDescriptors/{{type}}
- x-dcl-uses-state-hint: true
- x-dcl-parent-container: project
- x-dcl-has-create: true
- x-dcl-has-iam: false
- x-dcl-read-timeout: 0
- x-dcl-apply-timeout: 0
- x-dcl-delete-timeout: 0
- type: object
- required:
- - type
- - metricKind
- - valueType
- - project
- properties:
- description:
- type: string
- x-dcl-go-name: Description
- description: A detailed description of the metric, which can be used in
- documentation.
- x-kubernetes-immutable: true
- displayName:
- type: string
- x-dcl-go-name: DisplayName
- description: A concise name for the metric, which can be displayed in user
- interfaces. Use sentence case without an ending period, for example "Request
- count". This field is optional but it is recommended to be set for any
- metrics associated with user-visible concepts, such as Quota.
- x-kubernetes-immutable: true
- labels:
- type: array
- x-dcl-go-name: Labels
- description: The set of labels that can be used to describe a specific instance
- of this metric type. For example, the `appengine.googleapis.com/http/server/response_latencies`
- metric type has a label for the HTTP response code, `response_code`, so
- you can look at latencies for successful responses or just for responses
- that failed.
- x-kubernetes-immutable: true
- x-dcl-send-empty: true
- x-dcl-list-type: set
- items:
- type: object
- x-dcl-go-type: MetricDescriptorLabels
- properties:
- description:
- type: string
- x-dcl-go-name: Description
- description: A human-readable description for the label.
- x-kubernetes-immutable: true
- key:
- type: string
- x-dcl-go-name: Key
- description: 'The key for this label. The key must meet the following
- criteria: * Does not exceed 100 characters. * Matches the following
- regular expression: `a-zA-Z*` * The first character must be an upper-
- or lower-case letter. * The remaining characters must be letters,
- digits, or underscores.'
- x-kubernetes-immutable: true
- valueType:
- type: string
- x-dcl-go-name: ValueType
- x-dcl-go-type: MetricDescriptorLabelsValueTypeEnum
- description: 'The type of data that can be assigned to the label.
- Possible values: STRING, BOOL, INT64'
- x-kubernetes-immutable: true
- enum:
- - STRING
- - BOOL
- - INT64
- launchStage:
- type: string
- x-dcl-go-name: LaunchStage
- x-dcl-go-type: MetricDescriptorLaunchStageEnum
- description: 'Optional. The launch stage of the metric definition. Possible
- values: LAUNCH_STAGE_UNSPECIFIED, UNIMPLEMENTED, PRELAUNCH, EARLY_ACCESS,
- ALPHA, BETA, GA, DEPRECATED'
- x-kubernetes-immutable: true
- enum:
- - LAUNCH_STAGE_UNSPECIFIED
- - UNIMPLEMENTED
- - PRELAUNCH
- - EARLY_ACCESS
- - ALPHA
- - BETA
- - GA
- - DEPRECATED
- x-dcl-mutable-unreadable: true
- metadata:
- type: object
- x-dcl-go-name: Metadata
- x-dcl-go-type: MetricDescriptorMetadata
- description: Optional. Metadata which can be used to guide usage of the
- metric.
- x-kubernetes-immutable: true
- x-dcl-mutable-unreadable: true
- properties:
- ingestDelay:
- type: string
- x-dcl-go-name: IngestDelay
- description: The delay of data points caused by ingestion. Data points
- older than this age are guaranteed to be ingested and available to
- be read, excluding data loss due to errors.
- x-kubernetes-immutable: true
- launchStage:
- type: string
- x-dcl-go-name: LaunchStage
- x-dcl-go-type: MetricDescriptorMetadataLaunchStageEnum
- description: 'Deprecated. Must use the MetricDescriptor.launch_stage
- instead. Possible values: LAUNCH_STAGE_UNSPECIFIED, UNIMPLEMENTED,
- PRELAUNCH, EARLY_ACCESS, ALPHA, BETA, GA, DEPRECATED'
- x-kubernetes-immutable: true
- enum:
- - LAUNCH_STAGE_UNSPECIFIED
- - UNIMPLEMENTED
- - PRELAUNCH
- - EARLY_ACCESS
- - ALPHA
- - BETA
- - GA
- - DEPRECATED
- samplePeriod:
- type: string
- x-dcl-go-name: SamplePeriod
- description: The sampling period of metric data points. For metrics
- which are written periodically, consecutive data points are stored
- at this time interval, excluding data loss due to errors. Metrics
- with a higher granularity have a smaller sampling period.
- x-kubernetes-immutable: true
- metricKind:
- type: string
- x-dcl-go-name: MetricKind
- x-dcl-go-type: MetricDescriptorMetricKindEnum
- description: 'Whether the metric records instantaneous values, changes to
- a value, etc. Some combinations of `metric_kind` and `value_type` might
- not be supported. Possible values: METRIC_KIND_UNSPECIFIED, GAUGE, DELTA,
- CUMULATIVE'
- x-kubernetes-immutable: true
- enum:
- - METRIC_KIND_UNSPECIFIED
- - GAUGE
- - DELTA
- - CUMULATIVE
- monitoredResourceTypes:
- type: array
- x-dcl-go-name: MonitoredResourceTypes
- readOnly: true
- description: Read-only. If present, then a time series, which is identified
- partially by a metric type and a MonitoredResourceDescriptor, that is
- associated with this metric type can only be associated with one of the
- monitored resource types listed here.
- x-kubernetes-immutable: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- project:
- type: string
- x-dcl-go-name: Project
- description: The project for the resource
- x-kubernetes-immutable: true
- x-dcl-references:
- - resource: Cloudresourcemanager/Project
- field: name
- parent: true
- selfLink:
- type: string
- x-dcl-go-name: SelfLink
- readOnly: true
- description: The resource name of the metric descriptor.
- x-kubernetes-immutable: true
- type:
- type: string
- x-dcl-go-name: Type
- description: 'The metric type, including its DNS name prefix. The type is
- not URL-encoded. All user-defined metric types have the DNS name `custom.googleapis.com`
- or `external.googleapis.com`. Metric types should use a natural hierarchical
- grouping. For example: "custom.googleapis.com/invoice/paid/amount" "external.googleapis.com/prometheus/up"
- "appengine.googleapis.com/http/server/response_latencies"'
- x-kubernetes-immutable: true
- x-dcl-forward-slash-allowed: true
- unit:
- type: string
- x-dcl-go-name: Unit
- description: 'The units in which the metric value is reported. It is only
- applicable if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`.
- The `unit` defines the representation of the stored metric values. Different
- systems might scale the values to be more easily displayed (so a value
- of `0.02kBy` _might_ be displayed as `20By`, and a value of `3523kBy`
- _might_ be displayed as `3.5MBy`). However, if the `unit` is `kBy`, then
- the value of the metric is always in thousands of bytes, no matter how
- it might be displayed. If you want a custom metric to record the exact
- number of CPU-seconds used by a job, you can create an `INT64 CUMULATIVE`
- metric whose `unit` is `s{CPU}` (or equivalently `1s{CPU}` or just `s`).
- If the job uses 12,005 CPU-seconds, then the value is written as `12005`.
- Alternatively, if you want a custom metric to record data in a more granular
- way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is `ks{CPU}`,
- and then write the value `12.005` (which is `12005/1000`), or use `Kis{CPU}`
- and write `11.723` (which is `12005/1024`). The supported units are a
- subset of [The Unified Code for Units of Measure](https://unitsofmeasure.org/ucum.html)
- standard: **Basic units (UNIT)** * `bit` bit * `By` byte * `s` second
- * `min` minute * `h` hour * `d` day * `1` dimensionless **Prefixes (PREFIX)**
- * `k` kilo (10^3) * `M` mega (10^6) * `G` giga (10^9) * `T` tera (10^12)
- * `P` peta (10^15) * `E` exa (10^18) * `Z` zetta (10^21) * `Y` yotta (10^24)
- * `m` milli (10^-3) * `u` micro (10^-6) * `n` nano (10^-9) * `p` pico
- (10^-12) * `f` femto (10^-15) * `a` atto (10^-18) * `z` zepto (10^-21)
- * `y` yocto (10^-24) * `Ki` kibi (2^10) * `Mi` mebi (2^20) * `Gi` gibi
- (2^30) * `Ti` tebi (2^40) * `Pi` pebi (2^50) **Grammar** The grammar also
- includes these connectors: * `/` division or ratio (as an infix operator).
- For examples, `kBy/{email}` or `MiBy/10ms` (although you should almost
- never have `/s` in a metric `unit`; rates should always be computed at
- query time from the underlying cumulative or delta value). * `.` multiplication
- or composition (as an infix operator). For examples, `GBy.d` or `k{watt}.h`.
- The grammar for a unit is as follows: Expression = Component: { "." Component
- } { "/" Component } ; Component = ( [ PREFIX ] UNIT | "%" ) [ Annotation
- ] | Annotation | "1" ; Annotation = "{" NAME "}" ; Notes: * `Annotation`
- is just a comment if it follows a `UNIT`. If the annotation is used alone,
- then the unit is equivalent to `1`. For examples, `{request}/s == 1/s`,
- `By{transmitted}/s == By/s`. * `NAME` is a sequence of non-blank printable
- ASCII characters not containing `{` or `}`. * `1` represents a unitary
- [dimensionless unit](https://en.wikipedia.org/wiki/Dimensionless_quantity)
- of 1, such as in `1/s`. It is typically used when none of the basic units
- are appropriate. For example, "new users per day" can be represented as
- `1/d` or `{new-users}/d` (and a metric value `5` would mean "5 new users).
- Alternatively, "thousands of page views per day" would be represented
- as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric value of `5.3`
- would mean "5300 page views per day"). * `%` represents dimensionless
- value of 1/100, and annotates values giving a percentage (so the metric
- values are typically in the range of 0..100, and a metric value `3` means
- "3 percent"). * `10^2.%` indicates a metric contains a ratio, typically
- in the range 0..1, that will be multiplied by 100 and displayed as a percentage
- (so a metric value `0.03` means "3 percent").'
- x-kubernetes-immutable: true
- valueType:
- type: string
- x-dcl-go-name: ValueType
- x-dcl-go-type: MetricDescriptorValueTypeEnum
- description: 'Whether the measurement is an integer, a floating-point number,
- etc. Some combinations of `metric_kind` and `value_type` might not be
- supported. Possible values: STRING, BOOL, INT64'
- x-kubernetes-immutable: true
- enum:
- - STRING
- - BOOL
- - INT64
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/metric_descriptor_internal.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/metric_descriptor_internal.go
deleted file mode 100644
index 224aa87baf..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/metric_descriptor_internal.go
+++ /dev/null
@@ -1,1706 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 monitoring
-
-import (
- "bytes"
- "context"
- "encoding/json"
- "fmt"
- "io/ioutil"
- "strings"
- "time"
-
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-func (r *MetricDescriptor) validate() error {
-
- if err := dcl.Required(r, "type"); err != nil {
- return err
- }
- if err := dcl.Required(r, "metricKind"); err != nil {
- return err
- }
- if err := dcl.Required(r, "valueType"); err != nil {
- return err
- }
- if err := dcl.RequiredParameter(r.Project, "Project"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Metadata) {
- if err := r.Metadata.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *MetricDescriptorLabels) validate() error {
- return nil
-}
-func (r *MetricDescriptorMetadata) validate() error {
- return nil
-}
-func (r *MetricDescriptor) basePath() string {
- params := map[string]interface{}{}
- return dcl.Nprintf("https://monitoring.googleapis.com/v3/", params)
-}
-
-func (r *MetricDescriptor) getURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "type": dcl.ValueOrEmptyString(nr.Type),
- }
- return dcl.URL("projects/{{project}}/metricDescriptors/{{type}}", nr.basePath(), userBasePath, params), nil
-}
-
-func (r *MetricDescriptor) listURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- }
- return dcl.URL("projects/{{project}}/metricDescriptors", nr.basePath(), userBasePath, params), nil
-
-}
-
-func (r *MetricDescriptor) createURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- }
- return dcl.URL("projects/{{project}}/metricDescriptors", nr.basePath(), userBasePath, params), nil
-
-}
-
-func (r *MetricDescriptor) deleteURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "type": dcl.ValueOrEmptyString(nr.Type),
- }
- return dcl.URL("projects/{{project}}/metricDescriptors/{{type}}", nr.basePath(), userBasePath, params), nil
-}
-
-// metricDescriptorApiOperation represents a mutable operation in the underlying REST
-// API such as Create, Update, or Delete.
-type metricDescriptorApiOperation interface {
- do(context.Context, *MetricDescriptor, *Client) error
-}
-
-func (c *Client) listMetricDescriptorRaw(ctx context.Context, r *MetricDescriptor, pageToken string, pageSize int32) ([]byte, error) {
- u, err := r.urlNormalized().listURL(c.Config.BasePath)
- if err != nil {
- return nil, err
- }
-
- m := make(map[string]string)
- if pageToken != "" {
- m["pageToken"] = pageToken
- }
-
- if pageSize != MetricDescriptorMaxPage {
- m["pageSize"] = fmt.Sprintf("%v", pageSize)
- }
-
- u, err = dcl.AddQueryParams(u, m)
- if err != nil {
- return nil, err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
- if err != nil {
- return nil, err
- }
- defer resp.Response.Body.Close()
- return ioutil.ReadAll(resp.Response.Body)
-}
-
-type listMetricDescriptorOperation struct {
- MetricDescriptors []map[string]interface{} `json:"metricDescriptors"`
- Token string `json:"nextPageToken"`
-}
-
-func (c *Client) listMetricDescriptor(ctx context.Context, r *MetricDescriptor, pageToken string, pageSize int32) ([]*MetricDescriptor, string, error) {
- b, err := c.listMetricDescriptorRaw(ctx, r, pageToken, pageSize)
- if err != nil {
- return nil, "", err
- }
-
- var m listMetricDescriptorOperation
- if err := json.Unmarshal(b, &m); err != nil {
- return nil, "", err
- }
-
- var l []*MetricDescriptor
- for _, v := range m.MetricDescriptors {
- res, err := unmarshalMapMetricDescriptor(v, c, r)
- if err != nil {
- return nil, m.Token, err
- }
- res.Project = r.Project
- l = append(l, res)
- }
-
- return l, m.Token, nil
-}
-
-func (c *Client) deleteAllMetricDescriptor(ctx context.Context, f func(*MetricDescriptor) bool, resources []*MetricDescriptor) error {
- var errors []string
- for _, res := range resources {
- if f(res) {
- // We do not want deleteAll to fail on a deletion or else it will stop deleting other resources.
- err := c.DeleteMetricDescriptor(ctx, res)
- if err != nil {
- errors = append(errors, err.Error())
- }
- }
- }
- if len(errors) > 0 {
- return fmt.Errorf("%v", strings.Join(errors, "\n"))
- } else {
- return nil
- }
-}
-
-type deleteMetricDescriptorOperation struct{}
-
-func (op *deleteMetricDescriptorOperation) do(ctx context.Context, r *MetricDescriptor, c *Client) error {
- r, err := c.GetMetricDescriptor(ctx, r)
- if err != nil {
- if dcl.IsNotFound(err) {
- c.Config.Logger.InfoWithContextf(ctx, "MetricDescriptor not found, returning. Original error: %v", err)
- return nil
- }
- c.Config.Logger.WarningWithContextf(ctx, "GetMetricDescriptor checking for existence. error: %v", err)
- return err
- }
-
- u, err := r.deleteURL(c.Config.BasePath)
- if err != nil {
- return err
- }
-
- // Delete should never have a body
- body := &bytes.Buffer{}
- _, err = dcl.SendRequest(ctx, c.Config, "DELETE", u, body, c.Config.RetryProvider)
- if err != nil {
- return fmt.Errorf("failed to delete MetricDescriptor: %w", err)
- }
-
- // We saw a race condition where for some successful delete operation, the Get calls returned resources for a short duration.
- // This is the reason we are adding retry to handle that case.
- retriesRemaining := 10
- dcl.Do(ctx, func(ctx context.Context) (*dcl.RetryDetails, error) {
- _, err := c.GetMetricDescriptor(ctx, r)
- if dcl.IsNotFound(err) {
- return nil, nil
- }
- if retriesRemaining > 0 {
- retriesRemaining--
- return &dcl.RetryDetails{}, dcl.OperationNotDone{}
- }
- return nil, dcl.NotDeletedError{ExistingResource: r}
- }, c.Config.RetryProvider)
- return nil
-}
-
-// Create operations are similar to Update operations, although they do not have
-// specific request objects. The Create request object is the json encoding of
-// the resource, which is modified by res.marshal to form the base request body.
-type createMetricDescriptorOperation struct {
- response map[string]interface{}
-}
-
-func (op *createMetricDescriptorOperation) FirstResponse() (map[string]interface{}, bool) {
- return op.response, len(op.response) > 0
-}
-
-func (op *createMetricDescriptorOperation) do(ctx context.Context, r *MetricDescriptor, c *Client) error {
- c.Config.Logger.InfoWithContextf(ctx, "Attempting to create %v", r)
- u, err := r.createURL(c.Config.BasePath)
- if err != nil {
- return err
- }
-
- req, err := r.marshal(c)
- if err != nil {
- return err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "POST", u, bytes.NewBuffer(req), c.Config.RetryProvider)
- if err != nil {
- return err
- }
-
- o, err := dcl.ResponseBodyAsJSON(resp)
- if err != nil {
- return fmt.Errorf("error decoding response body into JSON: %w", err)
- }
- op.response = o
-
- // Poll for the MetricDescriptor resource to be created. MetricDescriptor resources are eventually consistent but do not support operations
- // so we must repeatedly poll to check for their creation.
- requiredSuccesses := 10
- start := time.Now()
- err = dcl.Do(ctx, func(ctx context.Context) (*dcl.RetryDetails, error) {
- u, err := r.getURL(c.Config.BasePath)
- if err != nil {
- return nil, err
- }
- getResp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, nil)
- if err != nil {
- // If the error is a transient server error (e.g., 500) or not found (i.e., the resource has not yet been created),
- // continue retrying until the transient error is resolved, the resource is created, or we time out.
- if dcl.IsRetryableRequestError(c.Config, err, true, start) {
- return &dcl.RetryDetails{}, dcl.OperationNotDone{Err: err}
- }
- return nil, err
- }
- getResp.Response.Body.Close()
- requiredSuccesses--
- if requiredSuccesses > 0 {
- return &dcl.RetryDetails{}, dcl.OperationNotDone{}
- }
- return getResp, nil
- }, c.Config.RetryProvider)
-
- if _, err := c.GetMetricDescriptor(ctx, r); err != nil {
- c.Config.Logger.WarningWithContextf(ctx, "get returned error: %v", err)
- return err
- }
-
- return nil
-}
-
-func (c *Client) getMetricDescriptorRaw(ctx context.Context, r *MetricDescriptor) ([]byte, error) {
-
- u, err := r.getURL(c.Config.BasePath)
- if err != nil {
- return nil, err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
- if err != nil {
- return nil, err
- }
- defer resp.Response.Body.Close()
- b, err := ioutil.ReadAll(resp.Response.Body)
- if err != nil {
- return nil, err
- }
-
- return b, nil
-}
-
-func (c *Client) metricDescriptorDiffsForRawDesired(ctx context.Context, rawDesired *MetricDescriptor, opts ...dcl.ApplyOption) (initial, desired *MetricDescriptor, diffs []*dcl.FieldDiff, err error) {
- c.Config.Logger.InfoWithContext(ctx, "Fetching initial state...")
- // First, let us see if the user provided a state hint. If they did, we will start fetching based on that.
- var fetchState *MetricDescriptor
- if sh := dcl.FetchStateHint(opts); sh != nil {
- if r, ok := sh.(*MetricDescriptor); !ok {
- c.Config.Logger.WarningWithContextf(ctx, "Initial state hint was of the wrong type; expected MetricDescriptor, got %T", sh)
- } else {
- fetchState = r
- }
- }
- if fetchState == nil {
- fetchState = rawDesired
- }
-
- // 1.2: Retrieval of raw initial state from API
- rawInitial, err := c.GetMetricDescriptor(ctx, fetchState)
- if rawInitial == nil {
- if !dcl.IsNotFound(err) {
- c.Config.Logger.WarningWithContextf(ctx, "Failed to retrieve whether a MetricDescriptor resource already exists: %s", err)
- return nil, nil, nil, fmt.Errorf("failed to retrieve MetricDescriptor resource: %v", err)
- }
- c.Config.Logger.InfoWithContext(ctx, "Found that MetricDescriptor resource did not exist.")
- // Perform canonicalization to pick up defaults.
- desired, err = canonicalizeMetricDescriptorDesiredState(rawDesired, rawInitial)
- return nil, desired, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Found initial state for MetricDescriptor: %v", rawInitial)
- c.Config.Logger.InfoWithContextf(ctx, "Initial desired state for MetricDescriptor: %v", rawDesired)
-
- // The Get call applies postReadExtract and so the result may contain fields that are not part of API version.
- if err := extractMetricDescriptorFields(rawInitial); err != nil {
- return nil, nil, nil, err
- }
-
- // 1.3: Canonicalize raw initial state into initial state.
- initial, err = canonicalizeMetricDescriptorInitialState(rawInitial, rawDesired)
- if err != nil {
- return nil, nil, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalized initial state for MetricDescriptor: %v", initial)
-
- // 1.4: Canonicalize raw desired state into desired state.
- desired, err = canonicalizeMetricDescriptorDesiredState(rawDesired, rawInitial, opts...)
- if err != nil {
- return nil, nil, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalized desired state for MetricDescriptor: %v", desired)
-
- // 2.1: Comparison of initial and desired state.
- diffs, err = diffMetricDescriptor(c, desired, initial, opts...)
- return initial, desired, diffs, err
-}
-
-func canonicalizeMetricDescriptorInitialState(rawInitial, rawDesired *MetricDescriptor) (*MetricDescriptor, error) {
- // TODO(magic-modules-eng): write canonicalizer once relevant traits are added.
- return rawInitial, nil
-}
-
-/*
-* Canonicalizers
-*
-* These are responsible for converting either a user-specified config or a
-* GCP API response to a standard format that can be used for difference checking.
-* */
-
-func canonicalizeMetricDescriptorDesiredState(rawDesired, rawInitial *MetricDescriptor, opts ...dcl.ApplyOption) (*MetricDescriptor, error) {
-
- if rawInitial == nil {
- // Since the initial state is empty, the desired state is all we have.
- // We canonicalize the remaining nested objects with nil to pick up defaults.
- rawDesired.Metadata = canonicalizeMetricDescriptorMetadata(rawDesired.Metadata, nil, opts...)
-
- return rawDesired, nil
- }
- canonicalDesired := &MetricDescriptor{}
- if dcl.StringCanonicalize(rawDesired.Type, rawInitial.Type) {
- canonicalDesired.Type = rawInitial.Type
- } else {
- canonicalDesired.Type = rawDesired.Type
- }
- canonicalDesired.Labels = canonicalizeMetricDescriptorLabelsSlice(rawDesired.Labels, rawInitial.Labels, opts...)
- if dcl.IsZeroValue(rawDesired.MetricKind) || (dcl.IsEmptyValueIndirect(rawDesired.MetricKind) && dcl.IsEmptyValueIndirect(rawInitial.MetricKind)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- canonicalDesired.MetricKind = rawInitial.MetricKind
- } else {
- canonicalDesired.MetricKind = rawDesired.MetricKind
- }
- if canonicalizeMetricDescriptorValueType(rawDesired.ValueType, rawInitial.ValueType) {
- canonicalDesired.ValueType = rawInitial.ValueType
- } else {
- canonicalDesired.ValueType = rawDesired.ValueType
- }
- if dcl.StringCanonicalize(rawDesired.Unit, rawInitial.Unit) {
- canonicalDesired.Unit = rawInitial.Unit
- } else {
- canonicalDesired.Unit = rawDesired.Unit
- }
- if dcl.StringCanonicalize(rawDesired.Description, rawInitial.Description) {
- canonicalDesired.Description = rawInitial.Description
- } else {
- canonicalDesired.Description = rawDesired.Description
- }
- if dcl.StringCanonicalize(rawDesired.DisplayName, rawInitial.DisplayName) {
- canonicalDesired.DisplayName = rawInitial.DisplayName
- } else {
- canonicalDesired.DisplayName = rawDesired.DisplayName
- }
- canonicalDesired.Metadata = canonicalizeMetricDescriptorMetadata(rawDesired.Metadata, rawInitial.Metadata, opts...)
- if dcl.IsZeroValue(rawDesired.LaunchStage) || (dcl.IsEmptyValueIndirect(rawDesired.LaunchStage) && dcl.IsEmptyValueIndirect(rawInitial.LaunchStage)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- canonicalDesired.LaunchStage = rawInitial.LaunchStage
- } else {
- canonicalDesired.LaunchStage = rawDesired.LaunchStage
- }
- if dcl.NameToSelfLink(rawDesired.Project, rawInitial.Project) {
- canonicalDesired.Project = rawInitial.Project
- } else {
- canonicalDesired.Project = rawDesired.Project
- }
- return canonicalDesired, nil
-}
-
-func canonicalizeMetricDescriptorNewState(c *Client, rawNew, rawDesired *MetricDescriptor) (*MetricDescriptor, error) {
-
- if dcl.IsEmptyValueIndirect(rawNew.SelfLink) && dcl.IsEmptyValueIndirect(rawDesired.SelfLink) {
- rawNew.SelfLink = rawDesired.SelfLink
- } else {
- if dcl.StringCanonicalize(rawDesired.SelfLink, rawNew.SelfLink) {
- rawNew.SelfLink = rawDesired.SelfLink
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Type) && dcl.IsEmptyValueIndirect(rawDesired.Type) {
- rawNew.Type = rawDesired.Type
- } else {
- if dcl.StringCanonicalize(rawDesired.Type, rawNew.Type) {
- rawNew.Type = rawDesired.Type
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Labels) && dcl.IsEmptyValueIndirect(rawDesired.Labels) {
- rawNew.Labels = rawDesired.Labels
- } else {
- rawNew.Labels = canonicalizeNewMetricDescriptorLabelsSet(c, rawDesired.Labels, rawNew.Labels)
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.MetricKind) && dcl.IsEmptyValueIndirect(rawDesired.MetricKind) {
- rawNew.MetricKind = rawDesired.MetricKind
- } else {
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.ValueType) && dcl.IsEmptyValueIndirect(rawDesired.ValueType) {
- rawNew.ValueType = rawDesired.ValueType
- } else {
- if canonicalizeMetricDescriptorValueType(rawDesired.ValueType, rawNew.ValueType) {
- rawNew.ValueType = rawDesired.ValueType
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Unit) && dcl.IsEmptyValueIndirect(rawDesired.Unit) {
- rawNew.Unit = rawDesired.Unit
- } else {
- if dcl.StringCanonicalize(rawDesired.Unit, rawNew.Unit) {
- rawNew.Unit = rawDesired.Unit
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Description) && dcl.IsEmptyValueIndirect(rawDesired.Description) {
- rawNew.Description = rawDesired.Description
- } else {
- if dcl.StringCanonicalize(rawDesired.Description, rawNew.Description) {
- rawNew.Description = rawDesired.Description
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.DisplayName) && dcl.IsEmptyValueIndirect(rawDesired.DisplayName) {
- rawNew.DisplayName = rawDesired.DisplayName
- } else {
- if dcl.StringCanonicalize(rawDesired.DisplayName, rawNew.DisplayName) {
- rawNew.DisplayName = rawDesired.DisplayName
- }
- }
-
- rawNew.Metadata = rawDesired.Metadata
-
- rawNew.LaunchStage = rawDesired.LaunchStage
-
- if dcl.IsEmptyValueIndirect(rawNew.MonitoredResourceTypes) && dcl.IsEmptyValueIndirect(rawDesired.MonitoredResourceTypes) {
- rawNew.MonitoredResourceTypes = rawDesired.MonitoredResourceTypes
- } else {
- if dcl.StringArrayCanonicalize(rawDesired.MonitoredResourceTypes, rawNew.MonitoredResourceTypes) {
- rawNew.MonitoredResourceTypes = rawDesired.MonitoredResourceTypes
- }
- }
-
- rawNew.Project = rawDesired.Project
-
- return rawNew, nil
-}
-
-func canonicalizeMetricDescriptorLabels(des, initial *MetricDescriptorLabels, opts ...dcl.ApplyOption) *MetricDescriptorLabels {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &MetricDescriptorLabels{}
-
- if dcl.StringCanonicalize(des.Key, initial.Key) || dcl.IsZeroValue(des.Key) {
- cDes.Key = initial.Key
- } else {
- cDes.Key = des.Key
- }
- if canonicalizeMetricDescriptorLabelsValueType(des.ValueType, initial.ValueType) || dcl.IsZeroValue(des.ValueType) {
- cDes.ValueType = initial.ValueType
- } else {
- cDes.ValueType = des.ValueType
- }
- if dcl.StringCanonicalize(des.Description, initial.Description) || dcl.IsZeroValue(des.Description) {
- cDes.Description = initial.Description
- } else {
- cDes.Description = des.Description
- }
-
- return cDes
-}
-
-func canonicalizeMetricDescriptorLabelsSlice(des, initial []MetricDescriptorLabels, opts ...dcl.ApplyOption) []MetricDescriptorLabels {
- if des == nil {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]MetricDescriptorLabels, 0, len(des))
- for _, d := range des {
- cd := canonicalizeMetricDescriptorLabels(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]MetricDescriptorLabels, 0, len(des))
- for i, d := range des {
- cd := canonicalizeMetricDescriptorLabels(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewMetricDescriptorLabels(c *Client, des, nw *MetricDescriptorLabels) *MetricDescriptorLabels {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for MetricDescriptorLabels while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Key, nw.Key) {
- nw.Key = des.Key
- }
- if canonicalizeMetricDescriptorLabelsValueType(des.ValueType, nw.ValueType) {
- nw.ValueType = des.ValueType
- }
- if dcl.StringCanonicalize(des.Description, nw.Description) {
- nw.Description = des.Description
- }
-
- return nw
-}
-
-func canonicalizeNewMetricDescriptorLabelsSet(c *Client, des, nw []MetricDescriptorLabels) []MetricDescriptorLabels {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []MetricDescriptorLabels
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareMetricDescriptorLabelsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewMetricDescriptorLabels(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewMetricDescriptorLabelsSlice(c *Client, des, nw []MetricDescriptorLabels) []MetricDescriptorLabels {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []MetricDescriptorLabels
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewMetricDescriptorLabels(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeMetricDescriptorMetadata(des, initial *MetricDescriptorMetadata, opts ...dcl.ApplyOption) *MetricDescriptorMetadata {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &MetricDescriptorMetadata{}
-
- if dcl.IsZeroValue(des.LaunchStage) || (dcl.IsEmptyValueIndirect(des.LaunchStage) && dcl.IsEmptyValueIndirect(initial.LaunchStage)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.LaunchStage = initial.LaunchStage
- } else {
- cDes.LaunchStage = des.LaunchStage
- }
- if dcl.StringCanonicalize(des.SamplePeriod, initial.SamplePeriod) || dcl.IsZeroValue(des.SamplePeriod) {
- cDes.SamplePeriod = initial.SamplePeriod
- } else {
- cDes.SamplePeriod = des.SamplePeriod
- }
- if dcl.StringCanonicalize(des.IngestDelay, initial.IngestDelay) || dcl.IsZeroValue(des.IngestDelay) {
- cDes.IngestDelay = initial.IngestDelay
- } else {
- cDes.IngestDelay = des.IngestDelay
- }
-
- return cDes
-}
-
-func canonicalizeMetricDescriptorMetadataSlice(des, initial []MetricDescriptorMetadata, opts ...dcl.ApplyOption) []MetricDescriptorMetadata {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]MetricDescriptorMetadata, 0, len(des))
- for _, d := range des {
- cd := canonicalizeMetricDescriptorMetadata(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]MetricDescriptorMetadata, 0, len(des))
- for i, d := range des {
- cd := canonicalizeMetricDescriptorMetadata(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewMetricDescriptorMetadata(c *Client, des, nw *MetricDescriptorMetadata) *MetricDescriptorMetadata {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for MetricDescriptorMetadata while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.SamplePeriod, nw.SamplePeriod) {
- nw.SamplePeriod = des.SamplePeriod
- }
- if dcl.StringCanonicalize(des.IngestDelay, nw.IngestDelay) {
- nw.IngestDelay = des.IngestDelay
- }
-
- return nw
-}
-
-func canonicalizeNewMetricDescriptorMetadataSet(c *Client, des, nw []MetricDescriptorMetadata) []MetricDescriptorMetadata {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []MetricDescriptorMetadata
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareMetricDescriptorMetadataNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewMetricDescriptorMetadata(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewMetricDescriptorMetadataSlice(c *Client, des, nw []MetricDescriptorMetadata) []MetricDescriptorMetadata {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []MetricDescriptorMetadata
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewMetricDescriptorMetadata(c, &d, &n))
- }
-
- return items
-}
-
-// The differ returns a list of diffs, along with a list of operations that should be taken
-// to remedy them. Right now, it does not attempt to consolidate operations - if several
-// fields can be fixed with a patch update, it will perform the patch several times.
-// Diffs on some fields will be ignored if the `desired` state has an empty (nil)
-// value. This empty value indicates that the user does not care about the state for
-// the field. Empty fields on the actual object will cause diffs.
-// TODO(magic-modules-eng): for efficiency in some resources, add batching.
-func diffMetricDescriptor(c *Client, desired, actual *MetricDescriptor, opts ...dcl.ApplyOption) ([]*dcl.FieldDiff, error) {
- if desired == nil || actual == nil {
- return nil, fmt.Errorf("nil resource passed to diff - always a programming error: %#v, %#v", desired, actual)
- }
-
- c.Config.Logger.Infof("Diff function called with desired state: %v", desired)
- c.Config.Logger.Infof("Diff function called with actual state: %v", actual)
-
- var fn dcl.FieldName
- var newDiffs []*dcl.FieldDiff
- // New style diffs.
- if ds, err := dcl.Diff(desired.SelfLink, actual.SelfLink, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Name")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Type, actual.Type, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Type")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Labels, actual.Labels, dcl.DiffInfo{Type: "Set", ObjectFunction: compareMetricDescriptorLabelsNewStyle, EmptyObject: EmptyMetricDescriptorLabels, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Labels")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.MetricKind, actual.MetricKind, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MetricKind")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.ValueType, actual.ValueType, dcl.DiffInfo{Type: "EnumType", CustomDiff: canonicalizeMetricDescriptorValueType, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ValueType")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Unit, actual.Unit, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Unit")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Description, actual.Description, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Description")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.DisplayName, actual.DisplayName, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("DisplayName")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Metadata, actual.Metadata, dcl.DiffInfo{Ignore: true, ObjectFunction: compareMetricDescriptorMetadataNewStyle, EmptyObject: EmptyMetricDescriptorMetadata, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Metadata")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.LaunchStage, actual.LaunchStage, dcl.DiffInfo{Ignore: true, Type: "EnumType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("LaunchStage")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.MonitoredResourceTypes, actual.MonitoredResourceTypes, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MonitoredResourceTypes")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Project, actual.Project, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Project")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if len(newDiffs) > 0 {
- c.Config.Logger.Infof("Diff function found diffs: %v", newDiffs)
- }
- return newDiffs, nil
-}
-func compareMetricDescriptorLabelsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*MetricDescriptorLabels)
- if !ok {
- desiredNotPointer, ok := d.(MetricDescriptorLabels)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a MetricDescriptorLabels or *MetricDescriptorLabels", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*MetricDescriptorLabels)
- if !ok {
- actualNotPointer, ok := a.(MetricDescriptorLabels)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a MetricDescriptorLabels", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Key, actual.Key, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Key")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.ValueType, actual.ValueType, dcl.DiffInfo{Type: "EnumType", CustomDiff: canonicalizeMetricDescriptorLabelsValueType, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ValueType")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Description, actual.Description, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Description")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareMetricDescriptorMetadataNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*MetricDescriptorMetadata)
- if !ok {
- desiredNotPointer, ok := d.(MetricDescriptorMetadata)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a MetricDescriptorMetadata or *MetricDescriptorMetadata", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*MetricDescriptorMetadata)
- if !ok {
- actualNotPointer, ok := a.(MetricDescriptorMetadata)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a MetricDescriptorMetadata", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.LaunchStage, actual.LaunchStage, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("LaunchStage")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.SamplePeriod, actual.SamplePeriod, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("SamplePeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.IngestDelay, actual.IngestDelay, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("IngestDelay")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-// urlNormalized returns a copy of the resource struct with values normalized
-// for URL substitutions. For instance, it converts long-form self-links to
-// short-form so they can be substituted in.
-func (r *MetricDescriptor) urlNormalized() *MetricDescriptor {
- normalized := dcl.Copy(*r).(MetricDescriptor)
- normalized.SelfLink = dcl.SelfLinkToName(r.SelfLink)
- normalized.Type = r.Type
- normalized.Unit = dcl.SelfLinkToName(r.Unit)
- normalized.Description = dcl.SelfLinkToName(r.Description)
- normalized.DisplayName = dcl.SelfLinkToName(r.DisplayName)
- normalized.Project = dcl.SelfLinkToName(r.Project)
- return &normalized
-}
-
-func (r *MetricDescriptor) updateURL(userBasePath, updateName string) (string, error) {
- return "", fmt.Errorf("unknown update name: %s", updateName)
-}
-
-// marshal encodes the MetricDescriptor resource into JSON for a Create request, and
-// performs transformations from the resource schema to the API schema if
-// necessary.
-func (r *MetricDescriptor) marshal(c *Client) ([]byte, error) {
- m, err := expandMetricDescriptor(c, r)
- if err != nil {
- return nil, fmt.Errorf("error marshalling MetricDescriptor: %w", err)
- }
-
- return json.Marshal(m)
-}
-
-// unmarshalMetricDescriptor decodes JSON responses into the MetricDescriptor resource schema.
-func unmarshalMetricDescriptor(b []byte, c *Client, res *MetricDescriptor) (*MetricDescriptor, error) {
- var m map[string]interface{}
- if err := json.Unmarshal(b, &m); err != nil {
- return nil, err
- }
- return unmarshalMapMetricDescriptor(m, c, res)
-}
-
-func unmarshalMapMetricDescriptor(m map[string]interface{}, c *Client, res *MetricDescriptor) (*MetricDescriptor, error) {
-
- flattened := flattenMetricDescriptor(c, m, res)
- if flattened == nil {
- return nil, fmt.Errorf("attempted to flatten empty json object")
- }
- return flattened, nil
-}
-
-// expandMetricDescriptor expands MetricDescriptor into a JSON request object.
-func expandMetricDescriptor(c *Client, f *MetricDescriptor) (map[string]interface{}, error) {
- m := make(map[string]interface{})
- res := f
- _ = res
- if v := f.Type; dcl.ValueShouldBeSent(v) {
- m["type"] = v
- }
- if v, err := expandMetricDescriptorLabelsSlice(c, f.Labels, res); err != nil {
- return nil, fmt.Errorf("error expanding Labels into labels: %w", err)
- } else if v != nil {
- m["labels"] = v
- }
- if v := f.MetricKind; dcl.ValueShouldBeSent(v) {
- m["metricKind"] = v
- }
- if v := f.ValueType; dcl.ValueShouldBeSent(v) {
- m["valueType"] = v
- }
- if v := f.Unit; dcl.ValueShouldBeSent(v) {
- m["unit"] = v
- }
- if v := f.Description; dcl.ValueShouldBeSent(v) {
- m["description"] = v
- }
- if v := f.DisplayName; dcl.ValueShouldBeSent(v) {
- m["displayName"] = v
- }
- if v, err := expandMetricDescriptorMetadata(c, f.Metadata, res); err != nil {
- return nil, fmt.Errorf("error expanding Metadata into metadata: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["metadata"] = v
- }
- if v := f.LaunchStage; dcl.ValueShouldBeSent(v) {
- m["launchStage"] = v
- }
- if v, err := dcl.EmptyValue(); err != nil {
- return nil, fmt.Errorf("error expanding Project into project: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["project"] = v
- }
-
- return m, nil
-}
-
-// flattenMetricDescriptor flattens MetricDescriptor from a JSON request object into the
-// MetricDescriptor type.
-func flattenMetricDescriptor(c *Client, i interface{}, res *MetricDescriptor) *MetricDescriptor {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
- if len(m) == 0 {
- return nil
- }
-
- resultRes := &MetricDescriptor{}
- resultRes.SelfLink = dcl.FlattenString(m["name"])
- resultRes.Type = dcl.FlattenString(m["type"])
- resultRes.Labels = flattenMetricDescriptorLabelsSlice(c, m["labels"], res)
- resultRes.MetricKind = flattenMetricDescriptorMetricKindEnum(m["metricKind"])
- resultRes.ValueType = flattenMetricDescriptorValueTypeEnum(m["valueType"])
- resultRes.Unit = dcl.FlattenString(m["unit"])
- resultRes.Description = dcl.FlattenString(m["description"])
- resultRes.DisplayName = dcl.FlattenString(m["displayName"])
- resultRes.Metadata = flattenMetricDescriptorMetadata(c, m["metadata"], res)
- resultRes.LaunchStage = flattenMetricDescriptorLaunchStageEnum(m["launchStage"])
- resultRes.MonitoredResourceTypes = dcl.FlattenStringSlice(m["monitoredResourceTypes"])
- resultRes.Project = dcl.FlattenString(m["project"])
-
- return resultRes
-}
-
-// expandMetricDescriptorLabelsMap expands the contents of MetricDescriptorLabels into a JSON
-// request object.
-func expandMetricDescriptorLabelsMap(c *Client, f map[string]MetricDescriptorLabels, res *MetricDescriptor) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandMetricDescriptorLabels(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandMetricDescriptorLabelsSlice expands the contents of MetricDescriptorLabels into a JSON
-// request object.
-func expandMetricDescriptorLabelsSlice(c *Client, f []MetricDescriptorLabels, res *MetricDescriptor) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandMetricDescriptorLabels(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenMetricDescriptorLabelsMap flattens the contents of MetricDescriptorLabels from a JSON
-// response object.
-func flattenMetricDescriptorLabelsMap(c *Client, i interface{}, res *MetricDescriptor) map[string]MetricDescriptorLabels {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]MetricDescriptorLabels{}
- }
-
- if len(a) == 0 {
- return map[string]MetricDescriptorLabels{}
- }
-
- items := make(map[string]MetricDescriptorLabels)
- for k, item := range a {
- items[k] = *flattenMetricDescriptorLabels(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenMetricDescriptorLabelsSlice flattens the contents of MetricDescriptorLabels from a JSON
-// response object.
-func flattenMetricDescriptorLabelsSlice(c *Client, i interface{}, res *MetricDescriptor) []MetricDescriptorLabels {
- a, ok := i.([]interface{})
- if !ok {
- return []MetricDescriptorLabels{}
- }
-
- if len(a) == 0 {
- return []MetricDescriptorLabels{}
- }
-
- items := make([]MetricDescriptorLabels, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenMetricDescriptorLabels(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandMetricDescriptorLabels expands an instance of MetricDescriptorLabels into a JSON
-// request object.
-func expandMetricDescriptorLabels(c *Client, f *MetricDescriptorLabels, res *MetricDescriptor) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Key; !dcl.IsEmptyValueIndirect(v) {
- m["key"] = v
- }
- if v := f.ValueType; !dcl.IsEmptyValueIndirect(v) {
- m["valueType"] = v
- }
- if v := f.Description; !dcl.IsEmptyValueIndirect(v) {
- m["description"] = v
- }
-
- return m, nil
-}
-
-// flattenMetricDescriptorLabels flattens an instance of MetricDescriptorLabels from a JSON
-// response object.
-func flattenMetricDescriptorLabels(c *Client, i interface{}, res *MetricDescriptor) *MetricDescriptorLabels {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &MetricDescriptorLabels{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyMetricDescriptorLabels
- }
- r.Key = dcl.FlattenString(m["key"])
- r.ValueType = flattenMetricDescriptorLabelsValueTypeEnum(m["valueType"])
- r.Description = dcl.FlattenString(m["description"])
-
- return r
-}
-
-// expandMetricDescriptorMetadataMap expands the contents of MetricDescriptorMetadata into a JSON
-// request object.
-func expandMetricDescriptorMetadataMap(c *Client, f map[string]MetricDescriptorMetadata, res *MetricDescriptor) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandMetricDescriptorMetadata(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandMetricDescriptorMetadataSlice expands the contents of MetricDescriptorMetadata into a JSON
-// request object.
-func expandMetricDescriptorMetadataSlice(c *Client, f []MetricDescriptorMetadata, res *MetricDescriptor) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandMetricDescriptorMetadata(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenMetricDescriptorMetadataMap flattens the contents of MetricDescriptorMetadata from a JSON
-// response object.
-func flattenMetricDescriptorMetadataMap(c *Client, i interface{}, res *MetricDescriptor) map[string]MetricDescriptorMetadata {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]MetricDescriptorMetadata{}
- }
-
- if len(a) == 0 {
- return map[string]MetricDescriptorMetadata{}
- }
-
- items := make(map[string]MetricDescriptorMetadata)
- for k, item := range a {
- items[k] = *flattenMetricDescriptorMetadata(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenMetricDescriptorMetadataSlice flattens the contents of MetricDescriptorMetadata from a JSON
-// response object.
-func flattenMetricDescriptorMetadataSlice(c *Client, i interface{}, res *MetricDescriptor) []MetricDescriptorMetadata {
- a, ok := i.([]interface{})
- if !ok {
- return []MetricDescriptorMetadata{}
- }
-
- if len(a) == 0 {
- return []MetricDescriptorMetadata{}
- }
-
- items := make([]MetricDescriptorMetadata, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenMetricDescriptorMetadata(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandMetricDescriptorMetadata expands an instance of MetricDescriptorMetadata into a JSON
-// request object.
-func expandMetricDescriptorMetadata(c *Client, f *MetricDescriptorMetadata, res *MetricDescriptor) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.LaunchStage; !dcl.IsEmptyValueIndirect(v) {
- m["launchStage"] = v
- }
- if v := f.SamplePeriod; !dcl.IsEmptyValueIndirect(v) {
- m["samplePeriod"] = v
- }
- if v := f.IngestDelay; !dcl.IsEmptyValueIndirect(v) {
- m["ingestDelay"] = v
- }
-
- return m, nil
-}
-
-// flattenMetricDescriptorMetadata flattens an instance of MetricDescriptorMetadata from a JSON
-// response object.
-func flattenMetricDescriptorMetadata(c *Client, i interface{}, res *MetricDescriptor) *MetricDescriptorMetadata {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &MetricDescriptorMetadata{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyMetricDescriptorMetadata
- }
- r.LaunchStage = flattenMetricDescriptorMetadataLaunchStageEnum(m["launchStage"])
- r.SamplePeriod = dcl.FlattenString(m["samplePeriod"])
- r.IngestDelay = dcl.FlattenString(m["ingestDelay"])
-
- return r
-}
-
-// flattenMetricDescriptorLabelsValueTypeEnumMap flattens the contents of MetricDescriptorLabelsValueTypeEnum from a JSON
-// response object.
-func flattenMetricDescriptorLabelsValueTypeEnumMap(c *Client, i interface{}, res *MetricDescriptor) map[string]MetricDescriptorLabelsValueTypeEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]MetricDescriptorLabelsValueTypeEnum{}
- }
-
- if len(a) == 0 {
- return map[string]MetricDescriptorLabelsValueTypeEnum{}
- }
-
- items := make(map[string]MetricDescriptorLabelsValueTypeEnum)
- for k, item := range a {
- items[k] = *flattenMetricDescriptorLabelsValueTypeEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenMetricDescriptorLabelsValueTypeEnumSlice flattens the contents of MetricDescriptorLabelsValueTypeEnum from a JSON
-// response object.
-func flattenMetricDescriptorLabelsValueTypeEnumSlice(c *Client, i interface{}, res *MetricDescriptor) []MetricDescriptorLabelsValueTypeEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []MetricDescriptorLabelsValueTypeEnum{}
- }
-
- if len(a) == 0 {
- return []MetricDescriptorLabelsValueTypeEnum{}
- }
-
- items := make([]MetricDescriptorLabelsValueTypeEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenMetricDescriptorLabelsValueTypeEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenMetricDescriptorLabelsValueTypeEnum asserts that an interface is a string, and returns a
-// pointer to a *MetricDescriptorLabelsValueTypeEnum with the same value as that string.
-func flattenMetricDescriptorLabelsValueTypeEnum(i interface{}) *MetricDescriptorLabelsValueTypeEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return MetricDescriptorLabelsValueTypeEnumRef(s)
-}
-
-// flattenMetricDescriptorMetricKindEnumMap flattens the contents of MetricDescriptorMetricKindEnum from a JSON
-// response object.
-func flattenMetricDescriptorMetricKindEnumMap(c *Client, i interface{}, res *MetricDescriptor) map[string]MetricDescriptorMetricKindEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]MetricDescriptorMetricKindEnum{}
- }
-
- if len(a) == 0 {
- return map[string]MetricDescriptorMetricKindEnum{}
- }
-
- items := make(map[string]MetricDescriptorMetricKindEnum)
- for k, item := range a {
- items[k] = *flattenMetricDescriptorMetricKindEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenMetricDescriptorMetricKindEnumSlice flattens the contents of MetricDescriptorMetricKindEnum from a JSON
-// response object.
-func flattenMetricDescriptorMetricKindEnumSlice(c *Client, i interface{}, res *MetricDescriptor) []MetricDescriptorMetricKindEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []MetricDescriptorMetricKindEnum{}
- }
-
- if len(a) == 0 {
- return []MetricDescriptorMetricKindEnum{}
- }
-
- items := make([]MetricDescriptorMetricKindEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenMetricDescriptorMetricKindEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenMetricDescriptorMetricKindEnum asserts that an interface is a string, and returns a
-// pointer to a *MetricDescriptorMetricKindEnum with the same value as that string.
-func flattenMetricDescriptorMetricKindEnum(i interface{}) *MetricDescriptorMetricKindEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return MetricDescriptorMetricKindEnumRef(s)
-}
-
-// flattenMetricDescriptorValueTypeEnumMap flattens the contents of MetricDescriptorValueTypeEnum from a JSON
-// response object.
-func flattenMetricDescriptorValueTypeEnumMap(c *Client, i interface{}, res *MetricDescriptor) map[string]MetricDescriptorValueTypeEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]MetricDescriptorValueTypeEnum{}
- }
-
- if len(a) == 0 {
- return map[string]MetricDescriptorValueTypeEnum{}
- }
-
- items := make(map[string]MetricDescriptorValueTypeEnum)
- for k, item := range a {
- items[k] = *flattenMetricDescriptorValueTypeEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenMetricDescriptorValueTypeEnumSlice flattens the contents of MetricDescriptorValueTypeEnum from a JSON
-// response object.
-func flattenMetricDescriptorValueTypeEnumSlice(c *Client, i interface{}, res *MetricDescriptor) []MetricDescriptorValueTypeEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []MetricDescriptorValueTypeEnum{}
- }
-
- if len(a) == 0 {
- return []MetricDescriptorValueTypeEnum{}
- }
-
- items := make([]MetricDescriptorValueTypeEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenMetricDescriptorValueTypeEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenMetricDescriptorValueTypeEnum asserts that an interface is a string, and returns a
-// pointer to a *MetricDescriptorValueTypeEnum with the same value as that string.
-func flattenMetricDescriptorValueTypeEnum(i interface{}) *MetricDescriptorValueTypeEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return MetricDescriptorValueTypeEnumRef(s)
-}
-
-// flattenMetricDescriptorMetadataLaunchStageEnumMap flattens the contents of MetricDescriptorMetadataLaunchStageEnum from a JSON
-// response object.
-func flattenMetricDescriptorMetadataLaunchStageEnumMap(c *Client, i interface{}, res *MetricDescriptor) map[string]MetricDescriptorMetadataLaunchStageEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]MetricDescriptorMetadataLaunchStageEnum{}
- }
-
- if len(a) == 0 {
- return map[string]MetricDescriptorMetadataLaunchStageEnum{}
- }
-
- items := make(map[string]MetricDescriptorMetadataLaunchStageEnum)
- for k, item := range a {
- items[k] = *flattenMetricDescriptorMetadataLaunchStageEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenMetricDescriptorMetadataLaunchStageEnumSlice flattens the contents of MetricDescriptorMetadataLaunchStageEnum from a JSON
-// response object.
-func flattenMetricDescriptorMetadataLaunchStageEnumSlice(c *Client, i interface{}, res *MetricDescriptor) []MetricDescriptorMetadataLaunchStageEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []MetricDescriptorMetadataLaunchStageEnum{}
- }
-
- if len(a) == 0 {
- return []MetricDescriptorMetadataLaunchStageEnum{}
- }
-
- items := make([]MetricDescriptorMetadataLaunchStageEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenMetricDescriptorMetadataLaunchStageEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenMetricDescriptorMetadataLaunchStageEnum asserts that an interface is a string, and returns a
-// pointer to a *MetricDescriptorMetadataLaunchStageEnum with the same value as that string.
-func flattenMetricDescriptorMetadataLaunchStageEnum(i interface{}) *MetricDescriptorMetadataLaunchStageEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return MetricDescriptorMetadataLaunchStageEnumRef(s)
-}
-
-// flattenMetricDescriptorLaunchStageEnumMap flattens the contents of MetricDescriptorLaunchStageEnum from a JSON
-// response object.
-func flattenMetricDescriptorLaunchStageEnumMap(c *Client, i interface{}, res *MetricDescriptor) map[string]MetricDescriptorLaunchStageEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]MetricDescriptorLaunchStageEnum{}
- }
-
- if len(a) == 0 {
- return map[string]MetricDescriptorLaunchStageEnum{}
- }
-
- items := make(map[string]MetricDescriptorLaunchStageEnum)
- for k, item := range a {
- items[k] = *flattenMetricDescriptorLaunchStageEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenMetricDescriptorLaunchStageEnumSlice flattens the contents of MetricDescriptorLaunchStageEnum from a JSON
-// response object.
-func flattenMetricDescriptorLaunchStageEnumSlice(c *Client, i interface{}, res *MetricDescriptor) []MetricDescriptorLaunchStageEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []MetricDescriptorLaunchStageEnum{}
- }
-
- if len(a) == 0 {
- return []MetricDescriptorLaunchStageEnum{}
- }
-
- items := make([]MetricDescriptorLaunchStageEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenMetricDescriptorLaunchStageEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenMetricDescriptorLaunchStageEnum asserts that an interface is a string, and returns a
-// pointer to a *MetricDescriptorLaunchStageEnum with the same value as that string.
-func flattenMetricDescriptorLaunchStageEnum(i interface{}) *MetricDescriptorLaunchStageEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return MetricDescriptorLaunchStageEnumRef(s)
-}
-
-// This function returns a matcher that checks whether a serialized resource matches this resource
-// in its parameters (as defined by the fields in a Get, which definitionally define resource
-// identity). This is useful in extracting the element from a List call.
-func (r *MetricDescriptor) matcher(c *Client) func([]byte) bool {
- return func(b []byte) bool {
- cr, err := unmarshalMetricDescriptor(b, c, r)
- if err != nil {
- c.Config.Logger.Warning("failed to unmarshal provided resource in matcher.")
- return false
- }
- nr := r.urlNormalized()
- ncr := cr.urlNormalized()
- c.Config.Logger.Infof("looking for %v\nin %v", nr, ncr)
-
- if nr.Project == nil && ncr.Project == nil {
- c.Config.Logger.Info("Both Project fields null - considering equal.")
- } else if nr.Project == nil || ncr.Project == nil {
- c.Config.Logger.Info("Only one Project field is null - considering unequal.")
- return false
- } else if *nr.Project != *ncr.Project {
- return false
- }
- if nr.Type == nil && ncr.Type == nil {
- c.Config.Logger.Info("Both Type fields null - considering equal.")
- } else if nr.Type == nil || ncr.Type == nil {
- c.Config.Logger.Info("Only one Type field is null - considering unequal.")
- return false
- } else if *nr.Type != *ncr.Type {
- return false
- }
- return true
- }
-}
-
-type metricDescriptorDiff struct {
- // The diff should include one or the other of RequiresRecreate or UpdateOp.
- RequiresRecreate bool
- UpdateOp metricDescriptorApiOperation
- FieldName string // used for error logging
-}
-
-func convertFieldDiffsToMetricDescriptorDiffs(config *dcl.Config, fds []*dcl.FieldDiff, opts []dcl.ApplyOption) ([]metricDescriptorDiff, error) {
- opNamesToFieldDiffs := make(map[string][]*dcl.FieldDiff)
- // Map each operation name to the field diffs associated with it.
- for _, fd := range fds {
- for _, ro := range fd.ResultingOperation {
- if fieldDiffs, ok := opNamesToFieldDiffs[ro]; ok {
- fieldDiffs = append(fieldDiffs, fd)
- opNamesToFieldDiffs[ro] = fieldDiffs
- } else {
- config.Logger.Infof("%s required due to diff: %v", ro, fd)
- opNamesToFieldDiffs[ro] = []*dcl.FieldDiff{fd}
- }
- }
- }
- var diffs []metricDescriptorDiff
- // For each operation name, create a metricDescriptorDiff which contains the operation.
- for opName, fieldDiffs := range opNamesToFieldDiffs {
- // Use the first field diff's field name for logging required recreate error.
- diff := metricDescriptorDiff{FieldName: fieldDiffs[0].FieldName}
- if opName == "Recreate" {
- diff.RequiresRecreate = true
- } else {
- apiOp, err := convertOpNameToMetricDescriptorApiOperation(opName, fieldDiffs, opts...)
- if err != nil {
- return diffs, err
- }
- diff.UpdateOp = apiOp
- }
- diffs = append(diffs, diff)
- }
- return diffs, nil
-}
-
-func convertOpNameToMetricDescriptorApiOperation(opName string, fieldDiffs []*dcl.FieldDiff, opts ...dcl.ApplyOption) (metricDescriptorApiOperation, error) {
- switch opName {
-
- default:
- return nil, fmt.Errorf("no such operation with name: %v", opName)
- }
-}
-
-func extractMetricDescriptorFields(r *MetricDescriptor) error {
- vMetadata := r.Metadata
- if vMetadata == nil {
- // note: explicitly not the empty object.
- vMetadata = &MetricDescriptorMetadata{}
- }
- if err := extractMetricDescriptorMetadataFields(r, vMetadata); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vMetadata) {
- r.Metadata = vMetadata
- }
- return nil
-}
-func extractMetricDescriptorLabelsFields(r *MetricDescriptor, o *MetricDescriptorLabels) error {
- return nil
-}
-func extractMetricDescriptorMetadataFields(r *MetricDescriptor, o *MetricDescriptorMetadata) error {
- return nil
-}
-
-func postReadExtractMetricDescriptorFields(r *MetricDescriptor) error {
- vMetadata := r.Metadata
- if vMetadata == nil {
- // note: explicitly not the empty object.
- vMetadata = &MetricDescriptorMetadata{}
- }
- if err := postReadExtractMetricDescriptorMetadataFields(r, vMetadata); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vMetadata) {
- r.Metadata = vMetadata
- }
- return nil
-}
-func postReadExtractMetricDescriptorLabelsFields(r *MetricDescriptor, o *MetricDescriptorLabels) error {
- return nil
-}
-func postReadExtractMetricDescriptorMetadataFields(r *MetricDescriptor, o *MetricDescriptorMetadata) error {
- return nil
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/metric_descriptor_schema.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/metric_descriptor_schema.go
deleted file mode 100644
index a7db77571e..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/metric_descriptor_schema.go
+++ /dev/null
@@ -1,283 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 monitoring
-
-import (
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-func DCLMetricDescriptorSchema() *dcl.Schema {
- return &dcl.Schema{
- Info: &dcl.Info{
- Title: "Monitoring/MetricDescriptor",
- Description: "The Monitoring MetricDescriptor resource",
- StructName: "MetricDescriptor",
- },
- Paths: &dcl.Paths{
- Get: &dcl.Path{
- Description: "The function used to get information about a MetricDescriptor",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "metricDescriptor",
- Required: true,
- Description: "A full instance of a MetricDescriptor",
- },
- },
- },
- Apply: &dcl.Path{
- Description: "The function used to apply information about a MetricDescriptor",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "metricDescriptor",
- Required: true,
- Description: "A full instance of a MetricDescriptor",
- },
- },
- },
- Delete: &dcl.Path{
- Description: "The function used to delete a MetricDescriptor",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "metricDescriptor",
- Required: true,
- Description: "A full instance of a MetricDescriptor",
- },
- },
- },
- DeleteAll: &dcl.Path{
- Description: "The function used to delete all MetricDescriptor",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "project",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- },
- },
- List: &dcl.Path{
- Description: "The function used to list information about many MetricDescriptor",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "project",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- },
- },
- },
- Components: &dcl.Components{
- Schemas: map[string]*dcl.Component{
- "MetricDescriptor": &dcl.Component{
- Title: "MetricDescriptor",
- ID: "projects/{{project}}/metricDescriptors/{{type}}",
- UsesStateHint: true,
- ParentContainer: "project",
- HasCreate: true,
- SchemaProperty: dcl.Property{
- Type: "object",
- Required: []string{
- "type",
- "metricKind",
- "valueType",
- "project",
- },
- Properties: map[string]*dcl.Property{
- "description": &dcl.Property{
- Type: "string",
- GoName: "Description",
- Description: "A detailed description of the metric, which can be used in documentation.",
- Immutable: true,
- },
- "displayName": &dcl.Property{
- Type: "string",
- GoName: "DisplayName",
- Description: "A concise name for the metric, which can be displayed in user interfaces. Use sentence case without an ending period, for example \"Request count\". This field is optional but it is recommended to be set for any metrics associated with user-visible concepts, such as Quota.",
- Immutable: true,
- },
- "labels": &dcl.Property{
- Type: "array",
- GoName: "Labels",
- Description: "The set of labels that can be used to describe a specific instance of this metric type. For example, the `appengine.googleapis.com/http/server/response_latencies` metric type has a label for the HTTP response code, `response_code`, so you can look at latencies for successful responses or just for responses that failed.",
- Immutable: true,
- SendEmpty: true,
- ListType: "set",
- Items: &dcl.Property{
- Type: "object",
- GoType: "MetricDescriptorLabels",
- Properties: map[string]*dcl.Property{
- "description": &dcl.Property{
- Type: "string",
- GoName: "Description",
- Description: "A human-readable description for the label.",
- Immutable: true,
- },
- "key": &dcl.Property{
- Type: "string",
- GoName: "Key",
- Description: "The key for this label. The key must meet the following criteria: * Does not exceed 100 characters. * Matches the following regular expression: `a-zA-Z*` * The first character must be an upper- or lower-case letter. * The remaining characters must be letters, digits, or underscores.",
- Immutable: true,
- },
- "valueType": &dcl.Property{
- Type: "string",
- GoName: "ValueType",
- GoType: "MetricDescriptorLabelsValueTypeEnum",
- Description: "The type of data that can be assigned to the label. Possible values: STRING, BOOL, INT64",
- Immutable: true,
- Enum: []string{
- "STRING",
- "BOOL",
- "INT64",
- },
- },
- },
- },
- },
- "launchStage": &dcl.Property{
- Type: "string",
- GoName: "LaunchStage",
- GoType: "MetricDescriptorLaunchStageEnum",
- Description: "Optional. The launch stage of the metric definition. Possible values: LAUNCH_STAGE_UNSPECIFIED, UNIMPLEMENTED, PRELAUNCH, EARLY_ACCESS, ALPHA, BETA, GA, DEPRECATED",
- Immutable: true,
- Enum: []string{
- "LAUNCH_STAGE_UNSPECIFIED",
- "UNIMPLEMENTED",
- "PRELAUNCH",
- "EARLY_ACCESS",
- "ALPHA",
- "BETA",
- "GA",
- "DEPRECATED",
- },
- Unreadable: true,
- },
- "metadata": &dcl.Property{
- Type: "object",
- GoName: "Metadata",
- GoType: "MetricDescriptorMetadata",
- Description: "Optional. Metadata which can be used to guide usage of the metric.",
- Immutable: true,
- Unreadable: true,
- Properties: map[string]*dcl.Property{
- "ingestDelay": &dcl.Property{
- Type: "string",
- GoName: "IngestDelay",
- Description: "The delay of data points caused by ingestion. Data points older than this age are guaranteed to be ingested and available to be read, excluding data loss due to errors.",
- Immutable: true,
- },
- "launchStage": &dcl.Property{
- Type: "string",
- GoName: "LaunchStage",
- GoType: "MetricDescriptorMetadataLaunchStageEnum",
- Description: "Deprecated. Must use the MetricDescriptor.launch_stage instead. Possible values: LAUNCH_STAGE_UNSPECIFIED, UNIMPLEMENTED, PRELAUNCH, EARLY_ACCESS, ALPHA, BETA, GA, DEPRECATED",
- Immutable: true,
- Enum: []string{
- "LAUNCH_STAGE_UNSPECIFIED",
- "UNIMPLEMENTED",
- "PRELAUNCH",
- "EARLY_ACCESS",
- "ALPHA",
- "BETA",
- "GA",
- "DEPRECATED",
- },
- },
- "samplePeriod": &dcl.Property{
- Type: "string",
- GoName: "SamplePeriod",
- Description: "The sampling period of metric data points. For metrics which are written periodically, consecutive data points are stored at this time interval, excluding data loss due to errors. Metrics with a higher granularity have a smaller sampling period.",
- Immutable: true,
- },
- },
- },
- "metricKind": &dcl.Property{
- Type: "string",
- GoName: "MetricKind",
- GoType: "MetricDescriptorMetricKindEnum",
- Description: "Whether the metric records instantaneous values, changes to a value, etc. Some combinations of `metric_kind` and `value_type` might not be supported. Possible values: METRIC_KIND_UNSPECIFIED, GAUGE, DELTA, CUMULATIVE",
- Immutable: true,
- Enum: []string{
- "METRIC_KIND_UNSPECIFIED",
- "GAUGE",
- "DELTA",
- "CUMULATIVE",
- },
- },
- "monitoredResourceTypes": &dcl.Property{
- Type: "array",
- GoName: "MonitoredResourceTypes",
- ReadOnly: true,
- Description: "Read-only. If present, then a time series, which is identified partially by a metric type and a MonitoredResourceDescriptor, that is associated with this metric type can only be associated with one of the monitored resource types listed here.",
- Immutable: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "project": &dcl.Property{
- Type: "string",
- GoName: "Project",
- Description: "The project for the resource",
- Immutable: true,
- ResourceReferences: []*dcl.PropertyResourceReference{
- &dcl.PropertyResourceReference{
- Resource: "Cloudresourcemanager/Project",
- Field: "name",
- Parent: true,
- },
- },
- },
- "selfLink": &dcl.Property{
- Type: "string",
- GoName: "SelfLink",
- ReadOnly: true,
- Description: "The resource name of the metric descriptor.",
- Immutable: true,
- },
- "type": &dcl.Property{
- Type: "string",
- GoName: "Type",
- Description: "The metric type, including its DNS name prefix. The type is not URL-encoded. All user-defined metric types have the DNS name `custom.googleapis.com` or `external.googleapis.com`. Metric types should use a natural hierarchical grouping. For example: \"custom.googleapis.com/invoice/paid/amount\" \"external.googleapis.com/prometheus/up\" \"appengine.googleapis.com/http/server/response_latencies\"",
- Immutable: true,
- ForwardSlashAllowed: true,
- },
- "unit": &dcl.Property{
- Type: "string",
- GoName: "Unit",
- Description: "The units in which the metric value is reported. It is only applicable if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit` defines the representation of the stored metric values. Different systems might scale the values to be more easily displayed (so a value of `0.02kBy` _might_ be displayed as `20By`, and a value of `3523kBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is `kBy`, then the value of the metric is always in thousands of bytes, no matter how it might be displayed. If you want a custom metric to record the exact number of CPU-seconds used by a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is `s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005 CPU-seconds, then the value is written as `12005`. Alternatively, if you want a custom metric to record data in a more granular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is `ks{CPU}`, and then write the value `12.005` (which is `12005/1000`), or use `Kis{CPU}` and write `11.723` (which is `12005/1024`). The supported units are a subset of [The Unified Code for Units of Measure](https://unitsofmeasure.org/ucum.html) standard: **Basic units (UNIT)** * `bit` bit * `By` byte * `s` second * `min` minute * `h` hour * `d` day * `1` dimensionless **Prefixes (PREFIX)** * `k` kilo (10^3) * `M` mega (10^6) * `G` giga (10^9) * `T` tera (10^12) * `P` peta (10^15) * `E` exa (10^18) * `Z` zetta (10^21) * `Y` yotta (10^24) * `m` milli (10^-3) * `u` micro (10^-6) * `n` nano (10^-9) * `p` pico (10^-12) * `f` femto (10^-15) * `a` atto (10^-18) * `z` zepto (10^-21) * `y` yocto (10^-24) * `Ki` kibi (2^10) * `Mi` mebi (2^20) * `Gi` gibi (2^30) * `Ti` tebi (2^40) * `Pi` pebi (2^50) **Grammar** The grammar also includes these connectors: * `/` division or ratio (as an infix operator). For examples, `kBy/{email}` or `MiBy/10ms` (although you should almost never have `/s` in a metric `unit`; rates should always be computed at query time from the underlying cumulative or delta value). * `.` multiplication or composition (as an infix operator). For examples, `GBy.d` or `k{watt}.h`. The grammar for a unit is as follows: Expression = Component: { \".\" Component } { \"/\" Component } ; Component = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation ] | Annotation | \"1\" ; Annotation = \"{\" NAME \"}\" ; Notes: * `Annotation` is just a comment if it follows a `UNIT`. If the annotation is used alone, then the unit is equivalent to `1`. For examples, `{request}/s == 1/s`, `By{transmitted}/s == By/s`. * `NAME` is a sequence of non-blank printable ASCII characters not containing `{` or `}`. * `1` represents a unitary [dimensionless unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such as in `1/s`. It is typically used when none of the basic units are appropriate. For example, \"new users per day\" can be represented as `1/d` or `{new-users}/d` (and a metric value `5` would mean \"5 new users). Alternatively, \"thousands of page views per day\" would be represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric value of `5.3` would mean \"5300 page views per day\"). * `%` represents dimensionless value of 1/100, and annotates values giving a percentage (so the metric values are typically in the range of 0..100, and a metric value `3` means \"3 percent\"). * `10^2.%` indicates a metric contains a ratio, typically in the range 0..1, that will be multiplied by 100 and displayed as a percentage (so a metric value `0.03` means \"3 percent\").",
- Immutable: true,
- },
- "valueType": &dcl.Property{
- Type: "string",
- GoName: "ValueType",
- GoType: "MetricDescriptorValueTypeEnum",
- Description: "Whether the measurement is an integer, a floating-point number, etc. Some combinations of `metric_kind` and `value_type` might not be supported. Possible values: STRING, BOOL, INT64",
- Immutable: true,
- Enum: []string{
- "STRING",
- "BOOL",
- "INT64",
- },
- },
- },
- },
- },
- },
- },
- }
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/metric_descriptor_yaml_embed.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/metric_descriptor_yaml_embed.go
deleted file mode 100644
index 7a36d5092a..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/metric_descriptor_yaml_embed.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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.
-// GENERATED BY gen_go_data.go
-// gen_go_data -package monitoring -var YAML_metric_descriptor blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/monitoring/metric_descriptor.yaml
-
-package monitoring
-
-// blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/monitoring/metric_descriptor.yaml
-var YAML_metric_descriptor = []byte("info:\n title: Monitoring/MetricDescriptor\n description: The Monitoring MetricDescriptor resource\n x-dcl-struct-name: MetricDescriptor\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a MetricDescriptor\n parameters:\n - name: metricDescriptor\n required: true\n description: A full instance of a MetricDescriptor\n apply:\n description: The function used to apply information about a MetricDescriptor\n parameters:\n - name: metricDescriptor\n required: true\n description: A full instance of a MetricDescriptor\n delete:\n description: The function used to delete a MetricDescriptor\n parameters:\n - name: metricDescriptor\n required: true\n description: A full instance of a MetricDescriptor\n deleteAll:\n description: The function used to delete all MetricDescriptor\n parameters:\n - name: project\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many MetricDescriptor\n parameters:\n - name: project\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n MetricDescriptor:\n title: MetricDescriptor\n x-dcl-id: projects/{{project}}/metricDescriptors/{{type}}\n x-dcl-uses-state-hint: true\n x-dcl-parent-container: project\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - type\n - metricKind\n - valueType\n - project\n properties:\n description:\n type: string\n x-dcl-go-name: Description\n description: A detailed description of the metric, which can be used in\n documentation.\n x-kubernetes-immutable: true\n displayName:\n type: string\n x-dcl-go-name: DisplayName\n description: A concise name for the metric, which can be displayed in user\n interfaces. Use sentence case without an ending period, for example \"Request\n count\". This field is optional but it is recommended to be set for any\n metrics associated with user-visible concepts, such as Quota.\n x-kubernetes-immutable: true\n labels:\n type: array\n x-dcl-go-name: Labels\n description: The set of labels that can be used to describe a specific instance\n of this metric type. For example, the `appengine.googleapis.com/http/server/response_latencies`\n metric type has a label for the HTTP response code, `response_code`, so\n you can look at latencies for successful responses or just for responses\n that failed.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: set\n items:\n type: object\n x-dcl-go-type: MetricDescriptorLabels\n properties:\n description:\n type: string\n x-dcl-go-name: Description\n description: A human-readable description for the label.\n x-kubernetes-immutable: true\n key:\n type: string\n x-dcl-go-name: Key\n description: 'The key for this label. The key must meet the following\n criteria: * Does not exceed 100 characters. * Matches the following\n regular expression: `a-zA-Z*` * The first character must be an upper-\n or lower-case letter. * The remaining characters must be letters,\n digits, or underscores.'\n x-kubernetes-immutable: true\n valueType:\n type: string\n x-dcl-go-name: ValueType\n x-dcl-go-type: MetricDescriptorLabelsValueTypeEnum\n description: 'The type of data that can be assigned to the label.\n Possible values: STRING, BOOL, INT64'\n x-kubernetes-immutable: true\n enum:\n - STRING\n - BOOL\n - INT64\n launchStage:\n type: string\n x-dcl-go-name: LaunchStage\n x-dcl-go-type: MetricDescriptorLaunchStageEnum\n description: 'Optional. The launch stage of the metric definition. Possible\n values: LAUNCH_STAGE_UNSPECIFIED, UNIMPLEMENTED, PRELAUNCH, EARLY_ACCESS,\n ALPHA, BETA, GA, DEPRECATED'\n x-kubernetes-immutable: true\n enum:\n - LAUNCH_STAGE_UNSPECIFIED\n - UNIMPLEMENTED\n - PRELAUNCH\n - EARLY_ACCESS\n - ALPHA\n - BETA\n - GA\n - DEPRECATED\n x-dcl-mutable-unreadable: true\n metadata:\n type: object\n x-dcl-go-name: Metadata\n x-dcl-go-type: MetricDescriptorMetadata\n description: Optional. Metadata which can be used to guide usage of the\n metric.\n x-kubernetes-immutable: true\n x-dcl-mutable-unreadable: true\n properties:\n ingestDelay:\n type: string\n x-dcl-go-name: IngestDelay\n description: The delay of data points caused by ingestion. Data points\n older than this age are guaranteed to be ingested and available to\n be read, excluding data loss due to errors.\n x-kubernetes-immutable: true\n launchStage:\n type: string\n x-dcl-go-name: LaunchStage\n x-dcl-go-type: MetricDescriptorMetadataLaunchStageEnum\n description: 'Deprecated. Must use the MetricDescriptor.launch_stage\n instead. Possible values: LAUNCH_STAGE_UNSPECIFIED, UNIMPLEMENTED,\n PRELAUNCH, EARLY_ACCESS, ALPHA, BETA, GA, DEPRECATED'\n x-kubernetes-immutable: true\n enum:\n - LAUNCH_STAGE_UNSPECIFIED\n - UNIMPLEMENTED\n - PRELAUNCH\n - EARLY_ACCESS\n - ALPHA\n - BETA\n - GA\n - DEPRECATED\n samplePeriod:\n type: string\n x-dcl-go-name: SamplePeriod\n description: The sampling period of metric data points. For metrics\n which are written periodically, consecutive data points are stored\n at this time interval, excluding data loss due to errors. Metrics\n with a higher granularity have a smaller sampling period.\n x-kubernetes-immutable: true\n metricKind:\n type: string\n x-dcl-go-name: MetricKind\n x-dcl-go-type: MetricDescriptorMetricKindEnum\n description: 'Whether the metric records instantaneous values, changes to\n a value, etc. Some combinations of `metric_kind` and `value_type` might\n not be supported. Possible values: METRIC_KIND_UNSPECIFIED, GAUGE, DELTA,\n CUMULATIVE'\n x-kubernetes-immutable: true\n enum:\n - METRIC_KIND_UNSPECIFIED\n - GAUGE\n - DELTA\n - CUMULATIVE\n monitoredResourceTypes:\n type: array\n x-dcl-go-name: MonitoredResourceTypes\n readOnly: true\n description: Read-only. If present, then a time series, which is identified\n partially by a metric type and a MonitoredResourceDescriptor, that is\n associated with this metric type can only be associated with one of the\n monitored resource types listed here.\n x-kubernetes-immutable: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n project:\n type: string\n x-dcl-go-name: Project\n description: The project for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n selfLink:\n type: string\n x-dcl-go-name: SelfLink\n readOnly: true\n description: The resource name of the metric descriptor.\n x-kubernetes-immutable: true\n type:\n type: string\n x-dcl-go-name: Type\n description: 'The metric type, including its DNS name prefix. The type is\n not URL-encoded. All user-defined metric types have the DNS name `custom.googleapis.com`\n or `external.googleapis.com`. Metric types should use a natural hierarchical\n grouping. For example: \"custom.googleapis.com/invoice/paid/amount\" \"external.googleapis.com/prometheus/up\"\n \"appengine.googleapis.com/http/server/response_latencies\"'\n x-kubernetes-immutable: true\n x-dcl-forward-slash-allowed: true\n unit:\n type: string\n x-dcl-go-name: Unit\n description: 'The units in which the metric value is reported. It is only\n applicable if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`.\n The `unit` defines the representation of the stored metric values. Different\n systems might scale the values to be more easily displayed (so a value\n of `0.02kBy` _might_ be displayed as `20By`, and a value of `3523kBy`\n _might_ be displayed as `3.5MBy`). However, if the `unit` is `kBy`, then\n the value of the metric is always in thousands of bytes, no matter how\n it might be displayed. If you want a custom metric to record the exact\n number of CPU-seconds used by a job, you can create an `INT64 CUMULATIVE`\n metric whose `unit` is `s{CPU}` (or equivalently `1s{CPU}` or just `s`).\n If the job uses 12,005 CPU-seconds, then the value is written as `12005`.\n Alternatively, if you want a custom metric to record data in a more granular\n way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is `ks{CPU}`,\n and then write the value `12.005` (which is `12005/1000`), or use `Kis{CPU}`\n and write `11.723` (which is `12005/1024`). The supported units are a\n subset of [The Unified Code for Units of Measure](https://unitsofmeasure.org/ucum.html)\n standard: **Basic units (UNIT)** * `bit` bit * `By` byte * `s` second\n * `min` minute * `h` hour * `d` day * `1` dimensionless **Prefixes (PREFIX)**\n * `k` kilo (10^3) * `M` mega (10^6) * `G` giga (10^9) * `T` tera (10^12)\n * `P` peta (10^15) * `E` exa (10^18) * `Z` zetta (10^21) * `Y` yotta (10^24)\n * `m` milli (10^-3) * `u` micro (10^-6) * `n` nano (10^-9) * `p` pico\n (10^-12) * `f` femto (10^-15) * `a` atto (10^-18) * `z` zepto (10^-21)\n * `y` yocto (10^-24) * `Ki` kibi (2^10) * `Mi` mebi (2^20) * `Gi` gibi\n (2^30) * `Ti` tebi (2^40) * `Pi` pebi (2^50) **Grammar** The grammar also\n includes these connectors: * `/` division or ratio (as an infix operator).\n For examples, `kBy/{email}` or `MiBy/10ms` (although you should almost\n never have `/s` in a metric `unit`; rates should always be computed at\n query time from the underlying cumulative or delta value). * `.` multiplication\n or composition (as an infix operator). For examples, `GBy.d` or `k{watt}.h`.\n The grammar for a unit is as follows: Expression = Component: { \".\" Component\n } { \"/\" Component } ; Component = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation\n ] | Annotation | \"1\" ; Annotation = \"{\" NAME \"}\" ; Notes: * `Annotation`\n is just a comment if it follows a `UNIT`. If the annotation is used alone,\n then the unit is equivalent to `1`. For examples, `{request}/s == 1/s`,\n `By{transmitted}/s == By/s`. * `NAME` is a sequence of non-blank printable\n ASCII characters not containing `{` or `}`. * `1` represents a unitary\n [dimensionless unit](https://en.wikipedia.org/wiki/Dimensionless_quantity)\n of 1, such as in `1/s`. It is typically used when none of the basic units\n are appropriate. For example, \"new users per day\" can be represented as\n `1/d` or `{new-users}/d` (and a metric value `5` would mean \"5 new users).\n Alternatively, \"thousands of page views per day\" would be represented\n as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric value of `5.3`\n would mean \"5300 page views per day\"). * `%` represents dimensionless\n value of 1/100, and annotates values giving a percentage (so the metric\n values are typically in the range of 0..100, and a metric value `3` means\n \"3 percent\"). * `10^2.%` indicates a metric contains a ratio, typically\n in the range 0..1, that will be multiplied by 100 and displayed as a percentage\n (so a metric value `0.03` means \"3 percent\").'\n x-kubernetes-immutable: true\n valueType:\n type: string\n x-dcl-go-name: ValueType\n x-dcl-go-type: MetricDescriptorValueTypeEnum\n description: 'Whether the measurement is an integer, a floating-point number,\n etc. Some combinations of `metric_kind` and `value_type` might not be\n supported. Possible values: STRING, BOOL, INT64'\n x-kubernetes-immutable: true\n enum:\n - STRING\n - BOOL\n - INT64\n")
-
-// 13522 bytes
-// MD5: 1a7798838aef4d4e6f10d0dca7ade10e
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/metrics_scope.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/metrics_scope.go
deleted file mode 100644
index 951ad1f53c..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/metrics_scope.go
+++ /dev/null
@@ -1,292 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 monitoring
-
-import (
- "context"
- "crypto/sha256"
- "encoding/json"
- "fmt"
- "time"
-
- "google.golang.org/api/googleapi"
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-type MetricsScope struct {
- Name *string `json:"name"`
- CreateTime *string `json:"createTime"`
- UpdateTime *string `json:"updateTime"`
- MonitoredProjects []MetricsScopeMonitoredProjects `json:"monitoredProjects"`
-}
-
-func (r *MetricsScope) String() string {
- return dcl.SprintResource(r)
-}
-
-type MetricsScopeMonitoredProjects struct {
- empty bool `json:"-"`
- Name *string `json:"name"`
- CreateTime *string `json:"createTime"`
-}
-
-type jsonMetricsScopeMonitoredProjects MetricsScopeMonitoredProjects
-
-func (r *MetricsScopeMonitoredProjects) UnmarshalJSON(data []byte) error {
- var res jsonMetricsScopeMonitoredProjects
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyMetricsScopeMonitoredProjects
- } else {
-
- r.Name = res.Name
-
- r.CreateTime = res.CreateTime
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this MetricsScopeMonitoredProjects is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyMetricsScopeMonitoredProjects *MetricsScopeMonitoredProjects = &MetricsScopeMonitoredProjects{empty: true}
-
-func (r *MetricsScopeMonitoredProjects) Empty() bool {
- return r.empty
-}
-
-func (r *MetricsScopeMonitoredProjects) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *MetricsScopeMonitoredProjects) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-// Describe returns a simple description of this resource to ensure that automated tools
-// can identify it.
-func (r *MetricsScope) Describe() dcl.ServiceTypeVersion {
- return dcl.ServiceTypeVersion{
- Service: "monitoring",
- Type: "MetricsScope",
- Version: "monitoring",
- }
-}
-
-func (r *MetricsScope) ID() (string, error) {
- if err := extractMetricsScopeFields(r); err != nil {
- return "", err
- }
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "name": dcl.ValueOrEmptyString(nr.Name),
- "create_time": dcl.ValueOrEmptyString(nr.CreateTime),
- "update_time": dcl.ValueOrEmptyString(nr.UpdateTime),
- "monitored_projects": dcl.ValueOrEmptyString(nr.MonitoredProjects),
- }
- return dcl.Nprintf("locations/global/metricsScopes/{{name}}", params), nil
-}
-
-const MetricsScopeMaxPage = -1
-
-type MetricsScopeList struct {
- Items []*MetricsScope
-
- nextToken string
-
- resource *MetricsScope
-}
-
-func (c *Client) GetMetricsScope(ctx context.Context, r *MetricsScope) (*MetricsScope, error) {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- // This is *purposefully* supressing errors.
- // This function is used with url-normalized values + not URL normalized values.
- // URL Normalized values will throw unintentional errors, since those values are not of the proper parent form.
- extractMetricsScopeFields(r)
-
- b, err := c.getMetricsScopeRaw(ctx, r)
- if err != nil {
- if dcl.IsNotFound(err) {
- return nil, &googleapi.Error{
- Code: 404,
- Message: err.Error(),
- }
- }
- return nil, err
- }
- result, err := unmarshalMetricsScope(b, c, r)
- if err != nil {
- return nil, err
- }
- result.Name = r.Name
-
- c.Config.Logger.InfoWithContextf(ctx, "Retrieved raw result state: %v", result)
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalizing with specified state: %v", r)
- result, err = canonicalizeMetricsScopeNewState(c, result, r)
- if err != nil {
- return nil, err
- }
- if err := postReadExtractMetricsScopeFields(result); err != nil {
- return result, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Created result state: %v", result)
-
- return result, nil
-}
-
-func (c *Client) ApplyMetricsScope(ctx context.Context, rawDesired *MetricsScope, opts ...dcl.ApplyOption) (*MetricsScope, error) {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- ctx = dcl.ContextWithRequestID(ctx)
- var resultNewState *MetricsScope
- err := dcl.Do(ctx, func(ctx context.Context) (*dcl.RetryDetails, error) {
- newState, err := applyMetricsScopeHelper(c, ctx, rawDesired, opts...)
- resultNewState = newState
- if err != nil {
- // If the error is 409, there is conflict in resource update.
- // Here we want to apply changes based on latest state.
- if dcl.IsConflictError(err) {
- return &dcl.RetryDetails{}, dcl.OperationNotDone{Err: err}
- }
- return nil, err
- }
- return nil, nil
- }, c.Config.RetryProvider)
- return resultNewState, err
-}
-
-func applyMetricsScopeHelper(c *Client, ctx context.Context, rawDesired *MetricsScope, opts ...dcl.ApplyOption) (*MetricsScope, error) {
- c.Config.Logger.InfoWithContext(ctx, "Beginning ApplyMetricsScope...")
- c.Config.Logger.InfoWithContextf(ctx, "User specified desired state: %v", rawDesired)
-
- // 1.1: Validation of user-specified fields in desired state.
- if err := rawDesired.validate(); err != nil {
- return nil, err
- }
-
- if err := extractMetricsScopeFields(rawDesired); err != nil {
- return nil, err
- }
-
- initial, desired, fieldDiffs, err := c.metricsScopeDiffsForRawDesired(ctx, rawDesired, opts...)
- if err != nil {
- return nil, fmt.Errorf("failed to create a diff: %w", err)
- }
-
- diffs, err := convertFieldDiffsToMetricsScopeDiffs(c.Config, fieldDiffs, opts)
- if err != nil {
- return nil, err
- }
-
- // TODO(magic-modules-eng): 2.2 Feasibility check (all updates are feasible so far).
-
- // 2.3: Lifecycle Directive Check
- lp := dcl.FetchLifecycleParams(opts)
- if initial == nil {
- return nil, dcl.ApplyInfeasibleError{Message: "No initial state found for singleton resource."}
- } else {
- for _, d := range diffs {
- if d.UpdateOp == nil {
- return nil, dcl.ApplyInfeasibleError{
- Message: fmt.Sprintf("infeasible update: (%v) no update method found for field", d),
- }
- }
- if dcl.HasLifecycleParam(lp, dcl.BlockModification) {
- return nil, dcl.ApplyInfeasibleError{Message: fmt.Sprintf("Modification blocked, diff (%v) unresolvable.", d)}
- }
- }
- }
- var ops []metricsScopeApiOperation
- for _, d := range diffs {
- ops = append(ops, d.UpdateOp)
- }
- c.Config.Logger.InfoWithContextf(ctx, "Created plan: %#v", ops)
-
- // 2.5 Request Actuation
- for _, op := range ops {
- c.Config.Logger.InfoWithContextf(ctx, "Performing operation %T %+v", op, op)
- if err := op.do(ctx, desired, c); err != nil {
- c.Config.Logger.InfoWithContextf(ctx, "Failed operation %T %+v: %v", op, op, err)
- return nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Finished operation %T %+v", op, op)
- }
- return applyMetricsScopeDiff(c, ctx, desired, rawDesired, ops, opts...)
-}
-
-func applyMetricsScopeDiff(c *Client, ctx context.Context, desired *MetricsScope, rawDesired *MetricsScope, ops []metricsScopeApiOperation, opts ...dcl.ApplyOption) (*MetricsScope, error) {
- // 3.1, 3.2a Retrieval of raw new state & canonicalization with desired state
- c.Config.Logger.InfoWithContext(ctx, "Retrieving raw new state...")
- rawNew, err := c.GetMetricsScope(ctx, desired)
- if err != nil {
- return nil, err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalizing with raw desired state: %v", rawDesired)
- // 3.2b Canonicalization of raw new state using raw desired state
- newState, err := canonicalizeMetricsScopeNewState(c, rawNew, rawDesired)
- if err != nil {
- return rawNew, err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Created canonical new state: %v", newState)
- // 3.3 Comparison of the new state and raw desired state.
- // TODO(magic-modules-eng): EVENTUALLY_CONSISTENT_UPDATE
- newDesired, err := canonicalizeMetricsScopeDesiredState(rawDesired, newState)
- if err != nil {
- return newState, err
- }
-
- if err := postReadExtractMetricsScopeFields(newState); err != nil {
- return newState, err
- }
-
- // Need to ensure any transformations made here match acceptably in differ.
- if err := postReadExtractMetricsScopeFields(newDesired); err != nil {
- return newState, err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Diffing using canonicalized desired state: %v", newDesired)
- newDiffs, err := diffMetricsScope(c, newDesired, newState)
- if err != nil {
- return newState, err
- }
-
- if len(newDiffs) == 0 {
- c.Config.Logger.InfoWithContext(ctx, "No diffs found. Apply was successful.")
- } else {
- c.Config.Logger.InfoWithContextf(ctx, "Found diffs: %v", newDiffs)
- diffMessages := make([]string, len(newDiffs))
- for i, d := range newDiffs {
- diffMessages[i] = fmt.Sprintf("%v", d)
- }
- return newState, dcl.DiffAfterApplyError{Diffs: diffMessages}
- }
- c.Config.Logger.InfoWithContext(ctx, "Done Apply.")
- return newState, nil
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/metrics_scope.yaml b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/metrics_scope.yaml
deleted file mode 100644
index b153aafd32..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/metrics_scope.yaml
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright 2023 Google LLC. All Rights Reserved.
-#
-# 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.
-info:
- title: Monitoring/MetricsScope
- description: The Monitoring MetricsScope resource
- x-dcl-struct-name: MetricsScope
- x-dcl-has-iam: false
-paths:
- get:
- description: The function used to get information about a MetricsScope
- parameters:
- - name: metricsScope
- required: true
- description: A full instance of a MetricsScope
- apply:
- description: The function used to apply information about a MetricsScope
- parameters:
- - name: metricsScope
- required: true
- description: A full instance of a MetricsScope
-components:
- schemas:
- MetricsScope:
- title: MetricsScope
- x-dcl-id: locations/global/metricsScopes/{{name}}
- x-dcl-locations:
- - global
- x-dcl-has-create: false
- x-dcl-has-iam: false
- x-dcl-read-timeout: 0
- x-dcl-apply-timeout: 0
- x-dcl-delete-timeout: 0
- type: object
- required:
- - name
- properties:
- createTime:
- type: string
- format: date-time
- x-dcl-go-name: CreateTime
- readOnly: true
- description: Output only. The time when this `Metrics Scope` was created.
- x-kubernetes-immutable: true
- monitoredProjects:
- type: array
- x-dcl-go-name: MonitoredProjects
- readOnly: true
- description: Output only. The list of projects monitored by this `Metrics
- Scope`.
- x-kubernetes-immutable: true
- x-dcl-list-type: list
- items:
- type: object
- x-dcl-go-type: MetricsScopeMonitoredProjects
- properties:
- createTime:
- type: string
- format: date-time
- x-dcl-go-name: CreateTime
- readOnly: true
- description: Output only. The time when this `MonitoredProject` was
- created.
- x-kubernetes-immutable: true
- name:
- type: string
- x-dcl-go-name: Name
- description: 'Immutable. The resource name of the `MonitoredProject`.
- On input, the resource name includes the scoping project ID and
- monitored project ID. On output, it contains the equivalent project
- numbers. Example: `locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER}/projects/{MONITORED_PROJECT_ID_OR_NUMBER}`'
- x-kubernetes-immutable: true
- name:
- type: string
- x-dcl-go-name: Name
- description: 'Immutable. The resource name of the Monitoring Metrics Scope.
- On input, the resource name can be specified with the scoping project
- ID or number. On output, the resource name is specified with the scoping
- project number. Example: `locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER}`'
- x-kubernetes-immutable: true
- updateTime:
- type: string
- format: date-time
- x-dcl-go-name: UpdateTime
- readOnly: true
- description: Output only. The time when this `Metrics Scope` record was
- last updated.
- x-kubernetes-immutable: true
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/metrics_scope_internal.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/metrics_scope_internal.go
deleted file mode 100644
index a546e449ad..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/metrics_scope_internal.go
+++ /dev/null
@@ -1,680 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 monitoring
-
-import (
- "bytes"
- "context"
- "encoding/json"
- "fmt"
- "io/ioutil"
-
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-func (r *MetricsScope) validate() error {
-
- if err := dcl.Required(r, "name"); err != nil {
- return err
- }
- return nil
-}
-func (r *MetricsScopeMonitoredProjects) validate() error {
- return nil
-}
-func (r *MetricsScope) basePath() string {
- params := map[string]interface{}{}
- return dcl.Nprintf("https://monitoring.googleapis.com/v1/", params)
-}
-
-func (r *MetricsScope) getURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("locations/global/metricsScopes/{{name}}", nr.basePath(), userBasePath, params), nil
-}
-
-// metricsScopeApiOperation represents a mutable operation in the underlying REST
-// API such as Create, Update, or Delete.
-type metricsScopeApiOperation interface {
- do(context.Context, *MetricsScope, *Client) error
-}
-
-// Create operations are similar to Update operations, although they do not have
-// specific request objects. The Create request object is the json encoding of
-// the resource, which is modified by res.marshal to form the base request body.
-type createMetricsScopeOperation struct {
- response map[string]interface{}
-}
-
-func (op *createMetricsScopeOperation) FirstResponse() (map[string]interface{}, bool) {
- return op.response, len(op.response) > 0
-}
-
-func (c *Client) getMetricsScopeRaw(ctx context.Context, r *MetricsScope) ([]byte, error) {
-
- u, err := r.getURL(c.Config.BasePath)
- if err != nil {
- return nil, err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
- if err != nil {
- return nil, err
- }
- defer resp.Response.Body.Close()
- b, err := ioutil.ReadAll(resp.Response.Body)
- if err != nil {
- return nil, err
- }
-
- return b, nil
-}
-
-func (c *Client) metricsScopeDiffsForRawDesired(ctx context.Context, rawDesired *MetricsScope, opts ...dcl.ApplyOption) (initial, desired *MetricsScope, diffs []*dcl.FieldDiff, err error) {
- c.Config.Logger.InfoWithContext(ctx, "Fetching initial state...")
- // First, let us see if the user provided a state hint. If they did, we will start fetching based on that.
- var fetchState *MetricsScope
- if sh := dcl.FetchStateHint(opts); sh != nil {
- if r, ok := sh.(*MetricsScope); !ok {
- c.Config.Logger.WarningWithContextf(ctx, "Initial state hint was of the wrong type; expected MetricsScope, got %T", sh)
- } else {
- fetchState = r
- }
- }
- if fetchState == nil {
- fetchState = rawDesired
- }
-
- // 1.2: Retrieval of raw initial state from API
- rawInitial, err := c.GetMetricsScope(ctx, fetchState)
- if rawInitial == nil {
- if !dcl.IsNotFound(err) {
- c.Config.Logger.WarningWithContextf(ctx, "Failed to retrieve whether a MetricsScope resource already exists: %s", err)
- return nil, nil, nil, fmt.Errorf("failed to retrieve MetricsScope resource: %v", err)
- }
- c.Config.Logger.InfoWithContext(ctx, "Found that MetricsScope resource did not exist.")
- // Perform canonicalization to pick up defaults.
- desired, err = canonicalizeMetricsScopeDesiredState(rawDesired, rawInitial)
- return nil, desired, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Found initial state for MetricsScope: %v", rawInitial)
- c.Config.Logger.InfoWithContextf(ctx, "Initial desired state for MetricsScope: %v", rawDesired)
-
- // The Get call applies postReadExtract and so the result may contain fields that are not part of API version.
- if err := extractMetricsScopeFields(rawInitial); err != nil {
- return nil, nil, nil, err
- }
-
- // 1.3: Canonicalize raw initial state into initial state.
- initial, err = canonicalizeMetricsScopeInitialState(rawInitial, rawDesired)
- if err != nil {
- return nil, nil, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalized initial state for MetricsScope: %v", initial)
-
- // 1.4: Canonicalize raw desired state into desired state.
- desired, err = canonicalizeMetricsScopeDesiredState(rawDesired, rawInitial, opts...)
- if err != nil {
- return nil, nil, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalized desired state for MetricsScope: %v", desired)
-
- // 2.1: Comparison of initial and desired state.
- diffs, err = diffMetricsScope(c, desired, initial, opts...)
- return initial, desired, diffs, err
-}
-
-func canonicalizeMetricsScopeInitialState(rawInitial, rawDesired *MetricsScope) (*MetricsScope, error) {
- // TODO(magic-modules-eng): write canonicalizer once relevant traits are added.
- return rawInitial, nil
-}
-
-/*
-* Canonicalizers
-*
-* These are responsible for converting either a user-specified config or a
-* GCP API response to a standard format that can be used for difference checking.
-* */
-
-func canonicalizeMetricsScopeDesiredState(rawDesired, rawInitial *MetricsScope, opts ...dcl.ApplyOption) (*MetricsScope, error) {
-
- if rawInitial == nil {
- // Since the initial state is empty, the desired state is all we have.
- // We canonicalize the remaining nested objects with nil to pick up defaults.
-
- return rawDesired, nil
- }
- canonicalDesired := &MetricsScope{}
- if dcl.PartialSelfLinkToSelfLink(rawDesired.Name, rawInitial.Name) {
- canonicalDesired.Name = rawInitial.Name
- } else {
- canonicalDesired.Name = rawDesired.Name
- }
- return canonicalDesired, nil
-}
-
-func canonicalizeMetricsScopeNewState(c *Client, rawNew, rawDesired *MetricsScope) (*MetricsScope, error) {
-
- if dcl.IsEmptyValueIndirect(rawNew.Name) && dcl.IsEmptyValueIndirect(rawDesired.Name) {
- rawNew.Name = rawDesired.Name
- } else {
- if dcl.PartialSelfLinkToSelfLink(rawDesired.Name, rawNew.Name) {
- rawNew.Name = rawDesired.Name
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.CreateTime) && dcl.IsEmptyValueIndirect(rawDesired.CreateTime) {
- rawNew.CreateTime = rawDesired.CreateTime
- } else {
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.UpdateTime) && dcl.IsEmptyValueIndirect(rawDesired.UpdateTime) {
- rawNew.UpdateTime = rawDesired.UpdateTime
- } else {
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.MonitoredProjects) && dcl.IsEmptyValueIndirect(rawDesired.MonitoredProjects) {
- rawNew.MonitoredProjects = rawDesired.MonitoredProjects
- } else {
- rawNew.MonitoredProjects = canonicalizeNewMetricsScopeMonitoredProjectsSlice(c, rawDesired.MonitoredProjects, rawNew.MonitoredProjects)
- }
-
- return rawNew, nil
-}
-
-func canonicalizeMetricsScopeMonitoredProjects(des, initial *MetricsScopeMonitoredProjects, opts ...dcl.ApplyOption) *MetricsScopeMonitoredProjects {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &MetricsScopeMonitoredProjects{}
-
- if dcl.StringCanonicalize(des.Name, initial.Name) || dcl.IsZeroValue(des.Name) {
- cDes.Name = initial.Name
- } else {
- cDes.Name = des.Name
- }
-
- return cDes
-}
-
-func canonicalizeMetricsScopeMonitoredProjectsSlice(des, initial []MetricsScopeMonitoredProjects, opts ...dcl.ApplyOption) []MetricsScopeMonitoredProjects {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]MetricsScopeMonitoredProjects, 0, len(des))
- for _, d := range des {
- cd := canonicalizeMetricsScopeMonitoredProjects(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]MetricsScopeMonitoredProjects, 0, len(des))
- for i, d := range des {
- cd := canonicalizeMetricsScopeMonitoredProjects(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewMetricsScopeMonitoredProjects(c *Client, des, nw *MetricsScopeMonitoredProjects) *MetricsScopeMonitoredProjects {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for MetricsScopeMonitoredProjects while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Name, nw.Name) {
- nw.Name = des.Name
- }
-
- return nw
-}
-
-func canonicalizeNewMetricsScopeMonitoredProjectsSet(c *Client, des, nw []MetricsScopeMonitoredProjects) []MetricsScopeMonitoredProjects {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []MetricsScopeMonitoredProjects
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareMetricsScopeMonitoredProjectsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewMetricsScopeMonitoredProjects(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewMetricsScopeMonitoredProjectsSlice(c *Client, des, nw []MetricsScopeMonitoredProjects) []MetricsScopeMonitoredProjects {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []MetricsScopeMonitoredProjects
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewMetricsScopeMonitoredProjects(c, &d, &n))
- }
-
- return items
-}
-
-// The differ returns a list of diffs, along with a list of operations that should be taken
-// to remedy them. Right now, it does not attempt to consolidate operations - if several
-// fields can be fixed with a patch update, it will perform the patch several times.
-// Diffs on some fields will be ignored if the `desired` state has an empty (nil)
-// value. This empty value indicates that the user does not care about the state for
-// the field. Empty fields on the actual object will cause diffs.
-// TODO(magic-modules-eng): for efficiency in some resources, add batching.
-func diffMetricsScope(c *Client, desired, actual *MetricsScope, opts ...dcl.ApplyOption) ([]*dcl.FieldDiff, error) {
- if desired == nil || actual == nil {
- return nil, fmt.Errorf("nil resource passed to diff - always a programming error: %#v, %#v", desired, actual)
- }
-
- c.Config.Logger.Infof("Diff function called with desired state: %v", desired)
- c.Config.Logger.Infof("Diff function called with actual state: %v", actual)
-
- var fn dcl.FieldName
- var newDiffs []*dcl.FieldDiff
- // New style diffs.
- if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Name")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CreateTime, actual.CreateTime, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("CreateTime")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.UpdateTime, actual.UpdateTime, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("UpdateTime")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.MonitoredProjects, actual.MonitoredProjects, dcl.DiffInfo{OutputOnly: true, ObjectFunction: compareMetricsScopeMonitoredProjectsNewStyle, EmptyObject: EmptyMetricsScopeMonitoredProjects, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MonitoredProjects")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if len(newDiffs) > 0 {
- c.Config.Logger.Infof("Diff function found diffs: %v", newDiffs)
- }
- return newDiffs, nil
-}
-func compareMetricsScopeMonitoredProjectsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*MetricsScopeMonitoredProjects)
- if !ok {
- desiredNotPointer, ok := d.(MetricsScopeMonitoredProjects)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a MetricsScopeMonitoredProjects or *MetricsScopeMonitoredProjects", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*MetricsScopeMonitoredProjects)
- if !ok {
- actualNotPointer, ok := a.(MetricsScopeMonitoredProjects)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a MetricsScopeMonitoredProjects", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Name")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CreateTime, actual.CreateTime, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("CreateTime")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-// urlNormalized returns a copy of the resource struct with values normalized
-// for URL substitutions. For instance, it converts long-form self-links to
-// short-form so they can be substituted in.
-func (r *MetricsScope) urlNormalized() *MetricsScope {
- normalized := dcl.Copy(*r).(MetricsScope)
- normalized.Name = dcl.SelfLinkToName(r.Name)
- return &normalized
-}
-
-func (r *MetricsScope) updateURL(userBasePath, updateName string) (string, error) {
- return "", fmt.Errorf("unknown update name: %s", updateName)
-}
-
-// marshal encodes the MetricsScope resource into JSON for a Create request, and
-// performs transformations from the resource schema to the API schema if
-// necessary.
-func (r *MetricsScope) marshal(c *Client) ([]byte, error) {
- m, err := expandMetricsScope(c, r)
- if err != nil {
- return nil, fmt.Errorf("error marshalling MetricsScope: %w", err)
- }
-
- return json.Marshal(m)
-}
-
-// unmarshalMetricsScope decodes JSON responses into the MetricsScope resource schema.
-func unmarshalMetricsScope(b []byte, c *Client, res *MetricsScope) (*MetricsScope, error) {
- var m map[string]interface{}
- if err := json.Unmarshal(b, &m); err != nil {
- return nil, err
- }
- return unmarshalMapMetricsScope(m, c, res)
-}
-
-func unmarshalMapMetricsScope(m map[string]interface{}, c *Client, res *MetricsScope) (*MetricsScope, error) {
-
- flattened := flattenMetricsScope(c, m, res)
- if flattened == nil {
- return nil, fmt.Errorf("attempted to flatten empty json object")
- }
- return flattened, nil
-}
-
-// expandMetricsScope expands MetricsScope into a JSON request object.
-func expandMetricsScope(c *Client, f *MetricsScope) (map[string]interface{}, error) {
- m := make(map[string]interface{})
- res := f
- _ = res
- if v, err := dcl.ExpandProjectIDsToNumbers(c.Config, f.Name); err != nil {
- return nil, fmt.Errorf("error expanding Name into name: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["name"] = v
- }
-
- return m, nil
-}
-
-// flattenMetricsScope flattens MetricsScope from a JSON request object into the
-// MetricsScope type.
-func flattenMetricsScope(c *Client, i interface{}, res *MetricsScope) *MetricsScope {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
- if len(m) == 0 {
- return nil
- }
-
- resultRes := &MetricsScope{}
- resultRes.Name = dcl.FlattenProjectNumbersToIDs(c.Config, dcl.FlattenString(m["name"]))
- resultRes.CreateTime = dcl.FlattenString(m["createTime"])
- resultRes.UpdateTime = dcl.FlattenString(m["updateTime"])
- resultRes.MonitoredProjects = flattenMetricsScopeMonitoredProjectsSlice(c, m["monitoredProjects"], res)
-
- return resultRes
-}
-
-// expandMetricsScopeMonitoredProjectsMap expands the contents of MetricsScopeMonitoredProjects into a JSON
-// request object.
-func expandMetricsScopeMonitoredProjectsMap(c *Client, f map[string]MetricsScopeMonitoredProjects, res *MetricsScope) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandMetricsScopeMonitoredProjects(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandMetricsScopeMonitoredProjectsSlice expands the contents of MetricsScopeMonitoredProjects into a JSON
-// request object.
-func expandMetricsScopeMonitoredProjectsSlice(c *Client, f []MetricsScopeMonitoredProjects, res *MetricsScope) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandMetricsScopeMonitoredProjects(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenMetricsScopeMonitoredProjectsMap flattens the contents of MetricsScopeMonitoredProjects from a JSON
-// response object.
-func flattenMetricsScopeMonitoredProjectsMap(c *Client, i interface{}, res *MetricsScope) map[string]MetricsScopeMonitoredProjects {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]MetricsScopeMonitoredProjects{}
- }
-
- if len(a) == 0 {
- return map[string]MetricsScopeMonitoredProjects{}
- }
-
- items := make(map[string]MetricsScopeMonitoredProjects)
- for k, item := range a {
- items[k] = *flattenMetricsScopeMonitoredProjects(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenMetricsScopeMonitoredProjectsSlice flattens the contents of MetricsScopeMonitoredProjects from a JSON
-// response object.
-func flattenMetricsScopeMonitoredProjectsSlice(c *Client, i interface{}, res *MetricsScope) []MetricsScopeMonitoredProjects {
- a, ok := i.([]interface{})
- if !ok {
- return []MetricsScopeMonitoredProjects{}
- }
-
- if len(a) == 0 {
- return []MetricsScopeMonitoredProjects{}
- }
-
- items := make([]MetricsScopeMonitoredProjects, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenMetricsScopeMonitoredProjects(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandMetricsScopeMonitoredProjects expands an instance of MetricsScopeMonitoredProjects into a JSON
-// request object.
-func expandMetricsScopeMonitoredProjects(c *Client, f *MetricsScopeMonitoredProjects, res *MetricsScope) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Name; !dcl.IsEmptyValueIndirect(v) {
- m["name"] = v
- }
-
- return m, nil
-}
-
-// flattenMetricsScopeMonitoredProjects flattens an instance of MetricsScopeMonitoredProjects from a JSON
-// response object.
-func flattenMetricsScopeMonitoredProjects(c *Client, i interface{}, res *MetricsScope) *MetricsScopeMonitoredProjects {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &MetricsScopeMonitoredProjects{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyMetricsScopeMonitoredProjects
- }
- r.Name = dcl.FlattenString(m["name"])
- r.CreateTime = dcl.FlattenString(m["createTime"])
-
- return r
-}
-
-// This function returns a matcher that checks whether a serialized resource matches this resource
-// in its parameters (as defined by the fields in a Get, which definitionally define resource
-// identity). This is useful in extracting the element from a List call.
-func (r *MetricsScope) matcher(c *Client) func([]byte) bool {
- return func(b []byte) bool {
- cr, err := unmarshalMetricsScope(b, c, r)
- if err != nil {
- c.Config.Logger.Warning("failed to unmarshal provided resource in matcher.")
- return false
- }
- nr := r.urlNormalized()
- ncr := cr.urlNormalized()
- c.Config.Logger.Infof("looking for %v\nin %v", nr, ncr)
-
- if nr.Name == nil && ncr.Name == nil {
- c.Config.Logger.Info("Both Name fields null - considering equal.")
- } else if nr.Name == nil || ncr.Name == nil {
- c.Config.Logger.Info("Only one Name field is null - considering unequal.")
- return false
- } else if *nr.Name != *ncr.Name {
- return false
- }
- return true
- }
-}
-
-type metricsScopeDiff struct {
- // The diff should include one or the other of RequiresRecreate or UpdateOp.
- RequiresRecreate bool
- UpdateOp metricsScopeApiOperation
- FieldName string // used for error logging
-}
-
-func convertFieldDiffsToMetricsScopeDiffs(config *dcl.Config, fds []*dcl.FieldDiff, opts []dcl.ApplyOption) ([]metricsScopeDiff, error) {
- opNamesToFieldDiffs := make(map[string][]*dcl.FieldDiff)
- // Map each operation name to the field diffs associated with it.
- for _, fd := range fds {
- for _, ro := range fd.ResultingOperation {
- if fieldDiffs, ok := opNamesToFieldDiffs[ro]; ok {
- fieldDiffs = append(fieldDiffs, fd)
- opNamesToFieldDiffs[ro] = fieldDiffs
- } else {
- config.Logger.Infof("%s required due to diff: %v", ro, fd)
- opNamesToFieldDiffs[ro] = []*dcl.FieldDiff{fd}
- }
- }
- }
- var diffs []metricsScopeDiff
- // For each operation name, create a metricsScopeDiff which contains the operation.
- for opName, fieldDiffs := range opNamesToFieldDiffs {
- // Use the first field diff's field name for logging required recreate error.
- diff := metricsScopeDiff{FieldName: fieldDiffs[0].FieldName}
- if opName == "Recreate" {
- diff.RequiresRecreate = true
- } else {
- apiOp, err := convertOpNameToMetricsScopeApiOperation(opName, fieldDiffs, opts...)
- if err != nil {
- return diffs, err
- }
- diff.UpdateOp = apiOp
- }
- diffs = append(diffs, diff)
- }
- return diffs, nil
-}
-
-func convertOpNameToMetricsScopeApiOperation(opName string, fieldDiffs []*dcl.FieldDiff, opts ...dcl.ApplyOption) (metricsScopeApiOperation, error) {
- switch opName {
-
- default:
- return nil, fmt.Errorf("no such operation with name: %v", opName)
- }
-}
-
-func extractMetricsScopeFields(r *MetricsScope) error {
- return nil
-}
-func extractMetricsScopeMonitoredProjectsFields(r *MetricsScope, o *MetricsScopeMonitoredProjects) error {
- return nil
-}
-
-func postReadExtractMetricsScopeFields(r *MetricsScope) error {
- return nil
-}
-func postReadExtractMetricsScopeMonitoredProjectsFields(r *MetricsScope, o *MetricsScopeMonitoredProjects) error {
- return nil
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/metrics_scope_schema.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/metrics_scope_schema.go
deleted file mode 100644
index 3341038775..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/metrics_scope_schema.go
+++ /dev/null
@@ -1,119 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 monitoring
-
-import (
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-func DCLMetricsScopeSchema() *dcl.Schema {
- return &dcl.Schema{
- Info: &dcl.Info{
- Title: "Monitoring/MetricsScope",
- Description: "The Monitoring MetricsScope resource",
- StructName: "MetricsScope",
- },
- Paths: &dcl.Paths{
- Get: &dcl.Path{
- Description: "The function used to get information about a MetricsScope",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "metricsScope",
- Required: true,
- Description: "A full instance of a MetricsScope",
- },
- },
- },
- Apply: &dcl.Path{
- Description: "The function used to apply information about a MetricsScope",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "metricsScope",
- Required: true,
- Description: "A full instance of a MetricsScope",
- },
- },
- },
- },
- Components: &dcl.Components{
- Schemas: map[string]*dcl.Component{
- "MetricsScope": &dcl.Component{
- Title: "MetricsScope",
- ID: "locations/global/metricsScopes/{{name}}",
- Locations: []string{
- "global",
- },
- SchemaProperty: dcl.Property{
- Type: "object",
- Required: []string{
- "name",
- },
- Properties: map[string]*dcl.Property{
- "createTime": &dcl.Property{
- Type: "string",
- Format: "date-time",
- GoName: "CreateTime",
- ReadOnly: true,
- Description: "Output only. The time when this `Metrics Scope` was created.",
- Immutable: true,
- },
- "monitoredProjects": &dcl.Property{
- Type: "array",
- GoName: "MonitoredProjects",
- ReadOnly: true,
- Description: "Output only. The list of projects monitored by this `Metrics Scope`.",
- Immutable: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "object",
- GoType: "MetricsScopeMonitoredProjects",
- Properties: map[string]*dcl.Property{
- "createTime": &dcl.Property{
- Type: "string",
- Format: "date-time",
- GoName: "CreateTime",
- ReadOnly: true,
- Description: "Output only. The time when this `MonitoredProject` was created.",
- Immutable: true,
- },
- "name": &dcl.Property{
- Type: "string",
- GoName: "Name",
- Description: "Immutable. The resource name of the `MonitoredProject`. On input, the resource name includes the scoping project ID and monitored project ID. On output, it contains the equivalent project numbers. Example: `locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER}/projects/{MONITORED_PROJECT_ID_OR_NUMBER}`",
- Immutable: true,
- },
- },
- },
- },
- "name": &dcl.Property{
- Type: "string",
- GoName: "Name",
- Description: "Immutable. The resource name of the Monitoring Metrics Scope. On input, the resource name can be specified with the scoping project ID or number. On output, the resource name is specified with the scoping project number. Example: `locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER}`",
- Immutable: true,
- },
- "updateTime": &dcl.Property{
- Type: "string",
- Format: "date-time",
- GoName: "UpdateTime",
- ReadOnly: true,
- Description: "Output only. The time when this `Metrics Scope` record was last updated.",
- Immutable: true,
- },
- },
- },
- },
- },
- },
- }
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/metrics_scope_yaml_embed.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/metrics_scope_yaml_embed.go
deleted file mode 100644
index 3b0244f5ca..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/metrics_scope_yaml_embed.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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.
-// GENERATED BY gen_go_data.go
-// gen_go_data -package monitoring -var YAML_metrics_scope blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/monitoring/metrics_scope.yaml
-
-package monitoring
-
-// blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/monitoring/metrics_scope.yaml
-var YAML_metrics_scope = []byte("info:\n title: Monitoring/MetricsScope\n description: The Monitoring MetricsScope resource\n x-dcl-struct-name: MetricsScope\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a MetricsScope\n parameters:\n - name: metricsScope\n required: true\n description: A full instance of a MetricsScope\n apply:\n description: The function used to apply information about a MetricsScope\n parameters:\n - name: metricsScope\n required: true\n description: A full instance of a MetricsScope\ncomponents:\n schemas:\n MetricsScope:\n title: MetricsScope\n x-dcl-id: locations/global/metricsScopes/{{name}}\n x-dcl-locations:\n - global\n x-dcl-has-create: false\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n properties:\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Output only. The time when this `Metrics Scope` was created.\n x-kubernetes-immutable: true\n monitoredProjects:\n type: array\n x-dcl-go-name: MonitoredProjects\n readOnly: true\n description: Output only. The list of projects monitored by this `Metrics\n Scope`.\n x-kubernetes-immutable: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: MetricsScopeMonitoredProjects\n properties:\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Output only. The time when this `MonitoredProject` was\n created.\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Immutable. The resource name of the `MonitoredProject`.\n On input, the resource name includes the scoping project ID and\n monitored project ID. On output, it contains the equivalent project\n numbers. Example: `locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER}/projects/{MONITORED_PROJECT_ID_OR_NUMBER}`'\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Immutable. The resource name of the Monitoring Metrics Scope.\n On input, the resource name can be specified with the scoping project\n ID or number. On output, the resource name is specified with the scoping\n project number. Example: `locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER}`'\n x-kubernetes-immutable: true\n updateTime:\n type: string\n format: date-time\n x-dcl-go-name: UpdateTime\n readOnly: true\n description: Output only. The time when this `Metrics Scope` record was\n last updated.\n x-kubernetes-immutable: true\n")
-
-// 3179 bytes
-// MD5: be6bbb3b86b646949a9e2c5d6f16127c
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/monitored_project.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/monitored_project.go
deleted file mode 100644
index 976a04a2ec..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/monitored_project.go
+++ /dev/null
@@ -1,342 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 monitoring
-
-import (
- "context"
- "fmt"
- "time"
-
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-type MonitoredProject struct {
- Name *string `json:"name"`
- CreateTime *string `json:"createTime"`
- MetricsScope *string `json:"metricsScope"`
-}
-
-func (r *MonitoredProject) String() string {
- return dcl.SprintResource(r)
-}
-
-// Describe returns a simple description of this resource to ensure that automated tools
-// can identify it.
-func (r *MonitoredProject) Describe() dcl.ServiceTypeVersion {
- return dcl.ServiceTypeVersion{
- Service: "monitoring",
- Type: "MonitoredProject",
- Version: "monitoring",
- }
-}
-
-func (r *MonitoredProject) ID() (string, error) {
- if err := extractMonitoredProjectFields(r); err != nil {
- return "", err
- }
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "name": dcl.ValueOrEmptyString(nr.Name),
- "create_time": dcl.ValueOrEmptyString(nr.CreateTime),
- "metrics_scope": dcl.ValueOrEmptyString(nr.MetricsScope),
- }
- return dcl.Nprintf("locations/global/metricsScopes/{{metrics_scope}}/projects/{{name}}", params), nil
-}
-
-const MonitoredProjectMaxPage = -1
-
-type MonitoredProjectList struct {
- Items []*MonitoredProject
-
- nextToken string
-
- pageSize int32
-
- resource *MonitoredProject
-}
-
-func (l *MonitoredProjectList) HasNext() bool {
- return l.nextToken != ""
-}
-
-func (l *MonitoredProjectList) Next(ctx context.Context, c *Client) error {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- if !l.HasNext() {
- return fmt.Errorf("no next page")
- }
- items, token, err := c.listMonitoredProject(ctx, l.resource, l.nextToken, l.pageSize)
- if err != nil {
- return err
- }
- l.Items = items
- l.nextToken = token
- return err
-}
-
-func (c *Client) ListMonitoredProject(ctx context.Context, metricsScope string) (*MonitoredProjectList, error) {
- ctx = dcl.ContextWithRequestID(ctx)
- c = NewClient(c.Config.Clone(dcl.WithCodeRetryability(map[int]dcl.Retryability{
- 403: dcl.Retryability{
- Retryable: true,
- Pattern: "The caller does not have permission",
- Timeout: 120000000000,
- },
- })))
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- return c.ListMonitoredProjectWithMaxResults(ctx, metricsScope, MonitoredProjectMaxPage)
-
-}
-
-func (c *Client) ListMonitoredProjectWithMaxResults(ctx context.Context, metricsScope string, pageSize int32) (*MonitoredProjectList, error) {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- // Create a resource object so that we can use proper url normalization methods.
- r := &MonitoredProject{
- MetricsScope: &metricsScope,
- }
- items, token, err := c.listMonitoredProject(ctx, r, "", pageSize)
- if err != nil {
- return nil, err
- }
- return &MonitoredProjectList{
- Items: items,
- nextToken: token,
- pageSize: pageSize,
- resource: r,
- }, nil
-}
-
-func (c *Client) DeleteMonitoredProject(ctx context.Context, r *MonitoredProject) error {
- ctx = dcl.ContextWithRequestID(ctx)
- c = NewClient(c.Config.Clone(dcl.WithCodeRetryability(map[int]dcl.Retryability{
- 403: dcl.Retryability{
- Retryable: true,
- Pattern: "The caller does not have permission",
- Timeout: 120000000000,
- },
- })))
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- if r == nil {
- return fmt.Errorf("MonitoredProject resource is nil")
- }
- c.Config.Logger.InfoWithContext(ctx, "Deleting MonitoredProject...")
- deleteOp := deleteMonitoredProjectOperation{}
- return deleteOp.do(ctx, r, c)
-}
-
-// DeleteAllMonitoredProject deletes all resources that the filter functions returns true on.
-func (c *Client) DeleteAllMonitoredProject(ctx context.Context, metricsScope string, filter func(*MonitoredProject) bool) error {
- listObj, err := c.ListMonitoredProject(ctx, metricsScope)
- if err != nil {
- return err
- }
-
- err = c.deleteAllMonitoredProject(ctx, filter, listObj.Items)
- if err != nil {
- return err
- }
- for listObj.HasNext() {
- err = listObj.Next(ctx, c)
- if err != nil {
- return nil
- }
- err = c.deleteAllMonitoredProject(ctx, filter, listObj.Items)
- if err != nil {
- return err
- }
- }
- return nil
-}
-
-func (c *Client) ApplyMonitoredProject(ctx context.Context, rawDesired *MonitoredProject, opts ...dcl.ApplyOption) (*MonitoredProject, error) {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- ctx = dcl.ContextWithRequestID(ctx)
- c = NewClient(c.Config.Clone(dcl.WithCodeRetryability(map[int]dcl.Retryability{
- 403: dcl.Retryability{
- Retryable: true,
- Pattern: "The caller does not have permission",
- Timeout: 120000000000,
- },
- })))
- var resultNewState *MonitoredProject
- err := dcl.Do(ctx, func(ctx context.Context) (*dcl.RetryDetails, error) {
- newState, err := applyMonitoredProjectHelper(c, ctx, rawDesired, opts...)
- resultNewState = newState
- if err != nil {
- // If the error is 409, there is conflict in resource update.
- // Here we want to apply changes based on latest state.
- if dcl.IsConflictError(err) {
- return &dcl.RetryDetails{}, dcl.OperationNotDone{Err: err}
- }
- return nil, err
- }
- return nil, nil
- }, c.Config.RetryProvider)
- return resultNewState, err
-}
-
-func applyMonitoredProjectHelper(c *Client, ctx context.Context, rawDesired *MonitoredProject, opts ...dcl.ApplyOption) (*MonitoredProject, error) {
- c.Config.Logger.InfoWithContext(ctx, "Beginning ApplyMonitoredProject...")
- c.Config.Logger.InfoWithContextf(ctx, "User specified desired state: %v", rawDesired)
-
- // 1.1: Validation of user-specified fields in desired state.
- if err := rawDesired.validate(); err != nil {
- return nil, err
- }
-
- if err := extractMonitoredProjectFields(rawDesired); err != nil {
- return nil, err
- }
-
- initial, desired, fieldDiffs, err := c.monitoredProjectDiffsForRawDesired(ctx, rawDesired, opts...)
- if err != nil {
- return nil, fmt.Errorf("failed to create a diff: %w", err)
- }
-
- diffs, err := convertFieldDiffsToMonitoredProjectDiffs(c.Config, fieldDiffs, opts)
- if err != nil {
- return nil, err
- }
-
- // TODO(magic-modules-eng): 2.2 Feasibility check (all updates are feasible so far).
-
- // 2.3: Lifecycle Directive Check
- var create bool
- lp := dcl.FetchLifecycleParams(opts)
- if initial == nil {
- if dcl.HasLifecycleParam(lp, dcl.BlockCreation) {
- return nil, dcl.ApplyInfeasibleError{Message: fmt.Sprintf("Creation blocked by lifecycle params: %#v.", desired)}
- }
- create = true
- } else if dcl.HasLifecycleParam(lp, dcl.BlockAcquire) {
- return nil, dcl.ApplyInfeasibleError{
- Message: fmt.Sprintf("Resource already exists - apply blocked by lifecycle params: %#v.", initial),
- }
- } else {
- for _, d := range diffs {
- if d.RequiresRecreate {
- return nil, dcl.ApplyInfeasibleError{
- Message: fmt.Sprintf("infeasible update: (%v) would require recreation", d),
- }
- }
- if dcl.HasLifecycleParam(lp, dcl.BlockModification) {
- return nil, dcl.ApplyInfeasibleError{Message: fmt.Sprintf("Modification blocked, diff (%v) unresolvable.", d)}
- }
- }
- }
-
- // 2.4 Imperative Request Planning
- var ops []monitoredProjectApiOperation
- if create {
- ops = append(ops, &createMonitoredProjectOperation{})
- } else {
- for _, d := range diffs {
- ops = append(ops, d.UpdateOp)
- }
- }
- c.Config.Logger.InfoWithContextf(ctx, "Created plan: %#v", ops)
-
- // 2.5 Request Actuation
- for _, op := range ops {
- c.Config.Logger.InfoWithContextf(ctx, "Performing operation %T %+v", op, op)
- if err := op.do(ctx, desired, c); err != nil {
- c.Config.Logger.InfoWithContextf(ctx, "Failed operation %T %+v: %v", op, op, err)
- return nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Finished operation %T %+v", op, op)
- }
- return applyMonitoredProjectDiff(c, ctx, desired, rawDesired, ops, opts...)
-}
-
-func applyMonitoredProjectDiff(c *Client, ctx context.Context, desired *MonitoredProject, rawDesired *MonitoredProject, ops []monitoredProjectApiOperation, opts ...dcl.ApplyOption) (*MonitoredProject, error) {
- // 3.1, 3.2a Retrieval of raw new state & canonicalization with desired state
- c.Config.Logger.InfoWithContext(ctx, "Retrieving raw new state...")
- rawNew, err := c.GetMonitoredProject(ctx, desired)
- if err != nil {
- return nil, err
- }
- // Get additional values from the first response.
- // These values should be merged into the newState above.
- if len(ops) > 0 {
- lastOp := ops[len(ops)-1]
- if o, ok := lastOp.(*createMonitoredProjectOperation); ok {
- if r, hasR := o.FirstResponse(); hasR {
-
- c.Config.Logger.InfoWithContext(ctx, "Retrieving raw new state from operation...")
-
- fullResp, err := unmarshalMapMonitoredProject(r, c, rawDesired)
- if err != nil {
- return nil, err
- }
-
- rawNew, err = canonicalizeMonitoredProjectNewState(c, rawNew, fullResp)
- if err != nil {
- return nil, err
- }
- }
- }
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalizing with raw desired state: %v", rawDesired)
- // 3.2b Canonicalization of raw new state using raw desired state
- newState, err := canonicalizeMonitoredProjectNewState(c, rawNew, rawDesired)
- if err != nil {
- return rawNew, err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Created canonical new state: %v", newState)
- // 3.3 Comparison of the new state and raw desired state.
- // TODO(magic-modules-eng): EVENTUALLY_CONSISTENT_UPDATE
- newDesired, err := canonicalizeMonitoredProjectDesiredState(rawDesired, newState)
- if err != nil {
- return newState, err
- }
-
- if err := postReadExtractMonitoredProjectFields(newState); err != nil {
- return newState, err
- }
-
- // Need to ensure any transformations made here match acceptably in differ.
- if err := postReadExtractMonitoredProjectFields(newDesired); err != nil {
- return newState, err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Diffing using canonicalized desired state: %v", newDesired)
- newDiffs, err := diffMonitoredProject(c, newDesired, newState)
- if err != nil {
- return newState, err
- }
-
- if len(newDiffs) == 0 {
- c.Config.Logger.InfoWithContext(ctx, "No diffs found. Apply was successful.")
- } else {
- c.Config.Logger.InfoWithContextf(ctx, "Found diffs: %v", newDiffs)
- diffMessages := make([]string, len(newDiffs))
- for i, d := range newDiffs {
- diffMessages[i] = fmt.Sprintf("%v", d)
- }
- return newState, dcl.DiffAfterApplyError{Diffs: diffMessages}
- }
- c.Config.Logger.InfoWithContext(ctx, "Done Apply.")
- return newState, nil
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/monitored_project.yaml b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/monitored_project.yaml
deleted file mode 100644
index 38406941c1..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/monitored_project.yaml
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 2023 Google LLC. All Rights Reserved.
-#
-# 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.
-info:
- title: Monitoring/MonitoredProject
- description: Monitored Project allows you to set a project as monitored by a _metrics
- scope_, which is a term for a project used to group the metrics of multiple projects,
- potentially across multiple organizations. This enables you to view these groups
- in the Monitoring page of the cloud console.
- x-dcl-struct-name: MonitoredProject
- x-dcl-has-iam: false
- x-dcl-ref:
- text: REST API
- url: https://cloud.google.com/monitoring/api/ref_v3/rest/v1/locations.global.metricsScopes
- x-dcl-guides:
- - text: Understanding metrics scopes
- url: https://cloud.google.com/monitoring/settings#concept-scope
- - text: API notes
- url: https://cloud.google.com/monitoring/settings/manage-api
-paths:
- get:
- description: The function used to get information about a MonitoredProject
- parameters:
- - name: monitoredProject
- required: true
- description: A full instance of a MonitoredProject
- apply:
- description: The function used to apply information about a MonitoredProject
- parameters:
- - name: monitoredProject
- required: true
- description: A full instance of a MonitoredProject
- delete:
- description: The function used to delete a MonitoredProject
- parameters:
- - name: monitoredProject
- required: true
- description: A full instance of a MonitoredProject
- deleteAll:
- description: The function used to delete all MonitoredProject
- parameters:
- - name: metricsScope
- required: true
- schema:
- type: string
- list:
- description: The function used to list information about many MonitoredProject
- parameters:
- - name: metricsScope
- required: true
- schema:
- type: string
-components:
- schemas:
- MonitoredProject:
- title: MonitoredProject
- x-dcl-id: locations/global/metricsScopes/{{metrics_scope}}/projects/{{name}}
- x-dcl-locations:
- - global
- x-dcl-has-create: true
- x-dcl-has-iam: false
- x-dcl-read-timeout: 0
- x-dcl-apply-timeout: 0
- x-dcl-delete-timeout: 0
- type: object
- required:
- - name
- - metricsScope
- properties:
- createTime:
- type: string
- format: date-time
- x-dcl-go-name: CreateTime
- readOnly: true
- description: Output only. The time when this `MonitoredProject` was created.
- x-kubernetes-immutable: true
- metricsScope:
- type: string
- x-dcl-go-name: MetricsScope
- description: 'Required. The resource name of the existing Metrics Scope
- that will monitor this project. Example: locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER}'
- x-kubernetes-immutable: true
- name:
- type: string
- x-dcl-go-name: Name
- description: 'Immutable. The resource name of the `MonitoredProject`. On
- input, the resource name includes the scoping project ID and monitored
- project ID. On output, it contains the equivalent project numbers. Example:
- `locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER}/projects/{MONITORED_PROJECT_ID_OR_NUMBER}`'
- x-kubernetes-immutable: true
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/monitored_project_internal.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/monitored_project_internal.go
deleted file mode 100644
index d1e0f0db0b..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/monitored_project_internal.go
+++ /dev/null
@@ -1,570 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 monitoring
-
-import (
- "bytes"
- "context"
- "encoding/json"
- "fmt"
- "io/ioutil"
- "strings"
-
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl/operations"
-)
-
-func (r *MonitoredProject) validate() error {
-
- if err := dcl.Required(r, "name"); err != nil {
- return err
- }
- if err := dcl.RequiredParameter(r.MetricsScope, "MetricsScope"); err != nil {
- return err
- }
- return nil
-}
-func (r *MonitoredProject) basePath() string {
- params := map[string]interface{}{}
- return dcl.Nprintf("https://monitoring.googleapis.com/v1/", params)
-}
-
-func (r *MonitoredProject) getURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "metricsScope": dcl.ValueOrEmptyString(nr.MetricsScope),
- }
- return dcl.URL("locations/global/metricsScopes/{{metricsScope}}", nr.basePath(), userBasePath, params), nil
-}
-
-func (r *MonitoredProject) listURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "metricsScope": dcl.ValueOrEmptyString(nr.MetricsScope),
- }
- return dcl.URL("locations/global/metricsScopes/{{metricsScope}}", nr.basePath(), userBasePath, params), nil
-
-}
-
-func (r *MonitoredProject) createURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "metricsScope": dcl.ValueOrEmptyString(nr.MetricsScope),
- }
- return dcl.URL("locations/global/metricsScopes/{{metricsScope}}/projects", nr.basePath(), userBasePath, params), nil
-
-}
-
-func (r *MonitoredProject) deleteURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "metricsScope": dcl.ValueOrEmptyString(nr.MetricsScope),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("locations/global/metricsScopes/{{metricsScope}}/projects/{{name}}", nr.basePath(), userBasePath, params), nil
-}
-
-// monitoredProjectApiOperation represents a mutable operation in the underlying REST
-// API such as Create, Update, or Delete.
-type monitoredProjectApiOperation interface {
- do(context.Context, *MonitoredProject, *Client) error
-}
-
-func (c *Client) listMonitoredProjectRaw(ctx context.Context, r *MonitoredProject, pageToken string, pageSize int32) ([]byte, error) {
- u, err := r.urlNormalized().listURL(c.Config.BasePath)
- if err != nil {
- return nil, err
- }
-
- m := make(map[string]string)
- if pageToken != "" {
- m["pageToken"] = pageToken
- }
-
- if pageSize != MonitoredProjectMaxPage {
- m["pageSize"] = fmt.Sprintf("%v", pageSize)
- }
-
- u, err = dcl.AddQueryParams(u, m)
- if err != nil {
- return nil, err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
- if err != nil {
- return nil, err
- }
- defer resp.Response.Body.Close()
- return ioutil.ReadAll(resp.Response.Body)
-}
-
-type listMonitoredProjectOperation struct {
- MonitoredProjects []map[string]interface{} `json:"monitoredProjects"`
- Token string `json:"nextPageToken"`
-}
-
-func (c *Client) listMonitoredProject(ctx context.Context, r *MonitoredProject, pageToken string, pageSize int32) ([]*MonitoredProject, string, error) {
- b, err := c.listMonitoredProjectRaw(ctx, r, pageToken, pageSize)
- if err != nil {
- return nil, "", err
- }
-
- var m listMonitoredProjectOperation
- if err := json.Unmarshal(b, &m); err != nil {
- return nil, "", err
- }
-
- var l []*MonitoredProject
- for _, v := range m.MonitoredProjects {
- res, err := unmarshalMapMonitoredProject(v, c, r)
- if err != nil {
- return nil, m.Token, err
- }
- res.MetricsScope = r.MetricsScope
- l = append(l, res)
- }
-
- return l, m.Token, nil
-}
-
-func (c *Client) deleteAllMonitoredProject(ctx context.Context, f func(*MonitoredProject) bool, resources []*MonitoredProject) error {
- var errors []string
- for _, res := range resources {
- if f(res) {
- // We do not want deleteAll to fail on a deletion or else it will stop deleting other resources.
- err := c.DeleteMonitoredProject(ctx, res)
- if err != nil {
- errors = append(errors, err.Error())
- }
- }
- }
- if len(errors) > 0 {
- return fmt.Errorf("%v", strings.Join(errors, "\n"))
- } else {
- return nil
- }
-}
-
-type deleteMonitoredProjectOperation struct{}
-
-func (op *deleteMonitoredProjectOperation) do(ctx context.Context, r *MonitoredProject, c *Client) error {
- r, err := c.GetMonitoredProject(ctx, r)
- if err != nil {
- if dcl.IsNotFound(err) {
- c.Config.Logger.InfoWithContextf(ctx, "MonitoredProject not found, returning. Original error: %v", err)
- return nil
- }
- c.Config.Logger.WarningWithContextf(ctx, "GetMonitoredProject checking for existence. error: %v", err)
- return err
- }
-
- u, err := r.deleteURL(c.Config.BasePath)
- if err != nil {
- return err
- }
-
- // Delete should never have a body
- body := &bytes.Buffer{}
- resp, err := dcl.SendRequest(ctx, c.Config, "DELETE", u, body, c.Config.RetryProvider)
- if err != nil {
- return err
- }
-
- // wait for object to be deleted.
- var o operations.StandardGCPOperation
- if err := dcl.ParseResponse(resp.Response, &o); err != nil {
- return err
- }
- if err := o.Wait(context.WithValue(ctx, dcl.DoNotLogRequestsKey, true), c.Config, r.basePath(), "GET"); err != nil {
- return err
- }
-
- // We saw a race condition where for some successful delete operation, the Get calls returned resources for a short duration.
- // This is the reason we are adding retry to handle that case.
- retriesRemaining := 10
- dcl.Do(ctx, func(ctx context.Context) (*dcl.RetryDetails, error) {
- _, err := c.GetMonitoredProject(ctx, r)
- if dcl.IsNotFound(err) {
- return nil, nil
- }
- if retriesRemaining > 0 {
- retriesRemaining--
- return &dcl.RetryDetails{}, dcl.OperationNotDone{}
- }
- return nil, dcl.NotDeletedError{ExistingResource: r}
- }, c.Config.RetryProvider)
- return nil
-}
-
-// Create operations are similar to Update operations, although they do not have
-// specific request objects. The Create request object is the json encoding of
-// the resource, which is modified by res.marshal to form the base request body.
-type createMonitoredProjectOperation struct {
- response map[string]interface{}
-}
-
-func (op *createMonitoredProjectOperation) FirstResponse() (map[string]interface{}, bool) {
- return op.response, len(op.response) > 0
-}
-
-func (op *createMonitoredProjectOperation) do(ctx context.Context, r *MonitoredProject, c *Client) error {
- c.Config.Logger.InfoWithContextf(ctx, "Attempting to create %v", r)
- u, err := r.createURL(c.Config.BasePath)
- if err != nil {
- return err
- }
-
- req, err := r.marshal(c)
- if err != nil {
- return err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "POST", u, bytes.NewBuffer(req), c.Config.RetryProvider)
- if err != nil {
- return err
- }
- // wait for object to be created.
- var o operations.StandardGCPOperation
- if err := dcl.ParseResponse(resp.Response, &o); err != nil {
- return err
- }
- if err := o.Wait(context.WithValue(ctx, dcl.DoNotLogRequestsKey, true), c.Config, r.basePath(), "GET"); err != nil {
- c.Config.Logger.Warningf("Creation failed after waiting for operation: %v", err)
- return err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Successfully waited for operation")
- op.response, _ = o.FirstResponse()
-
- if _, err := c.GetMonitoredProject(ctx, r); err != nil {
- c.Config.Logger.WarningWithContextf(ctx, "get returned error: %v", err)
- return err
- }
-
- return nil
-}
-
-func (c *Client) monitoredProjectDiffsForRawDesired(ctx context.Context, rawDesired *MonitoredProject, opts ...dcl.ApplyOption) (initial, desired *MonitoredProject, diffs []*dcl.FieldDiff, err error) {
- c.Config.Logger.InfoWithContext(ctx, "Fetching initial state...")
- // First, let us see if the user provided a state hint. If they did, we will start fetching based on that.
- var fetchState *MonitoredProject
- if sh := dcl.FetchStateHint(opts); sh != nil {
- if r, ok := sh.(*MonitoredProject); !ok {
- c.Config.Logger.WarningWithContextf(ctx, "Initial state hint was of the wrong type; expected MonitoredProject, got %T", sh)
- } else {
- fetchState = r
- }
- }
- if fetchState == nil {
- fetchState = rawDesired
- }
-
- // 1.2: Retrieval of raw initial state from API
- rawInitial, err := c.GetMonitoredProject(ctx, fetchState)
- if rawInitial == nil {
- if !dcl.IsNotFound(err) {
- c.Config.Logger.WarningWithContextf(ctx, "Failed to retrieve whether a MonitoredProject resource already exists: %s", err)
- return nil, nil, nil, fmt.Errorf("failed to retrieve MonitoredProject resource: %v", err)
- }
- c.Config.Logger.InfoWithContext(ctx, "Found that MonitoredProject resource did not exist.")
- // Perform canonicalization to pick up defaults.
- desired, err = canonicalizeMonitoredProjectDesiredState(rawDesired, rawInitial)
- return nil, desired, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Found initial state for MonitoredProject: %v", rawInitial)
- c.Config.Logger.InfoWithContextf(ctx, "Initial desired state for MonitoredProject: %v", rawDesired)
-
- // The Get call applies postReadExtract and so the result may contain fields that are not part of API version.
- if err := extractMonitoredProjectFields(rawInitial); err != nil {
- return nil, nil, nil, err
- }
-
- // 1.3: Canonicalize raw initial state into initial state.
- initial, err = canonicalizeMonitoredProjectInitialState(rawInitial, rawDesired)
- if err != nil {
- return nil, nil, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalized initial state for MonitoredProject: %v", initial)
-
- // 1.4: Canonicalize raw desired state into desired state.
- desired, err = canonicalizeMonitoredProjectDesiredState(rawDesired, rawInitial, opts...)
- if err != nil {
- return nil, nil, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalized desired state for MonitoredProject: %v", desired)
-
- // 2.1: Comparison of initial and desired state.
- diffs, err = diffMonitoredProject(c, desired, initial, opts...)
- return initial, desired, diffs, err
-}
-
-func canonicalizeMonitoredProjectInitialState(rawInitial, rawDesired *MonitoredProject) (*MonitoredProject, error) {
- // TODO(magic-modules-eng): write canonicalizer once relevant traits are added.
- return rawInitial, nil
-}
-
-/*
-* Canonicalizers
-*
-* These are responsible for converting either a user-specified config or a
-* GCP API response to a standard format that can be used for difference checking.
-* */
-
-func canonicalizeMonitoredProjectDesiredState(rawDesired, rawInitial *MonitoredProject, opts ...dcl.ApplyOption) (*MonitoredProject, error) {
-
- if rawInitial == nil {
- // Since the initial state is empty, the desired state is all we have.
- // We canonicalize the remaining nested objects with nil to pick up defaults.
-
- return rawDesired, nil
- }
- canonicalDesired := &MonitoredProject{}
- if dcl.PartialSelfLinkToSelfLink(rawDesired.Name, rawInitial.Name) {
- canonicalDesired.Name = rawInitial.Name
- } else {
- canonicalDesired.Name = rawDesired.Name
- }
- if dcl.NameToSelfLink(rawDesired.MetricsScope, rawInitial.MetricsScope) {
- canonicalDesired.MetricsScope = rawInitial.MetricsScope
- } else {
- canonicalDesired.MetricsScope = rawDesired.MetricsScope
- }
- return canonicalDesired, nil
-}
-
-func canonicalizeMonitoredProjectNewState(c *Client, rawNew, rawDesired *MonitoredProject) (*MonitoredProject, error) {
-
- if dcl.IsEmptyValueIndirect(rawNew.Name) && dcl.IsEmptyValueIndirect(rawDesired.Name) {
- rawNew.Name = rawDesired.Name
- } else {
- if dcl.PartialSelfLinkToSelfLink(rawDesired.Name, rawNew.Name) {
- rawNew.Name = rawDesired.Name
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.CreateTime) && dcl.IsEmptyValueIndirect(rawDesired.CreateTime) {
- rawNew.CreateTime = rawDesired.CreateTime
- } else {
- }
-
- rawNew.MetricsScope = rawDesired.MetricsScope
-
- return rawNew, nil
-}
-
-// The differ returns a list of diffs, along with a list of operations that should be taken
-// to remedy them. Right now, it does not attempt to consolidate operations - if several
-// fields can be fixed with a patch update, it will perform the patch several times.
-// Diffs on some fields will be ignored if the `desired` state has an empty (nil)
-// value. This empty value indicates that the user does not care about the state for
-// the field. Empty fields on the actual object will cause diffs.
-// TODO(magic-modules-eng): for efficiency in some resources, add batching.
-func diffMonitoredProject(c *Client, desired, actual *MonitoredProject, opts ...dcl.ApplyOption) ([]*dcl.FieldDiff, error) {
- if desired == nil || actual == nil {
- return nil, fmt.Errorf("nil resource passed to diff - always a programming error: %#v, %#v", desired, actual)
- }
-
- c.Config.Logger.Infof("Diff function called with desired state: %v", desired)
- c.Config.Logger.Infof("Diff function called with actual state: %v", actual)
-
- var fn dcl.FieldName
- var newDiffs []*dcl.FieldDiff
- // New style diffs.
- if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Name")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CreateTime, actual.CreateTime, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("CreateTime")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.MetricsScope, actual.MetricsScope, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MetricsScope")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if len(newDiffs) > 0 {
- c.Config.Logger.Infof("Diff function found diffs: %v", newDiffs)
- }
- return newDiffs, nil
-}
-
-// urlNormalized returns a copy of the resource struct with values normalized
-// for URL substitutions. For instance, it converts long-form self-links to
-// short-form so they can be substituted in.
-func (r *MonitoredProject) urlNormalized() *MonitoredProject {
- normalized := dcl.Copy(*r).(MonitoredProject)
- normalized.Name = dcl.SelfLinkToName(r.Name)
- normalized.MetricsScope = dcl.SelfLinkToName(r.MetricsScope)
- return &normalized
-}
-
-func (r *MonitoredProject) updateURL(userBasePath, updateName string) (string, error) {
- return "", fmt.Errorf("unknown update name: %s", updateName)
-}
-
-// marshal encodes the MonitoredProject resource into JSON for a Create request, and
-// performs transformations from the resource schema to the API schema if
-// necessary.
-func (r *MonitoredProject) marshal(c *Client) ([]byte, error) {
- m, err := expandMonitoredProject(c, r)
- if err != nil {
- return nil, fmt.Errorf("error marshalling MonitoredProject: %w", err)
- }
-
- return json.Marshal(m)
-}
-
-// unmarshalMonitoredProject decodes JSON responses into the MonitoredProject resource schema.
-func unmarshalMonitoredProject(b []byte, c *Client, res *MonitoredProject) (*MonitoredProject, error) {
- var m map[string]interface{}
- if err := json.Unmarshal(b, &m); err != nil {
- return nil, err
- }
- return unmarshalMapMonitoredProject(m, c, res)
-}
-
-func unmarshalMapMonitoredProject(m map[string]interface{}, c *Client, res *MonitoredProject) (*MonitoredProject, error) {
-
- flattened := flattenMonitoredProject(c, m, res)
- if flattened == nil {
- return nil, fmt.Errorf("attempted to flatten empty json object")
- }
- return flattened, nil
-}
-
-// expandMonitoredProject expands MonitoredProject into a JSON request object.
-func expandMonitoredProject(c *Client, f *MonitoredProject) (map[string]interface{}, error) {
- m := make(map[string]interface{})
- res := f
- _ = res
- if v, err := dcl.DeriveField("locations/global/metricsScopes/%s/projects/%s", f.Name, dcl.SelfLinkToName(f.MetricsScope), dcl.SelfLinkToName(f.Name)); err != nil {
- return nil, fmt.Errorf("error expanding Name into name: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["name"] = v
- }
- if v, err := dcl.EmptyValue(); err != nil {
- return nil, fmt.Errorf("error expanding MetricsScope into metricsScope: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["metricsScope"] = v
- }
-
- return m, nil
-}
-
-// flattenMonitoredProject flattens MonitoredProject from a JSON request object into the
-// MonitoredProject type.
-func flattenMonitoredProject(c *Client, i interface{}, res *MonitoredProject) *MonitoredProject {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
- if len(m) == 0 {
- return nil
- }
-
- resultRes := &MonitoredProject{}
- resultRes.Name = dcl.FlattenString(m["name"])
- resultRes.CreateTime = dcl.FlattenString(m["createTime"])
- resultRes.MetricsScope = dcl.FlattenString(m["metricsScope"])
-
- return resultRes
-}
-
-// This function returns a matcher that checks whether a serialized resource matches this resource
-// in its parameters (as defined by the fields in a Get, which definitionally define resource
-// identity). This is useful in extracting the element from a List call.
-func (r *MonitoredProject) matcher(c *Client) func([]byte) bool {
- return func(b []byte) bool {
- cr, err := unmarshalMonitoredProject(b, c, r)
- if err != nil {
- c.Config.Logger.Warning("failed to unmarshal provided resource in matcher.")
- return false
- }
- nr := r.urlNormalized()
- ncr := cr.urlNormalized()
- c.Config.Logger.Infof("looking for %v\nin %v", nr, ncr)
-
- if nr.MetricsScope == nil && ncr.MetricsScope == nil {
- c.Config.Logger.Info("Both MetricsScope fields null - considering equal.")
- } else if nr.MetricsScope == nil || ncr.MetricsScope == nil {
- c.Config.Logger.Info("Only one MetricsScope field is null - considering unequal.")
- return false
- } else if *nr.MetricsScope != *ncr.MetricsScope {
- return false
- }
- return true
- }
-}
-
-type monitoredProjectDiff struct {
- // The diff should include one or the other of RequiresRecreate or UpdateOp.
- RequiresRecreate bool
- UpdateOp monitoredProjectApiOperation
- FieldName string // used for error logging
-}
-
-func convertFieldDiffsToMonitoredProjectDiffs(config *dcl.Config, fds []*dcl.FieldDiff, opts []dcl.ApplyOption) ([]monitoredProjectDiff, error) {
- opNamesToFieldDiffs := make(map[string][]*dcl.FieldDiff)
- // Map each operation name to the field diffs associated with it.
- for _, fd := range fds {
- for _, ro := range fd.ResultingOperation {
- if fieldDiffs, ok := opNamesToFieldDiffs[ro]; ok {
- fieldDiffs = append(fieldDiffs, fd)
- opNamesToFieldDiffs[ro] = fieldDiffs
- } else {
- config.Logger.Infof("%s required due to diff: %v", ro, fd)
- opNamesToFieldDiffs[ro] = []*dcl.FieldDiff{fd}
- }
- }
- }
- var diffs []monitoredProjectDiff
- // For each operation name, create a monitoredProjectDiff which contains the operation.
- for opName, fieldDiffs := range opNamesToFieldDiffs {
- // Use the first field diff's field name for logging required recreate error.
- diff := monitoredProjectDiff{FieldName: fieldDiffs[0].FieldName}
- if opName == "Recreate" {
- diff.RequiresRecreate = true
- } else {
- apiOp, err := convertOpNameToMonitoredProjectApiOperation(opName, fieldDiffs, opts...)
- if err != nil {
- return diffs, err
- }
- diff.UpdateOp = apiOp
- }
- diffs = append(diffs, diff)
- }
- return diffs, nil
-}
-
-func convertOpNameToMonitoredProjectApiOperation(opName string, fieldDiffs []*dcl.FieldDiff, opts ...dcl.ApplyOption) (monitoredProjectApiOperation, error) {
- switch opName {
-
- default:
- return nil, fmt.Errorf("no such operation with name: %v", opName)
- }
-}
-
-func extractMonitoredProjectFields(r *MonitoredProject) error {
- return nil
-}
-
-func postReadExtractMonitoredProjectFields(r *MonitoredProject) error {
- return nil
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/monitored_project_schema.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/monitored_project_schema.go
deleted file mode 100644
index c9343a8b7b..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/monitored_project_schema.go
+++ /dev/null
@@ -1,139 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 monitoring
-
-import (
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-func DCLMonitoredProjectSchema() *dcl.Schema {
- return &dcl.Schema{
- Info: &dcl.Info{
- Title: "Monitoring/MonitoredProject",
- Description: "Monitored Project allows you to set a project as monitored by a _metrics scope_, which is a term for a project used to group the metrics of multiple projects, potentially across multiple organizations. This enables you to view these groups in the Monitoring page of the cloud console.",
- StructName: "MonitoredProject",
- Reference: &dcl.Link{
- Text: "REST API",
- URL: "https://cloud.google.com/monitoring/api/ref_v3/rest/v1/locations.global.metricsScopes",
- },
- Guides: []*dcl.Link{
- &dcl.Link{
- Text: "Understanding metrics scopes",
- URL: "https://cloud.google.com/monitoring/settings#concept-scope",
- },
- &dcl.Link{
- Text: "API notes",
- URL: "https://cloud.google.com/monitoring/settings/manage-api",
- },
- },
- },
- Paths: &dcl.Paths{
- Get: &dcl.Path{
- Description: "The function used to get information about a MonitoredProject",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "monitoredProject",
- Required: true,
- Description: "A full instance of a MonitoredProject",
- },
- },
- },
- Apply: &dcl.Path{
- Description: "The function used to apply information about a MonitoredProject",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "monitoredProject",
- Required: true,
- Description: "A full instance of a MonitoredProject",
- },
- },
- },
- Delete: &dcl.Path{
- Description: "The function used to delete a MonitoredProject",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "monitoredProject",
- Required: true,
- Description: "A full instance of a MonitoredProject",
- },
- },
- },
- DeleteAll: &dcl.Path{
- Description: "The function used to delete all MonitoredProject",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "metricsScope",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- },
- },
- List: &dcl.Path{
- Description: "The function used to list information about many MonitoredProject",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "metricsScope",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- },
- },
- },
- Components: &dcl.Components{
- Schemas: map[string]*dcl.Component{
- "MonitoredProject": &dcl.Component{
- Title: "MonitoredProject",
- ID: "locations/global/metricsScopes/{{metrics_scope}}/projects/{{name}}",
- Locations: []string{
- "global",
- },
- HasCreate: true,
- SchemaProperty: dcl.Property{
- Type: "object",
- Required: []string{
- "name",
- "metricsScope",
- },
- Properties: map[string]*dcl.Property{
- "createTime": &dcl.Property{
- Type: "string",
- Format: "date-time",
- GoName: "CreateTime",
- ReadOnly: true,
- Description: "Output only. The time when this `MonitoredProject` was created.",
- Immutable: true,
- },
- "metricsScope": &dcl.Property{
- Type: "string",
- GoName: "MetricsScope",
- Description: "Required. The resource name of the existing Metrics Scope that will monitor this project. Example: locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER}",
- Immutable: true,
- },
- "name": &dcl.Property{
- Type: "string",
- GoName: "Name",
- Description: "Immutable. The resource name of the `MonitoredProject`. On input, the resource name includes the scoping project ID and monitored project ID. On output, it contains the equivalent project numbers. Example: `locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER}/projects/{MONITORED_PROJECT_ID_OR_NUMBER}`",
- Immutable: true,
- },
- },
- },
- },
- },
- },
- }
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/monitored_project_yaml_embed.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/monitored_project_yaml_embed.go
deleted file mode 100644
index f29e39fdf4..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/monitored_project_yaml_embed.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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.
-// GENERATED BY gen_go_data.go
-// gen_go_data -package monitoring -var YAML_monitored_project blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/monitoring/monitored_project.yaml
-
-package monitoring
-
-// blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/monitoring/monitored_project.yaml
-var YAML_monitored_project = []byte("info:\n title: Monitoring/MonitoredProject\n description: Monitored Project allows you to set a project as monitored by a _metrics\n scope_, which is a term for a project used to group the metrics of multiple projects,\n potentially across multiple organizations. This enables you to view these groups\n in the Monitoring page of the cloud console.\n x-dcl-struct-name: MonitoredProject\n x-dcl-has-iam: false\n x-dcl-ref:\n text: REST API\n url: https://cloud.google.com/monitoring/api/ref_v3/rest/v1/locations.global.metricsScopes\n x-dcl-guides:\n - text: Understanding metrics scopes\n url: https://cloud.google.com/monitoring/settings#concept-scope\n - text: API notes\n url: https://cloud.google.com/monitoring/settings/manage-api\npaths:\n get:\n description: The function used to get information about a MonitoredProject\n parameters:\n - name: monitoredProject\n required: true\n description: A full instance of a MonitoredProject\n apply:\n description: The function used to apply information about a MonitoredProject\n parameters:\n - name: monitoredProject\n required: true\n description: A full instance of a MonitoredProject\n delete:\n description: The function used to delete a MonitoredProject\n parameters:\n - name: monitoredProject\n required: true\n description: A full instance of a MonitoredProject\n deleteAll:\n description: The function used to delete all MonitoredProject\n parameters:\n - name: metricsScope\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many MonitoredProject\n parameters:\n - name: metricsScope\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n MonitoredProject:\n title: MonitoredProject\n x-dcl-id: locations/global/metricsScopes/{{metrics_scope}}/projects/{{name}}\n x-dcl-locations:\n - global\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - metricsScope\n properties:\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Output only. The time when this `MonitoredProject` was created.\n x-kubernetes-immutable: true\n metricsScope:\n type: string\n x-dcl-go-name: MetricsScope\n description: 'Required. The resource name of the existing Metrics Scope\n that will monitor this project. Example: locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER}'\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Immutable. The resource name of the `MonitoredProject`. On\n input, the resource name includes the scoping project ID and monitored\n project ID. On output, it contains the equivalent project numbers. Example:\n `locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER}/projects/{MONITORED_PROJECT_ID_OR_NUMBER}`'\n x-kubernetes-immutable: true\n")
-
-// 3225 bytes
-// MD5: a2568c724b961c0d484ec49d4439ae8b
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/monitoring_utils.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/monitoring_utils.go
deleted file mode 100644
index 497ca8a034..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/monitoring_utils.go
+++ /dev/null
@@ -1,161 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 monitoring provides methods and types for managing monitoring GCP resources.
-package monitoring
-
-import (
- "bytes"
- "context"
- "io/ioutil"
- "time"
-
- "google.golang.org/api/googleapi"
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/cloudresourcemanager"
-)
-
-func equalsMetricDescriptorValueType(m, n *MetricDescriptorValueTypeEnum) bool {
- mStr := dcl.ValueOrEmptyString(m)
- if mStr == "" {
- mStr = "STRING"
- }
- nStr := dcl.ValueOrEmptyString(n)
- if nStr == "" {
- nStr = "STRING"
- }
- return mStr == nStr
-}
-
-func equalsMetricDescriptorLabelsValueType(m, n *MetricDescriptorLabelsValueTypeEnum) bool {
- mStr := dcl.ValueOrEmptyString(m)
- if mStr == "" {
- mStr = "STRING"
- }
- nStr := dcl.ValueOrEmptyString(n)
- if nStr == "" {
- nStr = "STRING"
- }
- return mStr == nStr
-}
-
-func canonicalizeMetricDescriptorValueType(m, n interface{}) bool {
- if m == nil && n == nil {
- return true
- }
-
- mVal, _ := m.(*MetricDescriptorValueTypeEnum)
- nVal, _ := n.(*MetricDescriptorValueTypeEnum)
- return equalsMetricDescriptorValueType(mVal, nVal)
-}
-
-func canonicalizeMetricDescriptorLabelsValueType(m, n interface{}) bool {
- if m == nil && n == nil {
- return true
- }
-
- mVal, _ := m.(*MetricDescriptorLabelsValueTypeEnum)
- nVal, _ := n.(*MetricDescriptorLabelsValueTypeEnum)
- return equalsMetricDescriptorLabelsValueType(mVal, nVal)
-}
-
-// GetMonitoredProject is a custom method because projects are returned as project numbers instead of project ids.
-func (c *Client) GetMonitoredProject(ctx context.Context, r *MonitoredProject) (*MonitoredProject, error) {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- b, err := c.getMonitoredProjectRaw(ctx, r)
- if err != nil {
- if dcl.IsNotFound(err) {
- return nil, &googleapi.Error{
- Code: 404,
- Message: err.Error(),
- }
- }
- return nil, err
- }
- result, err := unmarshalMonitoredProject(b, c, r)
- if err != nil {
- return nil, err
- }
- result.MetricsScope = r.MetricsScope
- result.Name = r.Name
-
- c.Config.Logger.Infof("Retrieved raw result state: %v", result)
- c.Config.Logger.Infof("Canonicalizing with specified state: %v", r)
- result, err = canonicalizeMonitoredProjectNewState(c, result, r)
- if err != nil {
- return nil, err
- }
- c.Config.Logger.Infof("Created result state: %v", result)
-
- return result, nil
-}
-
-func (c *Client) getMonitoredProjectRaw(ctx context.Context, r *MonitoredProject) ([]byte, error) {
-
- u, err := r.getURL(c.Config.BasePath)
- if err != nil {
- return nil, err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
- if err != nil {
- return nil, err
- }
- defer resp.Response.Body.Close()
- b, err := ioutil.ReadAll(resp.Response.Body)
- if err != nil {
- return nil, err
- }
-
- b, err = dcl.ExtractElementFromList(b, "monitoredProjects", r.customMatcher(ctx, c))
- if err != nil {
- return nil, err
- }
- return b, nil
-}
-
-// This resource has a custom matcher to do a lookup and convert between project ids and project numbers.
-func (r *MonitoredProject) customMatcher(ctx context.Context, c *Client) func([]byte) bool {
- return func(b []byte) bool {
- cr, err := unmarshalMonitoredProject(b, c, r)
- if err != nil {
- c.Config.Logger.Warning("Failed to unmarshal provided resource in matcher.")
- return false
- }
- // URL Normalize both resources to compare only the short names.
- nr := r.urlNormalized()
- ncr := cr.urlNormalized()
- if nr.Name == nil && ncr.Name == nil {
- c.Config.Logger.Info("Both Name fields null - considering equal.")
- return true
- }
- if nr.Name == nil || ncr.Name == nil {
- c.Config.Logger.Info("Only one Name field is null - considering unequal.")
- return false
- }
- // Create a client with an empty base path so that it doesn't inherit the base path from the
- // monitoring client.
- cloudresourcemanagerCl := cloudresourcemanager.NewClient(c.Config.Clone(dcl.WithBasePath("")))
- project, err := cloudresourcemanagerCl.GetProject(ctx, &cloudresourcemanager.Project{
- Name: nr.Name,
- })
- if err != nil {
- c.Config.Logger.Warningf("Could not look up project %s", *nr.Name)
- return false
- }
- projectNumber := dcl.ValueOrEmptyString(project.ProjectNumber)
- c.Config.Logger.Infof("Attempting to match %v with %v.", projectNumber, ncr.Name)
- return projectNumber == *ncr.Name
- }
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/notification_channel.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/notification_channel.go
deleted file mode 100644
index c5e724180f..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/notification_channel.go
+++ /dev/null
@@ -1,405 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 monitoring
-
-import (
- "context"
- "fmt"
- "time"
-
- "google.golang.org/api/googleapi"
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-type NotificationChannel struct {
- Description *string `json:"description"`
- DisplayName *string `json:"displayName"`
- Enabled *bool `json:"enabled"`
- Labels map[string]string `json:"labels"`
- Name *string `json:"name"`
- Type *string `json:"type"`
- UserLabels map[string]string `json:"userLabels"`
- VerificationStatus *NotificationChannelVerificationStatusEnum `json:"verificationStatus"`
- Project *string `json:"project"`
-}
-
-func (r *NotificationChannel) String() string {
- return dcl.SprintResource(r)
-}
-
-// The enum NotificationChannelVerificationStatusEnum.
-type NotificationChannelVerificationStatusEnum string
-
-// NotificationChannelVerificationStatusEnumRef returns a *NotificationChannelVerificationStatusEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func NotificationChannelVerificationStatusEnumRef(s string) *NotificationChannelVerificationStatusEnum {
- v := NotificationChannelVerificationStatusEnum(s)
- return &v
-}
-
-func (v NotificationChannelVerificationStatusEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"VERIFICATION_STATUS_UNSPECIFIED", "UNVERIFIED", "VERIFIED"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "NotificationChannelVerificationStatusEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// Describe returns a simple description of this resource to ensure that automated tools
-// can identify it.
-func (r *NotificationChannel) Describe() dcl.ServiceTypeVersion {
- return dcl.ServiceTypeVersion{
- Service: "monitoring",
- Type: "NotificationChannel",
- Version: "monitoring",
- }
-}
-
-func (r *NotificationChannel) ID() (string, error) {
- if err := extractNotificationChannelFields(r); err != nil {
- return "", err
- }
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "description": dcl.ValueOrEmptyString(nr.Description),
- "display_name": dcl.ValueOrEmptyString(nr.DisplayName),
- "enabled": dcl.ValueOrEmptyString(nr.Enabled),
- "labels": dcl.ValueOrEmptyString(nr.Labels),
- "name": dcl.ValueOrEmptyString(nr.Name),
- "type": dcl.ValueOrEmptyString(nr.Type),
- "user_labels": dcl.ValueOrEmptyString(nr.UserLabels),
- "verification_status": dcl.ValueOrEmptyString(nr.VerificationStatus),
- "project": dcl.ValueOrEmptyString(nr.Project),
- }
- return dcl.Nprintf("projects/{{project}}/notificationChannels/{{name}}", params), nil
-}
-
-const NotificationChannelMaxPage = -1
-
-type NotificationChannelList struct {
- Items []*NotificationChannel
-
- nextToken string
-
- pageSize int32
-
- resource *NotificationChannel
-}
-
-func (l *NotificationChannelList) HasNext() bool {
- return l.nextToken != ""
-}
-
-func (l *NotificationChannelList) Next(ctx context.Context, c *Client) error {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- if !l.HasNext() {
- return fmt.Errorf("no next page")
- }
- items, token, err := c.listNotificationChannel(ctx, l.resource, l.nextToken, l.pageSize)
- if err != nil {
- return err
- }
- l.Items = items
- l.nextToken = token
- return err
-}
-
-func (c *Client) ListNotificationChannel(ctx context.Context, project string) (*NotificationChannelList, error) {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- return c.ListNotificationChannelWithMaxResults(ctx, project, NotificationChannelMaxPage)
-
-}
-
-func (c *Client) ListNotificationChannelWithMaxResults(ctx context.Context, project string, pageSize int32) (*NotificationChannelList, error) {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- // Create a resource object so that we can use proper url normalization methods.
- r := &NotificationChannel{
- Project: &project,
- }
- items, token, err := c.listNotificationChannel(ctx, r, "", pageSize)
- if err != nil {
- return nil, err
- }
- return &NotificationChannelList{
- Items: items,
- nextToken: token,
- pageSize: pageSize,
- resource: r,
- }, nil
-}
-
-func (c *Client) GetNotificationChannel(ctx context.Context, r *NotificationChannel) (*NotificationChannel, error) {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- // This is *purposefully* supressing errors.
- // This function is used with url-normalized values + not URL normalized values.
- // URL Normalized values will throw unintentional errors, since those values are not of the proper parent form.
- extractNotificationChannelFields(r)
-
- b, err := c.getNotificationChannelRaw(ctx, r)
- if err != nil {
- if dcl.IsNotFound(err) {
- return nil, &googleapi.Error{
- Code: 404,
- Message: err.Error(),
- }
- }
- return nil, err
- }
- result, err := unmarshalNotificationChannel(b, c, r)
- if err != nil {
- return nil, err
- }
- result.Project = r.Project
- result.Name = r.Name
- if dcl.IsZeroValue(result.Enabled) {
- result.Enabled = dcl.Bool(true)
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Retrieved raw result state: %v", result)
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalizing with specified state: %v", r)
- result, err = canonicalizeNotificationChannelNewState(c, result, r)
- if err != nil {
- return nil, err
- }
- if err := postReadExtractNotificationChannelFields(result); err != nil {
- return result, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Created result state: %v", result)
-
- return result, nil
-}
-
-func (c *Client) DeleteNotificationChannel(ctx context.Context, r *NotificationChannel) error {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- if r == nil {
- return fmt.Errorf("NotificationChannel resource is nil")
- }
- c.Config.Logger.InfoWithContext(ctx, "Deleting NotificationChannel...")
- deleteOp := deleteNotificationChannelOperation{}
- return deleteOp.do(ctx, r, c)
-}
-
-// DeleteAllNotificationChannel deletes all resources that the filter functions returns true on.
-func (c *Client) DeleteAllNotificationChannel(ctx context.Context, project string, filter func(*NotificationChannel) bool) error {
- listObj, err := c.ListNotificationChannel(ctx, project)
- if err != nil {
- return err
- }
-
- err = c.deleteAllNotificationChannel(ctx, filter, listObj.Items)
- if err != nil {
- return err
- }
- for listObj.HasNext() {
- err = listObj.Next(ctx, c)
- if err != nil {
- return nil
- }
- err = c.deleteAllNotificationChannel(ctx, filter, listObj.Items)
- if err != nil {
- return err
- }
- }
- return nil
-}
-
-func (c *Client) ApplyNotificationChannel(ctx context.Context, rawDesired *NotificationChannel, opts ...dcl.ApplyOption) (*NotificationChannel, error) {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- ctx = dcl.ContextWithRequestID(ctx)
- var resultNewState *NotificationChannel
- err := dcl.Do(ctx, func(ctx context.Context) (*dcl.RetryDetails, error) {
- newState, err := applyNotificationChannelHelper(c, ctx, rawDesired, opts...)
- resultNewState = newState
- if err != nil {
- // If the error is 409, there is conflict in resource update.
- // Here we want to apply changes based on latest state.
- if dcl.IsConflictError(err) {
- return &dcl.RetryDetails{}, dcl.OperationNotDone{Err: err}
- }
- return nil, err
- }
- return nil, nil
- }, c.Config.RetryProvider)
- return resultNewState, err
-}
-
-func applyNotificationChannelHelper(c *Client, ctx context.Context, rawDesired *NotificationChannel, opts ...dcl.ApplyOption) (*NotificationChannel, error) {
- c.Config.Logger.InfoWithContext(ctx, "Beginning ApplyNotificationChannel...")
- c.Config.Logger.InfoWithContextf(ctx, "User specified desired state: %v", rawDesired)
-
- // 1.1: Validation of user-specified fields in desired state.
- if err := rawDesired.validate(); err != nil {
- return nil, err
- }
-
- if err := extractNotificationChannelFields(rawDesired); err != nil {
- return nil, err
- }
-
- initial, desired, fieldDiffs, err := c.notificationChannelDiffsForRawDesired(ctx, rawDesired, opts...)
- if err != nil {
- return nil, fmt.Errorf("failed to create a diff: %w", err)
- }
-
- diffs, err := convertFieldDiffsToNotificationChannelDiffs(c.Config, fieldDiffs, opts)
- if err != nil {
- return nil, err
- }
-
- // TODO(magic-modules-eng): 2.2 Feasibility check (all updates are feasible so far).
-
- // 2.3: Lifecycle Directive Check
- var create bool
- lp := dcl.FetchLifecycleParams(opts)
- if initial == nil {
- if dcl.HasLifecycleParam(lp, dcl.BlockCreation) {
- return nil, dcl.ApplyInfeasibleError{Message: fmt.Sprintf("Creation blocked by lifecycle params: %#v.", desired)}
- }
- create = true
- } else if dcl.HasLifecycleParam(lp, dcl.BlockAcquire) {
- return nil, dcl.ApplyInfeasibleError{
- Message: fmt.Sprintf("Resource already exists - apply blocked by lifecycle params: %#v.", initial),
- }
- } else {
- for _, d := range diffs {
- if d.RequiresRecreate {
- return nil, dcl.ApplyInfeasibleError{
- Message: fmt.Sprintf("infeasible update: (%v) would require recreation", d),
- }
- }
- if dcl.HasLifecycleParam(lp, dcl.BlockModification) {
- return nil, dcl.ApplyInfeasibleError{Message: fmt.Sprintf("Modification blocked, diff (%v) unresolvable.", d)}
- }
- }
- }
-
- // 2.4 Imperative Request Planning
- var ops []notificationChannelApiOperation
- if create {
- ops = append(ops, &createNotificationChannelOperation{})
- } else {
- for _, d := range diffs {
- ops = append(ops, d.UpdateOp)
- }
- }
- c.Config.Logger.InfoWithContextf(ctx, "Created plan: %#v", ops)
-
- // 2.5 Request Actuation
- for _, op := range ops {
- c.Config.Logger.InfoWithContextf(ctx, "Performing operation %T %+v", op, op)
- if err := op.do(ctx, desired, c); err != nil {
- c.Config.Logger.InfoWithContextf(ctx, "Failed operation %T %+v: %v", op, op, err)
- return nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Finished operation %T %+v", op, op)
- }
- return applyNotificationChannelDiff(c, ctx, desired, rawDesired, ops, opts...)
-}
-
-func applyNotificationChannelDiff(c *Client, ctx context.Context, desired *NotificationChannel, rawDesired *NotificationChannel, ops []notificationChannelApiOperation, opts ...dcl.ApplyOption) (*NotificationChannel, error) {
- // 3.1, 3.2a Retrieval of raw new state & canonicalization with desired state
- c.Config.Logger.InfoWithContext(ctx, "Retrieving raw new state...")
- rawNew, err := c.GetNotificationChannel(ctx, desired)
- if err != nil {
- return nil, err
- }
- // Get additional values from the first response.
- // These values should be merged into the newState above.
- if len(ops) > 0 {
- lastOp := ops[len(ops)-1]
- if o, ok := lastOp.(*createNotificationChannelOperation); ok {
- if r, hasR := o.FirstResponse(); hasR {
-
- c.Config.Logger.InfoWithContext(ctx, "Retrieving raw new state from operation...")
-
- fullResp, err := unmarshalMapNotificationChannel(r, c, rawDesired)
- if err != nil {
- return nil, err
- }
-
- rawNew, err = canonicalizeNotificationChannelNewState(c, rawNew, fullResp)
- if err != nil {
- return nil, err
- }
- }
- }
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalizing with raw desired state: %v", rawDesired)
- // 3.2b Canonicalization of raw new state using raw desired state
- newState, err := canonicalizeNotificationChannelNewState(c, rawNew, rawDesired)
- if err != nil {
- return rawNew, err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Created canonical new state: %v", newState)
- // 3.3 Comparison of the new state and raw desired state.
- // TODO(magic-modules-eng): EVENTUALLY_CONSISTENT_UPDATE
- newDesired, err := canonicalizeNotificationChannelDesiredState(rawDesired, newState)
- if err != nil {
- return newState, err
- }
-
- if err := postReadExtractNotificationChannelFields(newState); err != nil {
- return newState, err
- }
-
- // Need to ensure any transformations made here match acceptably in differ.
- if err := postReadExtractNotificationChannelFields(newDesired); err != nil {
- return newState, err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Diffing using canonicalized desired state: %v", newDesired)
- newDiffs, err := diffNotificationChannel(c, newDesired, newState)
- if err != nil {
- return newState, err
- }
-
- if len(newDiffs) == 0 {
- c.Config.Logger.InfoWithContext(ctx, "No diffs found. Apply was successful.")
- } else {
- c.Config.Logger.InfoWithContextf(ctx, "Found diffs: %v", newDiffs)
- diffMessages := make([]string, len(newDiffs))
- for i, d := range newDiffs {
- diffMessages[i] = fmt.Sprintf("%v", d)
- }
- return newState, dcl.DiffAfterApplyError{Diffs: diffMessages}
- }
- c.Config.Logger.InfoWithContext(ctx, "Done Apply.")
- return newState, nil
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/notification_channel.yaml b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/notification_channel.yaml
deleted file mode 100644
index 9e0b4c0185..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/notification_channel.yaml
+++ /dev/null
@@ -1,154 +0,0 @@
-# Copyright 2023 Google LLC. All Rights Reserved.
-#
-# 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.
-info:
- title: Monitoring/NotificationChannel
- description: The Monitoring NotificationChannel resource
- x-dcl-struct-name: NotificationChannel
- x-dcl-has-iam: false
-paths:
- get:
- description: The function used to get information about a NotificationChannel
- parameters:
- - name: notificationChannel
- required: true
- description: A full instance of a NotificationChannel
- apply:
- description: The function used to apply information about a NotificationChannel
- parameters:
- - name: notificationChannel
- required: true
- description: A full instance of a NotificationChannel
- delete:
- description: The function used to delete a NotificationChannel
- parameters:
- - name: notificationChannel
- required: true
- description: A full instance of a NotificationChannel
- deleteAll:
- description: The function used to delete all NotificationChannel
- parameters:
- - name: project
- required: true
- schema:
- type: string
- list:
- description: The function used to list information about many NotificationChannel
- parameters:
- - name: project
- required: true
- schema:
- type: string
-components:
- schemas:
- NotificationChannel:
- title: NotificationChannel
- x-dcl-id: projects/{{project}}/notificationChannels/{{name}}
- x-dcl-parent-container: project
- x-dcl-has-create: true
- x-dcl-has-iam: false
- x-dcl-read-timeout: 0
- x-dcl-apply-timeout: 0
- x-dcl-delete-timeout: 0
- type: object
- properties:
- description:
- type: string
- x-dcl-go-name: Description
- description: An optional human-readable description of this notification
- channel. This description may provide additional details, beyond the display
- name, for the channel. This may not exceed 1024 Unicode characters.
- displayName:
- type: string
- x-dcl-go-name: DisplayName
- description: An optional human-readable name for this notification channel.
- It is recommended that you specify a non-empty and unique name in order
- to make it easier to identify the channels in your project, though this
- is not enforced. The display name is limited to 512 Unicode characters.
- enabled:
- type: boolean
- x-dcl-go-name: Enabled
- description: Whether notifications are forwarded to the described channel.
- This makes it possible to disable delivery of notifications to a particular
- channel without removing the channel from all alerting policies that reference
- the channel. This is a more convenient approach when the change is temporary
- and you want to receive notifications from the same set of alerting policies
- on the channel at some point in the future.
- default: true
- labels:
- type: object
- additionalProperties:
- type: string
- x-dcl-go-name: Labels
- description: Configuration fields that define the channel and its behavior.
- The permissible and required labels are specified in the [NotificationChannelDescriptor.labels][google.monitoring.v3.NotificationChannelDescriptor.labels]
- of the `NotificationChannelDescriptor` corresponding to the `type` field.
- name:
- type: string
- x-dcl-go-name: Name
- description: 'The full REST resource name for this channel. The format is:
- projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID] The
- `[CHANNEL_ID]` is automatically assigned by the server on creation.'
- x-kubernetes-immutable: true
- x-dcl-server-generated-parameter: true
- project:
- type: string
- x-dcl-go-name: Project
- description: The project for this notification channel.
- x-kubernetes-immutable: true
- x-dcl-references:
- - resource: Cloudresourcemanager/Project
- field: name
- parent: true
- type:
- type: string
- x-dcl-go-name: Type
- description: The type of the notification channel. This field matches the
- value of the [NotificationChannelDescriptor.type][google.monitoring.v3.NotificationChannelDescriptor.type]
- field.
- userLabels:
- type: object
- additionalProperties:
- type: string
- x-dcl-go-name: UserLabels
- description: User-supplied key/value data that does not need to conform
- to the corresponding `NotificationChannelDescriptor`'s schema, unlike
- the `labels` field. This field is intended to be used for orv3nizing and
- identifying the `NotificationChannel` objects. The field can contain up
- to 64 entries. Each key and value is limited to 63 Unicode characters
- or 128 bytes, whichever is smaller. Labels and values can contain only
- lowercase letters, numerals, underscores, and dashes. Keys must begin
- with a letter.
- verificationStatus:
- type: string
- x-dcl-go-name: VerificationStatus
- x-dcl-go-type: NotificationChannelVerificationStatusEnum
- readOnly: true
- description: 'Indicates whether this channel has been verified or not. On
- a [`ListNotificationChannels`][google.monitoring.v3.NotificationChannelService.ListNotificationChannels]
- or [`GetNotificationChannel`][google.monitoring.v3.NotificationChannelService.GetNotificationChannel]
- operation, this field is expected to be populated. If the value is `UNVERIFIED`,
- then it indicates that the channel is non-functioning (it both requires
- verification and lacks verification); otherwise, it is assumed that the
- channel works. If the channel is neither `VERIFIED` nor `UNVERIFIED`,
- it implies that the channel is of a type that does not require verification
- or that this specific channel has been exempted from verification because
- it was created prior to verification being required for channels of this
- type. This field cannot be modified using a standard [`UpdateNotificationChannel`][google.monitoring.v3.NotificationChannelService.UpdateNotificationChannel]
- operation. To change the value of this field, you must call [`VerifyNotificationChannel`][google.monitoring.v3.NotificationChannelService.VerifyNotificationChannel].
- Possible values: VERIFICATION_STATUS_UNSPECIFIED, UNVERIFIED, VERIFIED'
- x-kubernetes-immutable: true
- enum:
- - VERIFICATION_STATUS_UNSPECIFIED
- - UNVERIFIED
- - VERIFIED
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/notification_channel_internal.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/notification_channel_internal.go
deleted file mode 100644
index 151a7e1525..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/notification_channel_internal.go
+++ /dev/null
@@ -1,889 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 monitoring
-
-import (
- "bytes"
- "context"
- "encoding/json"
- "fmt"
- "io/ioutil"
- "strings"
-
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-func (r *NotificationChannel) validate() error {
-
- return nil
-}
-func (r *NotificationChannel) basePath() string {
- params := map[string]interface{}{}
- return dcl.Nprintf("https://monitoring.googleapis.com/v3/", params)
-}
-
-func (r *NotificationChannel) getURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("projects/{{project}}/notificationChannels/{{name}}", nr.basePath(), userBasePath, params), nil
-}
-
-func (r *NotificationChannel) listURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- }
- return dcl.URL("projects/{{project}}/notificationChannels", nr.basePath(), userBasePath, params), nil
-
-}
-
-func (r *NotificationChannel) createURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- }
- return dcl.URL("projects/{{project}}/notificationChannels", nr.basePath(), userBasePath, params), nil
-
-}
-
-func (r *NotificationChannel) deleteURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("projects/{{project}}/notificationChannels/{{name}}", nr.basePath(), userBasePath, params), nil
-}
-
-// notificationChannelApiOperation represents a mutable operation in the underlying REST
-// API such as Create, Update, or Delete.
-type notificationChannelApiOperation interface {
- do(context.Context, *NotificationChannel, *Client) error
-}
-
-// newUpdateNotificationChannelUpdateRequest creates a request for an
-// NotificationChannel resource's update update type by filling in the update
-// fields based on the intended state of the resource.
-func newUpdateNotificationChannelUpdateRequest(ctx context.Context, f *NotificationChannel, c *Client) (map[string]interface{}, error) {
- req := map[string]interface{}{}
- res := f
- _ = res
-
- if v := f.Description; !dcl.IsEmptyValueIndirect(v) {
- req["description"] = v
- }
- if v := f.DisplayName; !dcl.IsEmptyValueIndirect(v) {
- req["displayName"] = v
- }
- if v := f.Enabled; !dcl.IsEmptyValueIndirect(v) {
- req["enabled"] = v
- }
- if v := f.Labels; !dcl.IsEmptyValueIndirect(v) {
- req["labels"] = v
- }
- if v := f.Type; !dcl.IsEmptyValueIndirect(v) {
- req["type"] = v
- }
- if v := f.UserLabels; !dcl.IsEmptyValueIndirect(v) {
- req["userLabels"] = v
- }
- req["name"] = fmt.Sprintf("projects/%s/notificationChannels/%s", *f.Project, *f.Name)
-
- return req, nil
-}
-
-// marshalUpdateNotificationChannelUpdateRequest converts the update into
-// the final JSON request body.
-func marshalUpdateNotificationChannelUpdateRequest(c *Client, m map[string]interface{}) ([]byte, error) {
-
- return json.Marshal(m)
-}
-
-type updateNotificationChannelUpdateOperation struct {
- // If the update operation has the REQUIRES_APPLY_OPTIONS trait, this will be populated.
- // Usually it will be nil - this is to prevent us from accidentally depending on apply
- // options, which should usually be unnecessary.
- ApplyOptions []dcl.ApplyOption
- FieldDiffs []*dcl.FieldDiff
-}
-
-// do creates a request and sends it to the appropriate URL. In most operations,
-// do will transcribe a subset of the resource into a request object and send a
-// PUT request to a single URL.
-
-func (op *updateNotificationChannelUpdateOperation) do(ctx context.Context, r *NotificationChannel, c *Client) error {
- _, err := c.GetNotificationChannel(ctx, r)
- if err != nil {
- return err
- }
-
- u, err := r.updateURL(c.Config.BasePath, "update")
- if err != nil {
- return err
- }
- mask := dcl.UpdateMask(op.FieldDiffs)
- u, err = dcl.AddQueryParams(u, map[string]string{"updateMask": mask})
- if err != nil {
- return err
- }
-
- req, err := newUpdateNotificationChannelUpdateRequest(ctx, r, c)
- if err != nil {
- return err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Created update: %#v", req)
- body, err := marshalUpdateNotificationChannelUpdateRequest(c, req)
- if err != nil {
- return err
- }
- _, err = dcl.SendRequest(ctx, c.Config, "PATCH", u, bytes.NewBuffer(body), c.Config.RetryProvider)
- if err != nil {
- return err
- }
-
- return nil
-}
-
-func (c *Client) listNotificationChannelRaw(ctx context.Context, r *NotificationChannel, pageToken string, pageSize int32) ([]byte, error) {
- u, err := r.urlNormalized().listURL(c.Config.BasePath)
- if err != nil {
- return nil, err
- }
-
- m := make(map[string]string)
- if pageToken != "" {
- m["pageToken"] = pageToken
- }
-
- if pageSize != NotificationChannelMaxPage {
- m["pageSize"] = fmt.Sprintf("%v", pageSize)
- }
-
- u, err = dcl.AddQueryParams(u, m)
- if err != nil {
- return nil, err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
- if err != nil {
- return nil, err
- }
- defer resp.Response.Body.Close()
- return ioutil.ReadAll(resp.Response.Body)
-}
-
-type listNotificationChannelOperation struct {
- NotificationChannels []map[string]interface{} `json:"notificationChannels"`
- Token string `json:"nextPageToken"`
-}
-
-func (c *Client) listNotificationChannel(ctx context.Context, r *NotificationChannel, pageToken string, pageSize int32) ([]*NotificationChannel, string, error) {
- b, err := c.listNotificationChannelRaw(ctx, r, pageToken, pageSize)
- if err != nil {
- return nil, "", err
- }
-
- var m listNotificationChannelOperation
- if err := json.Unmarshal(b, &m); err != nil {
- return nil, "", err
- }
-
- var l []*NotificationChannel
- for _, v := range m.NotificationChannels {
- res, err := unmarshalMapNotificationChannel(v, c, r)
- if err != nil {
- return nil, m.Token, err
- }
- res.Project = r.Project
- l = append(l, res)
- }
-
- return l, m.Token, nil
-}
-
-func (c *Client) deleteAllNotificationChannel(ctx context.Context, f func(*NotificationChannel) bool, resources []*NotificationChannel) error {
- var errors []string
- for _, res := range resources {
- if f(res) {
- // We do not want deleteAll to fail on a deletion or else it will stop deleting other resources.
- err := c.DeleteNotificationChannel(ctx, res)
- if err != nil {
- errors = append(errors, err.Error())
- }
- }
- }
- if len(errors) > 0 {
- return fmt.Errorf("%v", strings.Join(errors, "\n"))
- } else {
- return nil
- }
-}
-
-type deleteNotificationChannelOperation struct{}
-
-func (op *deleteNotificationChannelOperation) do(ctx context.Context, r *NotificationChannel, c *Client) error {
- r, err := c.GetNotificationChannel(ctx, r)
- if err != nil {
- if dcl.IsNotFound(err) {
- c.Config.Logger.InfoWithContextf(ctx, "NotificationChannel not found, returning. Original error: %v", err)
- return nil
- }
- c.Config.Logger.WarningWithContextf(ctx, "GetNotificationChannel checking for existence. error: %v", err)
- return err
- }
-
- u, err := r.deleteURL(c.Config.BasePath)
- if err != nil {
- return err
- }
-
- // Delete should never have a body
- body := &bytes.Buffer{}
- _, err = dcl.SendRequest(ctx, c.Config, "DELETE", u, body, c.Config.RetryProvider)
- if err != nil {
- return fmt.Errorf("failed to delete NotificationChannel: %w", err)
- }
-
- // We saw a race condition where for some successful delete operation, the Get calls returned resources for a short duration.
- // This is the reason we are adding retry to handle that case.
- retriesRemaining := 10
- dcl.Do(ctx, func(ctx context.Context) (*dcl.RetryDetails, error) {
- _, err := c.GetNotificationChannel(ctx, r)
- if dcl.IsNotFound(err) {
- return nil, nil
- }
- if retriesRemaining > 0 {
- retriesRemaining--
- return &dcl.RetryDetails{}, dcl.OperationNotDone{}
- }
- return nil, dcl.NotDeletedError{ExistingResource: r}
- }, c.Config.RetryProvider)
- return nil
-}
-
-// Create operations are similar to Update operations, although they do not have
-// specific request objects. The Create request object is the json encoding of
-// the resource, which is modified by res.marshal to form the base request body.
-type createNotificationChannelOperation struct {
- response map[string]interface{}
-}
-
-func (op *createNotificationChannelOperation) FirstResponse() (map[string]interface{}, bool) {
- return op.response, len(op.response) > 0
-}
-
-func (op *createNotificationChannelOperation) do(ctx context.Context, r *NotificationChannel, c *Client) error {
- c.Config.Logger.InfoWithContextf(ctx, "Attempting to create %v", r)
- u, err := r.createURL(c.Config.BasePath)
- if err != nil {
- return err
- }
-
- req, err := r.marshal(c)
- if err != nil {
- return err
- }
- if r.Name != nil {
- // Allowing creation to continue with Name set could result in a NotificationChannel with the wrong Name.
- return fmt.Errorf("server-generated parameter Name was specified by user as %v, should be unspecified", dcl.ValueOrEmptyString(r.Name))
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "POST", u, bytes.NewBuffer(req), c.Config.RetryProvider)
- if err != nil {
- return err
- }
-
- o, err := dcl.ResponseBodyAsJSON(resp)
- if err != nil {
- return fmt.Errorf("error decoding response body into JSON: %w", err)
- }
- op.response = o
-
- // Include Name in URL substitution for initial GET request.
- m := op.response
- r.Name = dcl.SelfLinkToName(dcl.FlattenString(m["name"]))
-
- if _, err := c.GetNotificationChannel(ctx, r); err != nil {
- c.Config.Logger.WarningWithContextf(ctx, "get returned error: %v", err)
- return err
- }
-
- return nil
-}
-
-func (c *Client) getNotificationChannelRaw(ctx context.Context, r *NotificationChannel) ([]byte, error) {
- if dcl.IsZeroValue(r.Enabled) {
- r.Enabled = dcl.Bool(true)
- }
-
- u, err := r.getURL(c.Config.BasePath)
- if err != nil {
- return nil, err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
- if err != nil {
- return nil, err
- }
- defer resp.Response.Body.Close()
- b, err := ioutil.ReadAll(resp.Response.Body)
- if err != nil {
- return nil, err
- }
-
- return b, nil
-}
-
-func (c *Client) notificationChannelDiffsForRawDesired(ctx context.Context, rawDesired *NotificationChannel, opts ...dcl.ApplyOption) (initial, desired *NotificationChannel, diffs []*dcl.FieldDiff, err error) {
- c.Config.Logger.InfoWithContext(ctx, "Fetching initial state...")
- // First, let us see if the user provided a state hint. If they did, we will start fetching based on that.
- var fetchState *NotificationChannel
- if sh := dcl.FetchStateHint(opts); sh != nil {
- if r, ok := sh.(*NotificationChannel); !ok {
- c.Config.Logger.WarningWithContextf(ctx, "Initial state hint was of the wrong type; expected NotificationChannel, got %T", sh)
- } else {
- fetchState = r
- }
- }
- if fetchState == nil {
- fetchState = rawDesired
- }
-
- if fetchState.Name == nil {
- // We cannot perform a get because of lack of information. We have to assume
- // that this is being created for the first time.
- desired, err := canonicalizeNotificationChannelDesiredState(rawDesired, nil)
- return nil, desired, nil, err
- }
- // 1.2: Retrieval of raw initial state from API
- rawInitial, err := c.GetNotificationChannel(ctx, fetchState)
- if rawInitial == nil {
- if !dcl.IsNotFound(err) {
- c.Config.Logger.WarningWithContextf(ctx, "Failed to retrieve whether a NotificationChannel resource already exists: %s", err)
- return nil, nil, nil, fmt.Errorf("failed to retrieve NotificationChannel resource: %v", err)
- }
- c.Config.Logger.InfoWithContext(ctx, "Found that NotificationChannel resource did not exist.")
- // Perform canonicalization to pick up defaults.
- desired, err = canonicalizeNotificationChannelDesiredState(rawDesired, rawInitial)
- return nil, desired, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Found initial state for NotificationChannel: %v", rawInitial)
- c.Config.Logger.InfoWithContextf(ctx, "Initial desired state for NotificationChannel: %v", rawDesired)
-
- // The Get call applies postReadExtract and so the result may contain fields that are not part of API version.
- if err := extractNotificationChannelFields(rawInitial); err != nil {
- return nil, nil, nil, err
- }
-
- // 1.3: Canonicalize raw initial state into initial state.
- initial, err = canonicalizeNotificationChannelInitialState(rawInitial, rawDesired)
- if err != nil {
- return nil, nil, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalized initial state for NotificationChannel: %v", initial)
-
- // 1.4: Canonicalize raw desired state into desired state.
- desired, err = canonicalizeNotificationChannelDesiredState(rawDesired, rawInitial, opts...)
- if err != nil {
- return nil, nil, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalized desired state for NotificationChannel: %v", desired)
-
- // 2.1: Comparison of initial and desired state.
- diffs, err = diffNotificationChannel(c, desired, initial, opts...)
- return initial, desired, diffs, err
-}
-
-func canonicalizeNotificationChannelInitialState(rawInitial, rawDesired *NotificationChannel) (*NotificationChannel, error) {
- // TODO(magic-modules-eng): write canonicalizer once relevant traits are added.
- return rawInitial, nil
-}
-
-/*
-* Canonicalizers
-*
-* These are responsible for converting either a user-specified config or a
-* GCP API response to a standard format that can be used for difference checking.
-* */
-
-func canonicalizeNotificationChannelDesiredState(rawDesired, rawInitial *NotificationChannel, opts ...dcl.ApplyOption) (*NotificationChannel, error) {
-
- if dcl.IsZeroValue(rawDesired.Enabled) {
- rawDesired.Enabled = dcl.Bool(true)
- }
-
- if rawInitial == nil {
- // Since the initial state is empty, the desired state is all we have.
- // We canonicalize the remaining nested objects with nil to pick up defaults.
-
- return rawDesired, nil
- }
- canonicalDesired := &NotificationChannel{}
- if dcl.StringCanonicalize(rawDesired.Description, rawInitial.Description) {
- canonicalDesired.Description = rawInitial.Description
- } else {
- canonicalDesired.Description = rawDesired.Description
- }
- if dcl.StringCanonicalize(rawDesired.DisplayName, rawInitial.DisplayName) {
- canonicalDesired.DisplayName = rawInitial.DisplayName
- } else {
- canonicalDesired.DisplayName = rawDesired.DisplayName
- }
- if dcl.BoolCanonicalize(rawDesired.Enabled, rawInitial.Enabled) {
- canonicalDesired.Enabled = rawInitial.Enabled
- } else {
- canonicalDesired.Enabled = rawDesired.Enabled
- }
- if dcl.IsZeroValue(rawDesired.Labels) || (dcl.IsEmptyValueIndirect(rawDesired.Labels) && dcl.IsEmptyValueIndirect(rawInitial.Labels)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- canonicalDesired.Labels = rawInitial.Labels
- } else {
- canonicalDesired.Labels = rawDesired.Labels
- }
- if dcl.IsZeroValue(rawDesired.Name) || (dcl.IsEmptyValueIndirect(rawDesired.Name) && dcl.IsEmptyValueIndirect(rawInitial.Name)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- canonicalDesired.Name = rawInitial.Name
- } else {
- canonicalDesired.Name = rawDesired.Name
- }
- if dcl.StringCanonicalize(rawDesired.Type, rawInitial.Type) {
- canonicalDesired.Type = rawInitial.Type
- } else {
- canonicalDesired.Type = rawDesired.Type
- }
- if dcl.IsZeroValue(rawDesired.UserLabels) || (dcl.IsEmptyValueIndirect(rawDesired.UserLabels) && dcl.IsEmptyValueIndirect(rawInitial.UserLabels)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- canonicalDesired.UserLabels = rawInitial.UserLabels
- } else {
- canonicalDesired.UserLabels = rawDesired.UserLabels
- }
- if dcl.NameToSelfLink(rawDesired.Project, rawInitial.Project) {
- canonicalDesired.Project = rawInitial.Project
- } else {
- canonicalDesired.Project = rawDesired.Project
- }
- return canonicalDesired, nil
-}
-
-func canonicalizeNotificationChannelNewState(c *Client, rawNew, rawDesired *NotificationChannel) (*NotificationChannel, error) {
-
- if dcl.IsEmptyValueIndirect(rawNew.Description) && dcl.IsEmptyValueIndirect(rawDesired.Description) {
- rawNew.Description = rawDesired.Description
- } else {
- if dcl.StringCanonicalize(rawDesired.Description, rawNew.Description) {
- rawNew.Description = rawDesired.Description
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.DisplayName) && dcl.IsEmptyValueIndirect(rawDesired.DisplayName) {
- rawNew.DisplayName = rawDesired.DisplayName
- } else {
- if dcl.StringCanonicalize(rawDesired.DisplayName, rawNew.DisplayName) {
- rawNew.DisplayName = rawDesired.DisplayName
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Enabled) && dcl.IsEmptyValueIndirect(rawDesired.Enabled) {
- rawNew.Enabled = rawDesired.Enabled
- } else {
- if dcl.BoolCanonicalize(rawDesired.Enabled, rawNew.Enabled) {
- rawNew.Enabled = rawDesired.Enabled
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Labels) && dcl.IsEmptyValueIndirect(rawDesired.Labels) {
- rawNew.Labels = rawDesired.Labels
- } else {
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Name) && dcl.IsEmptyValueIndirect(rawDesired.Name) {
- rawNew.Name = rawDesired.Name
- } else {
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Type) && dcl.IsEmptyValueIndirect(rawDesired.Type) {
- rawNew.Type = rawDesired.Type
- } else {
- if dcl.StringCanonicalize(rawDesired.Type, rawNew.Type) {
- rawNew.Type = rawDesired.Type
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.UserLabels) && dcl.IsEmptyValueIndirect(rawDesired.UserLabels) {
- rawNew.UserLabels = rawDesired.UserLabels
- } else {
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.VerificationStatus) && dcl.IsEmptyValueIndirect(rawDesired.VerificationStatus) {
- rawNew.VerificationStatus = rawDesired.VerificationStatus
- } else {
- }
-
- rawNew.Project = rawDesired.Project
-
- return rawNew, nil
-}
-
-// The differ returns a list of diffs, along with a list of operations that should be taken
-// to remedy them. Right now, it does not attempt to consolidate operations - if several
-// fields can be fixed with a patch update, it will perform the patch several times.
-// Diffs on some fields will be ignored if the `desired` state has an empty (nil)
-// value. This empty value indicates that the user does not care about the state for
-// the field. Empty fields on the actual object will cause diffs.
-// TODO(magic-modules-eng): for efficiency in some resources, add batching.
-func diffNotificationChannel(c *Client, desired, actual *NotificationChannel, opts ...dcl.ApplyOption) ([]*dcl.FieldDiff, error) {
- if desired == nil || actual == nil {
- return nil, fmt.Errorf("nil resource passed to diff - always a programming error: %#v, %#v", desired, actual)
- }
-
- c.Config.Logger.Infof("Diff function called with desired state: %v", desired)
- c.Config.Logger.Infof("Diff function called with actual state: %v", actual)
-
- var fn dcl.FieldName
- var newDiffs []*dcl.FieldDiff
- // New style diffs.
- if ds, err := dcl.Diff(desired.Description, actual.Description, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateNotificationChannelUpdateOperation")}, fn.AddNest("Description")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.DisplayName, actual.DisplayName, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateNotificationChannelUpdateOperation")}, fn.AddNest("DisplayName")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Enabled, actual.Enabled, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateNotificationChannelUpdateOperation")}, fn.AddNest("Enabled")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Labels, actual.Labels, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateNotificationChannelUpdateOperation")}, fn.AddNest("Labels")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Name")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Type, actual.Type, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateNotificationChannelUpdateOperation")}, fn.AddNest("Type")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.UserLabels, actual.UserLabels, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateNotificationChannelUpdateOperation")}, fn.AddNest("UserLabels")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.VerificationStatus, actual.VerificationStatus, dcl.DiffInfo{OutputOnly: true, Type: "EnumType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("VerificationStatus")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Project, actual.Project, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Project")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if len(newDiffs) > 0 {
- c.Config.Logger.Infof("Diff function found diffs: %v", newDiffs)
- }
- return newDiffs, nil
-}
-
-// urlNormalized returns a copy of the resource struct with values normalized
-// for URL substitutions. For instance, it converts long-form self-links to
-// short-form so they can be substituted in.
-func (r *NotificationChannel) urlNormalized() *NotificationChannel {
- normalized := dcl.Copy(*r).(NotificationChannel)
- normalized.Description = dcl.SelfLinkToName(r.Description)
- normalized.DisplayName = dcl.SelfLinkToName(r.DisplayName)
- normalized.Name = dcl.SelfLinkToName(r.Name)
- normalized.Type = dcl.SelfLinkToName(r.Type)
- normalized.Project = dcl.SelfLinkToName(r.Project)
- return &normalized
-}
-
-func (r *NotificationChannel) updateURL(userBasePath, updateName string) (string, error) {
- nr := r.urlNormalized()
- if updateName == "update" {
- fields := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("projects/{{project}}/notificationChannels/{{name}}", nr.basePath(), userBasePath, fields), nil
-
- }
-
- return "", fmt.Errorf("unknown update name: %s", updateName)
-}
-
-// marshal encodes the NotificationChannel resource into JSON for a Create request, and
-// performs transformations from the resource schema to the API schema if
-// necessary.
-func (r *NotificationChannel) marshal(c *Client) ([]byte, error) {
- m, err := expandNotificationChannel(c, r)
- if err != nil {
- return nil, fmt.Errorf("error marshalling NotificationChannel: %w", err)
- }
-
- return json.Marshal(m)
-}
-
-// unmarshalNotificationChannel decodes JSON responses into the NotificationChannel resource schema.
-func unmarshalNotificationChannel(b []byte, c *Client, res *NotificationChannel) (*NotificationChannel, error) {
- var m map[string]interface{}
- if err := json.Unmarshal(b, &m); err != nil {
- return nil, err
- }
- return unmarshalMapNotificationChannel(m, c, res)
-}
-
-func unmarshalMapNotificationChannel(m map[string]interface{}, c *Client, res *NotificationChannel) (*NotificationChannel, error) {
-
- flattened := flattenNotificationChannel(c, m, res)
- if flattened == nil {
- return nil, fmt.Errorf("attempted to flatten empty json object")
- }
- return flattened, nil
-}
-
-// expandNotificationChannel expands NotificationChannel into a JSON request object.
-func expandNotificationChannel(c *Client, f *NotificationChannel) (map[string]interface{}, error) {
- m := make(map[string]interface{})
- res := f
- _ = res
- if v := f.Description; dcl.ValueShouldBeSent(v) {
- m["description"] = v
- }
- if v := f.DisplayName; dcl.ValueShouldBeSent(v) {
- m["displayName"] = v
- }
- if v := f.Enabled; dcl.ValueShouldBeSent(v) {
- m["enabled"] = v
- }
- if v := f.Labels; dcl.ValueShouldBeSent(v) {
- m["labels"] = v
- }
- if v := f.Name; dcl.ValueShouldBeSent(v) {
- m["name"] = v
- }
- if v := f.Type; dcl.ValueShouldBeSent(v) {
- m["type"] = v
- }
- if v := f.UserLabels; dcl.ValueShouldBeSent(v) {
- m["userLabels"] = v
- }
- if v, err := dcl.EmptyValue(); err != nil {
- return nil, fmt.Errorf("error expanding Project into project: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["project"] = v
- }
-
- return m, nil
-}
-
-// flattenNotificationChannel flattens NotificationChannel from a JSON request object into the
-// NotificationChannel type.
-func flattenNotificationChannel(c *Client, i interface{}, res *NotificationChannel) *NotificationChannel {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
- if len(m) == 0 {
- return nil
- }
-
- resultRes := &NotificationChannel{}
- resultRes.Description = dcl.FlattenString(m["description"])
- resultRes.DisplayName = dcl.FlattenString(m["displayName"])
- resultRes.Enabled = dcl.FlattenBool(m["enabled"])
- if _, ok := m["enabled"]; !ok {
- c.Config.Logger.Info("Using default value for enabled")
- resultRes.Enabled = dcl.Bool(true)
- }
- resultRes.Labels = dcl.FlattenKeyValuePairs(m["labels"])
- resultRes.Name = dcl.SelfLinkToName(dcl.FlattenString(m["name"]))
- resultRes.Type = dcl.FlattenString(m["type"])
- resultRes.UserLabels = dcl.FlattenKeyValuePairs(m["userLabels"])
- resultRes.VerificationStatus = flattenNotificationChannelVerificationStatusEnum(m["verificationStatus"])
- resultRes.Project = dcl.FlattenString(m["project"])
-
- return resultRes
-}
-
-// flattenNotificationChannelVerificationStatusEnumMap flattens the contents of NotificationChannelVerificationStatusEnum from a JSON
-// response object.
-func flattenNotificationChannelVerificationStatusEnumMap(c *Client, i interface{}, res *NotificationChannel) map[string]NotificationChannelVerificationStatusEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]NotificationChannelVerificationStatusEnum{}
- }
-
- if len(a) == 0 {
- return map[string]NotificationChannelVerificationStatusEnum{}
- }
-
- items := make(map[string]NotificationChannelVerificationStatusEnum)
- for k, item := range a {
- items[k] = *flattenNotificationChannelVerificationStatusEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenNotificationChannelVerificationStatusEnumSlice flattens the contents of NotificationChannelVerificationStatusEnum from a JSON
-// response object.
-func flattenNotificationChannelVerificationStatusEnumSlice(c *Client, i interface{}, res *NotificationChannel) []NotificationChannelVerificationStatusEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []NotificationChannelVerificationStatusEnum{}
- }
-
- if len(a) == 0 {
- return []NotificationChannelVerificationStatusEnum{}
- }
-
- items := make([]NotificationChannelVerificationStatusEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenNotificationChannelVerificationStatusEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenNotificationChannelVerificationStatusEnum asserts that an interface is a string, and returns a
-// pointer to a *NotificationChannelVerificationStatusEnum with the same value as that string.
-func flattenNotificationChannelVerificationStatusEnum(i interface{}) *NotificationChannelVerificationStatusEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return NotificationChannelVerificationStatusEnumRef(s)
-}
-
-// This function returns a matcher that checks whether a serialized resource matches this resource
-// in its parameters (as defined by the fields in a Get, which definitionally define resource
-// identity). This is useful in extracting the element from a List call.
-func (r *NotificationChannel) matcher(c *Client) func([]byte) bool {
- return func(b []byte) bool {
- cr, err := unmarshalNotificationChannel(b, c, r)
- if err != nil {
- c.Config.Logger.Warning("failed to unmarshal provided resource in matcher.")
- return false
- }
- nr := r.urlNormalized()
- ncr := cr.urlNormalized()
- c.Config.Logger.Infof("looking for %v\nin %v", nr, ncr)
-
- if nr.Project == nil && ncr.Project == nil {
- c.Config.Logger.Info("Both Project fields null - considering equal.")
- } else if nr.Project == nil || ncr.Project == nil {
- c.Config.Logger.Info("Only one Project field is null - considering unequal.")
- return false
- } else if *nr.Project != *ncr.Project {
- return false
- }
- if nr.Name == nil && ncr.Name == nil {
- c.Config.Logger.Info("Both Name fields null - considering equal.")
- } else if nr.Name == nil || ncr.Name == nil {
- c.Config.Logger.Info("Only one Name field is null - considering unequal.")
- return false
- } else if *nr.Name != *ncr.Name {
- return false
- }
- return true
- }
-}
-
-type notificationChannelDiff struct {
- // The diff should include one or the other of RequiresRecreate or UpdateOp.
- RequiresRecreate bool
- UpdateOp notificationChannelApiOperation
- FieldName string // used for error logging
-}
-
-func convertFieldDiffsToNotificationChannelDiffs(config *dcl.Config, fds []*dcl.FieldDiff, opts []dcl.ApplyOption) ([]notificationChannelDiff, error) {
- opNamesToFieldDiffs := make(map[string][]*dcl.FieldDiff)
- // Map each operation name to the field diffs associated with it.
- for _, fd := range fds {
- for _, ro := range fd.ResultingOperation {
- if fieldDiffs, ok := opNamesToFieldDiffs[ro]; ok {
- fieldDiffs = append(fieldDiffs, fd)
- opNamesToFieldDiffs[ro] = fieldDiffs
- } else {
- config.Logger.Infof("%s required due to diff: %v", ro, fd)
- opNamesToFieldDiffs[ro] = []*dcl.FieldDiff{fd}
- }
- }
- }
- var diffs []notificationChannelDiff
- // For each operation name, create a notificationChannelDiff which contains the operation.
- for opName, fieldDiffs := range opNamesToFieldDiffs {
- // Use the first field diff's field name for logging required recreate error.
- diff := notificationChannelDiff{FieldName: fieldDiffs[0].FieldName}
- if opName == "Recreate" {
- diff.RequiresRecreate = true
- } else {
- apiOp, err := convertOpNameToNotificationChannelApiOperation(opName, fieldDiffs, opts...)
- if err != nil {
- return diffs, err
- }
- diff.UpdateOp = apiOp
- }
- diffs = append(diffs, diff)
- }
- return diffs, nil
-}
-
-func convertOpNameToNotificationChannelApiOperation(opName string, fieldDiffs []*dcl.FieldDiff, opts ...dcl.ApplyOption) (notificationChannelApiOperation, error) {
- switch opName {
-
- case "updateNotificationChannelUpdateOperation":
- return &updateNotificationChannelUpdateOperation{FieldDiffs: fieldDiffs}, nil
-
- default:
- return nil, fmt.Errorf("no such operation with name: %v", opName)
- }
-}
-
-func extractNotificationChannelFields(r *NotificationChannel) error {
- return nil
-}
-
-func postReadExtractNotificationChannelFields(r *NotificationChannel) error {
- return nil
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/notification_channel_schema.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/notification_channel_schema.go
deleted file mode 100644
index e6fb7c3df9..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/notification_channel_schema.go
+++ /dev/null
@@ -1,169 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 monitoring
-
-import (
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-func DCLNotificationChannelSchema() *dcl.Schema {
- return &dcl.Schema{
- Info: &dcl.Info{
- Title: "Monitoring/NotificationChannel",
- Description: "The Monitoring NotificationChannel resource",
- StructName: "NotificationChannel",
- },
- Paths: &dcl.Paths{
- Get: &dcl.Path{
- Description: "The function used to get information about a NotificationChannel",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "notificationChannel",
- Required: true,
- Description: "A full instance of a NotificationChannel",
- },
- },
- },
- Apply: &dcl.Path{
- Description: "The function used to apply information about a NotificationChannel",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "notificationChannel",
- Required: true,
- Description: "A full instance of a NotificationChannel",
- },
- },
- },
- Delete: &dcl.Path{
- Description: "The function used to delete a NotificationChannel",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "notificationChannel",
- Required: true,
- Description: "A full instance of a NotificationChannel",
- },
- },
- },
- DeleteAll: &dcl.Path{
- Description: "The function used to delete all NotificationChannel",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "project",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- },
- },
- List: &dcl.Path{
- Description: "The function used to list information about many NotificationChannel",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "project",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- },
- },
- },
- Components: &dcl.Components{
- Schemas: map[string]*dcl.Component{
- "NotificationChannel": &dcl.Component{
- Title: "NotificationChannel",
- ID: "projects/{{project}}/notificationChannels/{{name}}",
- ParentContainer: "project",
- HasCreate: true,
- SchemaProperty: dcl.Property{
- Type: "object",
- Properties: map[string]*dcl.Property{
- "description": &dcl.Property{
- Type: "string",
- GoName: "Description",
- Description: "An optional human-readable description of this notification channel. This description may provide additional details, beyond the display name, for the channel. This may not exceed 1024 Unicode characters.",
- },
- "displayName": &dcl.Property{
- Type: "string",
- GoName: "DisplayName",
- Description: "An optional human-readable name for this notification channel. It is recommended that you specify a non-empty and unique name in order to make it easier to identify the channels in your project, though this is not enforced. The display name is limited to 512 Unicode characters.",
- },
- "enabled": &dcl.Property{
- Type: "boolean",
- GoName: "Enabled",
- Description: "Whether notifications are forwarded to the described channel. This makes it possible to disable delivery of notifications to a particular channel without removing the channel from all alerting policies that reference the channel. This is a more convenient approach when the change is temporary and you want to receive notifications from the same set of alerting policies on the channel at some point in the future.",
- Default: true,
- },
- "labels": &dcl.Property{
- Type: "object",
- AdditionalProperties: &dcl.Property{
- Type: "string",
- },
- GoName: "Labels",
- Description: "Configuration fields that define the channel and its behavior. The permissible and required labels are specified in the [NotificationChannelDescriptor.labels][google.monitoring.v3.NotificationChannelDescriptor.labels] of the `NotificationChannelDescriptor` corresponding to the `type` field.",
- },
- "name": &dcl.Property{
- Type: "string",
- GoName: "Name",
- Description: "The full REST resource name for this channel. The format is: projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID] The `[CHANNEL_ID]` is automatically assigned by the server on creation.",
- Immutable: true,
- ServerGeneratedParameter: true,
- },
- "project": &dcl.Property{
- Type: "string",
- GoName: "Project",
- Description: "The project for this notification channel.",
- Immutable: true,
- ResourceReferences: []*dcl.PropertyResourceReference{
- &dcl.PropertyResourceReference{
- Resource: "Cloudresourcemanager/Project",
- Field: "name",
- Parent: true,
- },
- },
- },
- "type": &dcl.Property{
- Type: "string",
- GoName: "Type",
- Description: "The type of the notification channel. This field matches the value of the [NotificationChannelDescriptor.type][google.monitoring.v3.NotificationChannelDescriptor.type] field.",
- },
- "userLabels": &dcl.Property{
- Type: "object",
- AdditionalProperties: &dcl.Property{
- Type: "string",
- },
- GoName: "UserLabels",
- Description: "User-supplied key/value data that does not need to conform to the corresponding `NotificationChannelDescriptor`'s schema, unlike the `labels` field. This field is intended to be used for orv3nizing and identifying the `NotificationChannel` objects. The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter.",
- },
- "verificationStatus": &dcl.Property{
- Type: "string",
- GoName: "VerificationStatus",
- GoType: "NotificationChannelVerificationStatusEnum",
- ReadOnly: true,
- Description: "Indicates whether this channel has been verified or not. On a [`ListNotificationChannels`][google.monitoring.v3.NotificationChannelService.ListNotificationChannels] or [`GetNotificationChannel`][google.monitoring.v3.NotificationChannelService.GetNotificationChannel] operation, this field is expected to be populated. If the value is `UNVERIFIED`, then it indicates that the channel is non-functioning (it both requires verification and lacks verification); otherwise, it is assumed that the channel works. If the channel is neither `VERIFIED` nor `UNVERIFIED`, it implies that the channel is of a type that does not require verification or that this specific channel has been exempted from verification because it was created prior to verification being required for channels of this type. This field cannot be modified using a standard [`UpdateNotificationChannel`][google.monitoring.v3.NotificationChannelService.UpdateNotificationChannel] operation. To change the value of this field, you must call [`VerifyNotificationChannel`][google.monitoring.v3.NotificationChannelService.VerifyNotificationChannel]. Possible values: VERIFICATION_STATUS_UNSPECIFIED, UNVERIFIED, VERIFIED",
- Immutable: true,
- Enum: []string{
- "VERIFICATION_STATUS_UNSPECIFIED",
- "UNVERIFIED",
- "VERIFIED",
- },
- },
- },
- },
- },
- },
- },
- }
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/notification_channel_yaml_embed.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/notification_channel_yaml_embed.go
deleted file mode 100644
index bf959c7ef4..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/notification_channel_yaml_embed.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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.
-// GENERATED BY gen_go_data.go
-// gen_go_data -package monitoring -var YAML_notification_channel blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/monitoring/notification_channel.yaml
-
-package monitoring
-
-// blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/monitoring/notification_channel.yaml
-var YAML_notification_channel = []byte("info:\n title: Monitoring/NotificationChannel\n description: The Monitoring NotificationChannel resource\n x-dcl-struct-name: NotificationChannel\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a NotificationChannel\n parameters:\n - name: notificationChannel\n required: true\n description: A full instance of a NotificationChannel\n apply:\n description: The function used to apply information about a NotificationChannel\n parameters:\n - name: notificationChannel\n required: true\n description: A full instance of a NotificationChannel\n delete:\n description: The function used to delete a NotificationChannel\n parameters:\n - name: notificationChannel\n required: true\n description: A full instance of a NotificationChannel\n deleteAll:\n description: The function used to delete all NotificationChannel\n parameters:\n - name: project\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many NotificationChannel\n parameters:\n - name: project\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n NotificationChannel:\n title: NotificationChannel\n x-dcl-id: projects/{{project}}/notificationChannels/{{name}}\n x-dcl-parent-container: project\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n properties:\n description:\n type: string\n x-dcl-go-name: Description\n description: An optional human-readable description of this notification\n channel. This description may provide additional details, beyond the display\n name, for the channel. This may not exceed 1024 Unicode characters.\n displayName:\n type: string\n x-dcl-go-name: DisplayName\n description: An optional human-readable name for this notification channel.\n It is recommended that you specify a non-empty and unique name in order\n to make it easier to identify the channels in your project, though this\n is not enforced. The display name is limited to 512 Unicode characters.\n enabled:\n type: boolean\n x-dcl-go-name: Enabled\n description: Whether notifications are forwarded to the described channel.\n This makes it possible to disable delivery of notifications to a particular\n channel without removing the channel from all alerting policies that reference\n the channel. This is a more convenient approach when the change is temporary\n and you want to receive notifications from the same set of alerting policies\n on the channel at some point in the future.\n default: true\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: Configuration fields that define the channel and its behavior.\n The permissible and required labels are specified in the [NotificationChannelDescriptor.labels][google.monitoring.v3.NotificationChannelDescriptor.labels]\n of the `NotificationChannelDescriptor` corresponding to the `type` field.\n name:\n type: string\n x-dcl-go-name: Name\n description: 'The full REST resource name for this channel. The format is:\n projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID] The\n `[CHANNEL_ID]` is automatically assigned by the server on creation.'\n x-kubernetes-immutable: true\n x-dcl-server-generated-parameter: true\n project:\n type: string\n x-dcl-go-name: Project\n description: The project for this notification channel.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n type:\n type: string\n x-dcl-go-name: Type\n description: The type of the notification channel. This field matches the\n value of the [NotificationChannelDescriptor.type][google.monitoring.v3.NotificationChannelDescriptor.type]\n field.\n userLabels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: UserLabels\n description: User-supplied key/value data that does not need to conform\n to the corresponding `NotificationChannelDescriptor`'s schema, unlike\n the `labels` field. This field is intended to be used for orv3nizing and\n identifying the `NotificationChannel` objects. The field can contain up\n to 64 entries. Each key and value is limited to 63 Unicode characters\n or 128 bytes, whichever is smaller. Labels and values can contain only\n lowercase letters, numerals, underscores, and dashes. Keys must begin\n with a letter.\n verificationStatus:\n type: string\n x-dcl-go-name: VerificationStatus\n x-dcl-go-type: NotificationChannelVerificationStatusEnum\n readOnly: true\n description: 'Indicates whether this channel has been verified or not. On\n a [`ListNotificationChannels`][google.monitoring.v3.NotificationChannelService.ListNotificationChannels]\n or [`GetNotificationChannel`][google.monitoring.v3.NotificationChannelService.GetNotificationChannel]\n operation, this field is expected to be populated. If the value is `UNVERIFIED`,\n then it indicates that the channel is non-functioning (it both requires\n verification and lacks verification); otherwise, it is assumed that the\n channel works. If the channel is neither `VERIFIED` nor `UNVERIFIED`,\n it implies that the channel is of a type that does not require verification\n or that this specific channel has been exempted from verification because\n it was created prior to verification being required for channels of this\n type. This field cannot be modified using a standard [`UpdateNotificationChannel`][google.monitoring.v3.NotificationChannelService.UpdateNotificationChannel]\n operation. To change the value of this field, you must call [`VerifyNotificationChannel`][google.monitoring.v3.NotificationChannelService.VerifyNotificationChannel].\n Possible values: VERIFICATION_STATUS_UNSPECIFIED, UNVERIFIED, VERIFIED'\n x-kubernetes-immutable: true\n enum:\n - VERIFICATION_STATUS_UNSPECIFIED\n - UNVERIFIED\n - VERIFIED\n")
-
-// 6783 bytes
-// MD5: bec4a53064e865b4f3960c5be143e55f
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/service.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/service.go
deleted file mode 100644
index 8db6c74af2..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/service.go
+++ /dev/null
@@ -1,463 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 monitoring
-
-import (
- "context"
- "crypto/sha256"
- "encoding/json"
- "fmt"
- "time"
-
- "google.golang.org/api/googleapi"
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-type Service struct {
- Name *string `json:"name"`
- DisplayName *string `json:"displayName"`
- Custom *ServiceCustom `json:"custom"`
- Telemetry *ServiceTelemetry `json:"telemetry"`
- UserLabels map[string]string `json:"userLabels"`
- Project *string `json:"project"`
-}
-
-func (r *Service) String() string {
- return dcl.SprintResource(r)
-}
-
-type ServiceCustom struct {
- empty bool `json:"-"`
-}
-
-type jsonServiceCustom ServiceCustom
-
-func (r *ServiceCustom) UnmarshalJSON(data []byte) error {
- var res jsonServiceCustom
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyServiceCustom
- } else {
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this ServiceCustom is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyServiceCustom *ServiceCustom = &ServiceCustom{empty: true}
-
-func (r *ServiceCustom) Empty() bool {
- return r.empty
-}
-
-func (r *ServiceCustom) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *ServiceCustom) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type ServiceTelemetry struct {
- empty bool `json:"-"`
- ResourceName *string `json:"resourceName"`
-}
-
-type jsonServiceTelemetry ServiceTelemetry
-
-func (r *ServiceTelemetry) UnmarshalJSON(data []byte) error {
- var res jsonServiceTelemetry
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyServiceTelemetry
- } else {
-
- r.ResourceName = res.ResourceName
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this ServiceTelemetry is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyServiceTelemetry *ServiceTelemetry = &ServiceTelemetry{empty: true}
-
-func (r *ServiceTelemetry) Empty() bool {
- return r.empty
-}
-
-func (r *ServiceTelemetry) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *ServiceTelemetry) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-// Describe returns a simple description of this resource to ensure that automated tools
-// can identify it.
-func (r *Service) Describe() dcl.ServiceTypeVersion {
- return dcl.ServiceTypeVersion{
- Service: "monitoring",
- Type: "Service",
- Version: "monitoring",
- }
-}
-
-func (r *Service) ID() (string, error) {
- if err := extractServiceFields(r); err != nil {
- return "", err
- }
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "name": dcl.ValueOrEmptyString(nr.Name),
- "display_name": dcl.ValueOrEmptyString(nr.DisplayName),
- "custom": dcl.ValueOrEmptyString(nr.Custom),
- "telemetry": dcl.ValueOrEmptyString(nr.Telemetry),
- "user_labels": dcl.ValueOrEmptyString(nr.UserLabels),
- "project": dcl.ValueOrEmptyString(nr.Project),
- }
- return dcl.Nprintf("projects/{{project}}/services/{{name}}", params), nil
-}
-
-const ServiceMaxPage = -1
-
-type ServiceList struct {
- Items []*Service
-
- nextToken string
-
- pageSize int32
-
- resource *Service
-}
-
-func (l *ServiceList) HasNext() bool {
- return l.nextToken != ""
-}
-
-func (l *ServiceList) Next(ctx context.Context, c *Client) error {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- if !l.HasNext() {
- return fmt.Errorf("no next page")
- }
- items, token, err := c.listService(ctx, l.resource, l.nextToken, l.pageSize)
- if err != nil {
- return err
- }
- l.Items = items
- l.nextToken = token
- return err
-}
-
-func (c *Client) ListService(ctx context.Context, project string) (*ServiceList, error) {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- return c.ListServiceWithMaxResults(ctx, project, ServiceMaxPage)
-
-}
-
-func (c *Client) ListServiceWithMaxResults(ctx context.Context, project string, pageSize int32) (*ServiceList, error) {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- // Create a resource object so that we can use proper url normalization methods.
- r := &Service{
- Project: &project,
- }
- items, token, err := c.listService(ctx, r, "", pageSize)
- if err != nil {
- return nil, err
- }
- return &ServiceList{
- Items: items,
- nextToken: token,
- pageSize: pageSize,
- resource: r,
- }, nil
-}
-
-func (c *Client) GetService(ctx context.Context, r *Service) (*Service, error) {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- // This is *purposefully* supressing errors.
- // This function is used with url-normalized values + not URL normalized values.
- // URL Normalized values will throw unintentional errors, since those values are not of the proper parent form.
- extractServiceFields(r)
-
- b, err := c.getServiceRaw(ctx, r)
- if err != nil {
- if dcl.IsNotFound(err) {
- return nil, &googleapi.Error{
- Code: 404,
- Message: err.Error(),
- }
- }
- return nil, err
- }
- result, err := unmarshalService(b, c, r)
- if err != nil {
- return nil, err
- }
- result.Project = r.Project
- result.Name = r.Name
- if dcl.IsZeroValue(result.Custom) {
- result.Custom = &ServiceCustom{}
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Retrieved raw result state: %v", result)
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalizing with specified state: %v", r)
- result, err = canonicalizeServiceNewState(c, result, r)
- if err != nil {
- return nil, err
- }
- if err := postReadExtractServiceFields(result); err != nil {
- return result, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Created result state: %v", result)
-
- return result, nil
-}
-
-func (c *Client) DeleteService(ctx context.Context, r *Service) error {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- if r == nil {
- return fmt.Errorf("Service resource is nil")
- }
- c.Config.Logger.InfoWithContext(ctx, "Deleting Service...")
- deleteOp := deleteServiceOperation{}
- return deleteOp.do(ctx, r, c)
-}
-
-// DeleteAllService deletes all resources that the filter functions returns true on.
-func (c *Client) DeleteAllService(ctx context.Context, project string, filter func(*Service) bool) error {
- listObj, err := c.ListService(ctx, project)
- if err != nil {
- return err
- }
-
- err = c.deleteAllService(ctx, filter, listObj.Items)
- if err != nil {
- return err
- }
- for listObj.HasNext() {
- err = listObj.Next(ctx, c)
- if err != nil {
- return nil
- }
- err = c.deleteAllService(ctx, filter, listObj.Items)
- if err != nil {
- return err
- }
- }
- return nil
-}
-
-func (c *Client) ApplyService(ctx context.Context, rawDesired *Service, opts ...dcl.ApplyOption) (*Service, error) {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- ctx = dcl.ContextWithRequestID(ctx)
- var resultNewState *Service
- err := dcl.Do(ctx, func(ctx context.Context) (*dcl.RetryDetails, error) {
- newState, err := applyServiceHelper(c, ctx, rawDesired, opts...)
- resultNewState = newState
- if err != nil {
- // If the error is 409, there is conflict in resource update.
- // Here we want to apply changes based on latest state.
- if dcl.IsConflictError(err) {
- return &dcl.RetryDetails{}, dcl.OperationNotDone{Err: err}
- }
- return nil, err
- }
- return nil, nil
- }, c.Config.RetryProvider)
- return resultNewState, err
-}
-
-func applyServiceHelper(c *Client, ctx context.Context, rawDesired *Service, opts ...dcl.ApplyOption) (*Service, error) {
- c.Config.Logger.InfoWithContext(ctx, "Beginning ApplyService...")
- c.Config.Logger.InfoWithContextf(ctx, "User specified desired state: %v", rawDesired)
-
- // 1.1: Validation of user-specified fields in desired state.
- if err := rawDesired.validate(); err != nil {
- return nil, err
- }
-
- if err := extractServiceFields(rawDesired); err != nil {
- return nil, err
- }
-
- initial, desired, fieldDiffs, err := c.serviceDiffsForRawDesired(ctx, rawDesired, opts...)
- if err != nil {
- return nil, fmt.Errorf("failed to create a diff: %w", err)
- }
-
- diffs, err := convertFieldDiffsToServiceDiffs(c.Config, fieldDiffs, opts)
- if err != nil {
- return nil, err
- }
-
- // TODO(magic-modules-eng): 2.2 Feasibility check (all updates are feasible so far).
-
- // 2.3: Lifecycle Directive Check
- var create bool
- lp := dcl.FetchLifecycleParams(opts)
- if initial == nil {
- if dcl.HasLifecycleParam(lp, dcl.BlockCreation) {
- return nil, dcl.ApplyInfeasibleError{Message: fmt.Sprintf("Creation blocked by lifecycle params: %#v.", desired)}
- }
- create = true
- } else if dcl.HasLifecycleParam(lp, dcl.BlockAcquire) {
- return nil, dcl.ApplyInfeasibleError{
- Message: fmt.Sprintf("Resource already exists - apply blocked by lifecycle params: %#v.", initial),
- }
- } else {
- for _, d := range diffs {
- if d.RequiresRecreate {
- return nil, dcl.ApplyInfeasibleError{
- Message: fmt.Sprintf("infeasible update: (%v) would require recreation", d),
- }
- }
- if dcl.HasLifecycleParam(lp, dcl.BlockModification) {
- return nil, dcl.ApplyInfeasibleError{Message: fmt.Sprintf("Modification blocked, diff (%v) unresolvable.", d)}
- }
- }
- }
-
- // 2.4 Imperative Request Planning
- var ops []serviceApiOperation
- if create {
- ops = append(ops, &createServiceOperation{})
- } else {
- for _, d := range diffs {
- ops = append(ops, d.UpdateOp)
- }
- }
- c.Config.Logger.InfoWithContextf(ctx, "Created plan: %#v", ops)
-
- // 2.5 Request Actuation
- for _, op := range ops {
- c.Config.Logger.InfoWithContextf(ctx, "Performing operation %T %+v", op, op)
- if err := op.do(ctx, desired, c); err != nil {
- c.Config.Logger.InfoWithContextf(ctx, "Failed operation %T %+v: %v", op, op, err)
- return nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Finished operation %T %+v", op, op)
- }
- return applyServiceDiff(c, ctx, desired, rawDesired, ops, opts...)
-}
-
-func applyServiceDiff(c *Client, ctx context.Context, desired *Service, rawDesired *Service, ops []serviceApiOperation, opts ...dcl.ApplyOption) (*Service, error) {
- // 3.1, 3.2a Retrieval of raw new state & canonicalization with desired state
- c.Config.Logger.InfoWithContext(ctx, "Retrieving raw new state...")
- rawNew, err := c.GetService(ctx, desired)
- if err != nil {
- return nil, err
- }
- // Get additional values from the first response.
- // These values should be merged into the newState above.
- if len(ops) > 0 {
- lastOp := ops[len(ops)-1]
- if o, ok := lastOp.(*createServiceOperation); ok {
- if r, hasR := o.FirstResponse(); hasR {
-
- c.Config.Logger.InfoWithContext(ctx, "Retrieving raw new state from operation...")
-
- fullResp, err := unmarshalMapService(r, c, rawDesired)
- if err != nil {
- return nil, err
- }
-
- rawNew, err = canonicalizeServiceNewState(c, rawNew, fullResp)
- if err != nil {
- return nil, err
- }
- }
- }
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalizing with raw desired state: %v", rawDesired)
- // 3.2b Canonicalization of raw new state using raw desired state
- newState, err := canonicalizeServiceNewState(c, rawNew, rawDesired)
- if err != nil {
- return rawNew, err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Created canonical new state: %v", newState)
- // 3.3 Comparison of the new state and raw desired state.
- // TODO(magic-modules-eng): EVENTUALLY_CONSISTENT_UPDATE
- newDesired, err := canonicalizeServiceDesiredState(rawDesired, newState)
- if err != nil {
- return newState, err
- }
-
- if err := postReadExtractServiceFields(newState); err != nil {
- return newState, err
- }
-
- // Need to ensure any transformations made here match acceptably in differ.
- if err := postReadExtractServiceFields(newDesired); err != nil {
- return newState, err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Diffing using canonicalized desired state: %v", newDesired)
- newDiffs, err := diffService(c, newDesired, newState)
- if err != nil {
- return newState, err
- }
-
- if len(newDiffs) == 0 {
- c.Config.Logger.InfoWithContext(ctx, "No diffs found. Apply was successful.")
- } else {
- c.Config.Logger.InfoWithContextf(ctx, "Found diffs: %v", newDiffs)
- diffMessages := make([]string, len(newDiffs))
- for i, d := range newDiffs {
- diffMessages[i] = fmt.Sprintf("%v", d)
- }
- return newState, dcl.DiffAfterApplyError{Diffs: diffMessages}
- }
- c.Config.Logger.InfoWithContext(ctx, "Done Apply.")
- return newState, nil
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/service.yaml b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/service.yaml
deleted file mode 100644
index 79c885bc8b..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/service.yaml
+++ /dev/null
@@ -1,108 +0,0 @@
-# Copyright 2023 Google LLC. All Rights Reserved.
-#
-# 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.
-info:
- title: Monitoring/Service
- description: The Monitoring Service resource
- x-dcl-struct-name: Service
- x-dcl-has-iam: false
-paths:
- get:
- description: The function used to get information about a Service
- parameters:
- - name: service
- required: true
- description: A full instance of a Service
- apply:
- description: The function used to apply information about a Service
- parameters:
- - name: service
- required: true
- description: A full instance of a Service
- delete:
- description: The function used to delete a Service
- parameters:
- - name: service
- required: true
- description: A full instance of a Service
- deleteAll:
- description: The function used to delete all Service
- parameters:
- - name: project
- required: true
- schema:
- type: string
- list:
- description: The function used to list information about many Service
- parameters:
- - name: project
- required: true
- schema:
- type: string
-components:
- schemas:
- Service:
- title: Service
- x-dcl-id: projects/{{project}}/services/{{name}}
- x-dcl-parent-container: project
- x-dcl-labels: userLabels
- x-dcl-has-create: true
- x-dcl-has-iam: false
- x-dcl-read-timeout: 0
- x-dcl-apply-timeout: 0
- x-dcl-delete-timeout: 0
- type: object
- required:
- - name
- - project
- properties:
- displayName:
- type: string
- x-dcl-go-name: DisplayName
- description: Name used for UI elements listing this Service.
- name:
- type: string
- x-dcl-go-name: Name
- description: 'Resource name for this Service. The format is: projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]'
- x-kubernetes-immutable: true
- project:
- type: string
- x-dcl-go-name: Project
- description: The project for the resource
- x-kubernetes-immutable: true
- x-dcl-references:
- - resource: Cloudresourcemanager/Project
- field: name
- parent: true
- telemetry:
- type: object
- x-dcl-go-name: Telemetry
- x-dcl-go-type: ServiceTelemetry
- description: Configuration for how to query telemetry on a Service.
- properties:
- resourceName:
- type: string
- x-dcl-go-name: ResourceName
- description: The full name of the resource that defines this service.
- Formatted as described in https://cloud.google.com/apis/design/resource_names.
- userLabels:
- type: object
- additionalProperties:
- type: string
- x-dcl-go-name: UserLabels
- description: Labels which have been used to annotate the service. Label
- keys must start with a letter. Label keys and values may contain lowercase
- letters, numbers, underscores, and dashes. Label keys and values have
- a maximum length of 63 characters, and must be less than 128 bytes in
- size. Up to 64 label entries may be stored. For labels which do not have
- a semantic value, the empty string may be supplied for the label value.
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/service_internal.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/service_internal.go
deleted file mode 100644
index a8bf358f75..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/service_internal.go
+++ /dev/null
@@ -1,1304 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 monitoring
-
-import (
- "bytes"
- "context"
- "encoding/json"
- "fmt"
- "io/ioutil"
- "strings"
-
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-func (r *Service) validate() error {
-
- if err := dcl.Required(r, "name"); err != nil {
- return err
- }
- if err := dcl.RequiredParameter(r.Project, "Project"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Custom) {
- if err := r.Custom.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Telemetry) {
- if err := r.Telemetry.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *ServiceCustom) validate() error {
- return nil
-}
-func (r *ServiceTelemetry) validate() error {
- return nil
-}
-func (r *Service) basePath() string {
- params := map[string]interface{}{}
- return dcl.Nprintf("https://monitoring.googleapis.com/v3/", params)
-}
-
-func (r *Service) getURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("projects/{{project}}/services/{{name}}", nr.basePath(), userBasePath, params), nil
-}
-
-func (r *Service) listURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- }
- return dcl.URL("projects/{{project}}/services", nr.basePath(), userBasePath, params), nil
-
-}
-
-func (r *Service) createURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("projects/{{project}}/services?serviceId={{name}}", nr.basePath(), userBasePath, params), nil
-
-}
-
-func (r *Service) deleteURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("projects/{{project}}/services/{{name}}", nr.basePath(), userBasePath, params), nil
-}
-
-// serviceApiOperation represents a mutable operation in the underlying REST
-// API such as Create, Update, or Delete.
-type serviceApiOperation interface {
- do(context.Context, *Service, *Client) error
-}
-
-// newUpdateServiceUpdateServiceRequest creates a request for an
-// Service resource's UpdateService update type by filling in the update
-// fields based on the intended state of the resource.
-func newUpdateServiceUpdateServiceRequest(ctx context.Context, f *Service, c *Client) (map[string]interface{}, error) {
- req := map[string]interface{}{}
- res := f
- _ = res
-
- if v := f.DisplayName; !dcl.IsEmptyValueIndirect(v) {
- req["displayName"] = v
- }
- if v, err := expandServiceCustom(c, f.Custom, res); err != nil {
- return nil, fmt.Errorf("error expanding Custom into custom: %w", err)
- } else if v != nil {
- req["custom"] = v
- }
- if v, err := expandServiceTelemetry(c, f.Telemetry, res); err != nil {
- return nil, fmt.Errorf("error expanding Telemetry into telemetry: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- req["telemetry"] = v
- }
- if v := f.UserLabels; !dcl.IsEmptyValueIndirect(v) {
- req["userLabels"] = v
- }
- return req, nil
-}
-
-// marshalUpdateServiceUpdateServiceRequest converts the update into
-// the final JSON request body.
-func marshalUpdateServiceUpdateServiceRequest(c *Client, m map[string]interface{}) ([]byte, error) {
-
- return json.Marshal(m)
-}
-
-type updateServiceUpdateServiceOperation struct {
- // If the update operation has the REQUIRES_APPLY_OPTIONS trait, this will be populated.
- // Usually it will be nil - this is to prevent us from accidentally depending on apply
- // options, which should usually be unnecessary.
- ApplyOptions []dcl.ApplyOption
- FieldDiffs []*dcl.FieldDiff
-}
-
-// do creates a request and sends it to the appropriate URL. In most operations,
-// do will transcribe a subset of the resource into a request object and send a
-// PUT request to a single URL.
-
-func (op *updateServiceUpdateServiceOperation) do(ctx context.Context, r *Service, c *Client) error {
- _, err := c.GetService(ctx, r)
- if err != nil {
- return err
- }
-
- u, err := r.updateURL(c.Config.BasePath, "UpdateService")
- if err != nil {
- return err
- }
- mask := dcl.UpdateMask(op.FieldDiffs)
- u, err = dcl.AddQueryParams(u, map[string]string{"updateMask": mask})
- if err != nil {
- return err
- }
-
- req, err := newUpdateServiceUpdateServiceRequest(ctx, r, c)
- if err != nil {
- return err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Created update: %#v", req)
- body, err := marshalUpdateServiceUpdateServiceRequest(c, req)
- if err != nil {
- return err
- }
- _, err = dcl.SendRequest(ctx, c.Config, "PATCH", u, bytes.NewBuffer(body), c.Config.RetryProvider)
- if err != nil {
- return err
- }
-
- return nil
-}
-
-func (c *Client) listServiceRaw(ctx context.Context, r *Service, pageToken string, pageSize int32) ([]byte, error) {
- u, err := r.urlNormalized().listURL(c.Config.BasePath)
- if err != nil {
- return nil, err
- }
-
- m := make(map[string]string)
- if pageToken != "" {
- m["pageToken"] = pageToken
- }
-
- if pageSize != ServiceMaxPage {
- m["pageSize"] = fmt.Sprintf("%v", pageSize)
- }
-
- u, err = dcl.AddQueryParams(u, m)
- if err != nil {
- return nil, err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
- if err != nil {
- return nil, err
- }
- defer resp.Response.Body.Close()
- return ioutil.ReadAll(resp.Response.Body)
-}
-
-type listServiceOperation struct {
- Services []map[string]interface{} `json:"services"`
- Token string `json:"nextPageToken"`
-}
-
-func (c *Client) listService(ctx context.Context, r *Service, pageToken string, pageSize int32) ([]*Service, string, error) {
- b, err := c.listServiceRaw(ctx, r, pageToken, pageSize)
- if err != nil {
- return nil, "", err
- }
-
- var m listServiceOperation
- if err := json.Unmarshal(b, &m); err != nil {
- return nil, "", err
- }
-
- var l []*Service
- for _, v := range m.Services {
- res, err := unmarshalMapService(v, c, r)
- if err != nil {
- return nil, m.Token, err
- }
- res.Project = r.Project
- l = append(l, res)
- }
-
- return l, m.Token, nil
-}
-
-func (c *Client) deleteAllService(ctx context.Context, f func(*Service) bool, resources []*Service) error {
- var errors []string
- for _, res := range resources {
- if f(res) {
- // We do not want deleteAll to fail on a deletion or else it will stop deleting other resources.
- err := c.DeleteService(ctx, res)
- if err != nil {
- errors = append(errors, err.Error())
- }
- }
- }
- if len(errors) > 0 {
- return fmt.Errorf("%v", strings.Join(errors, "\n"))
- } else {
- return nil
- }
-}
-
-type deleteServiceOperation struct{}
-
-func (op *deleteServiceOperation) do(ctx context.Context, r *Service, c *Client) error {
- r, err := c.GetService(ctx, r)
- if err != nil {
- if dcl.IsNotFound(err) {
- c.Config.Logger.InfoWithContextf(ctx, "Service not found, returning. Original error: %v", err)
- return nil
- }
- c.Config.Logger.WarningWithContextf(ctx, "GetService checking for existence. error: %v", err)
- return err
- }
-
- u, err := r.deleteURL(c.Config.BasePath)
- if err != nil {
- return err
- }
-
- // Delete should never have a body
- body := &bytes.Buffer{}
- _, err = dcl.SendRequest(ctx, c.Config, "DELETE", u, body, c.Config.RetryProvider)
- if err != nil {
- return fmt.Errorf("failed to delete Service: %w", err)
- }
- return nil
-}
-
-// Create operations are similar to Update operations, although they do not have
-// specific request objects. The Create request object is the json encoding of
-// the resource, which is modified by res.marshal to form the base request body.
-type createServiceOperation struct {
- response map[string]interface{}
-}
-
-func (op *createServiceOperation) FirstResponse() (map[string]interface{}, bool) {
- return op.response, len(op.response) > 0
-}
-
-func (op *createServiceOperation) do(ctx context.Context, r *Service, c *Client) error {
- c.Config.Logger.InfoWithContextf(ctx, "Attempting to create %v", r)
- u, err := r.createURL(c.Config.BasePath)
- if err != nil {
- return err
- }
-
- req, err := r.marshal(c)
- if err != nil {
- return err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "POST", u, bytes.NewBuffer(req), c.Config.RetryProvider)
- if err != nil {
- return err
- }
-
- o, err := dcl.ResponseBodyAsJSON(resp)
- if err != nil {
- return fmt.Errorf("error decoding response body into JSON: %w", err)
- }
- op.response = o
-
- if _, err := c.GetService(ctx, r); err != nil {
- c.Config.Logger.WarningWithContextf(ctx, "get returned error: %v", err)
- return err
- }
-
- return nil
-}
-
-func (c *Client) getServiceRaw(ctx context.Context, r *Service) ([]byte, error) {
- if dcl.IsZeroValue(r.Custom) {
- r.Custom = &ServiceCustom{}
- }
-
- u, err := r.getURL(c.Config.BasePath)
- if err != nil {
- return nil, err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
- if err != nil {
- return nil, err
- }
- defer resp.Response.Body.Close()
- b, err := ioutil.ReadAll(resp.Response.Body)
- if err != nil {
- return nil, err
- }
-
- return b, nil
-}
-
-func (c *Client) serviceDiffsForRawDesired(ctx context.Context, rawDesired *Service, opts ...dcl.ApplyOption) (initial, desired *Service, diffs []*dcl.FieldDiff, err error) {
- c.Config.Logger.InfoWithContext(ctx, "Fetching initial state...")
- // First, let us see if the user provided a state hint. If they did, we will start fetching based on that.
- var fetchState *Service
- if sh := dcl.FetchStateHint(opts); sh != nil {
- if r, ok := sh.(*Service); !ok {
- c.Config.Logger.WarningWithContextf(ctx, "Initial state hint was of the wrong type; expected Service, got %T", sh)
- } else {
- fetchState = r
- }
- }
- if fetchState == nil {
- fetchState = rawDesired
- }
-
- // 1.2: Retrieval of raw initial state from API
- rawInitial, err := c.GetService(ctx, fetchState)
- if rawInitial == nil {
- if !dcl.IsNotFound(err) {
- c.Config.Logger.WarningWithContextf(ctx, "Failed to retrieve whether a Service resource already exists: %s", err)
- return nil, nil, nil, fmt.Errorf("failed to retrieve Service resource: %v", err)
- }
- c.Config.Logger.InfoWithContext(ctx, "Found that Service resource did not exist.")
- // Perform canonicalization to pick up defaults.
- desired, err = canonicalizeServiceDesiredState(rawDesired, rawInitial)
- return nil, desired, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Found initial state for Service: %v", rawInitial)
- c.Config.Logger.InfoWithContextf(ctx, "Initial desired state for Service: %v", rawDesired)
-
- // The Get call applies postReadExtract and so the result may contain fields that are not part of API version.
- if err := extractServiceFields(rawInitial); err != nil {
- return nil, nil, nil, err
- }
-
- // 1.3: Canonicalize raw initial state into initial state.
- initial, err = canonicalizeServiceInitialState(rawInitial, rawDesired)
- if err != nil {
- return nil, nil, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalized initial state for Service: %v", initial)
-
- // 1.4: Canonicalize raw desired state into desired state.
- desired, err = canonicalizeServiceDesiredState(rawDesired, rawInitial, opts...)
- if err != nil {
- return nil, nil, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalized desired state for Service: %v", desired)
-
- // 2.1: Comparison of initial and desired state.
- diffs, err = diffService(c, desired, initial, opts...)
- return initial, desired, diffs, err
-}
-
-func canonicalizeServiceInitialState(rawInitial, rawDesired *Service) (*Service, error) {
- // TODO(magic-modules-eng): write canonicalizer once relevant traits are added.
- return rawInitial, nil
-}
-
-/*
-* Canonicalizers
-*
-* These are responsible for converting either a user-specified config or a
-* GCP API response to a standard format that can be used for difference checking.
-* */
-
-func canonicalizeServiceDesiredState(rawDesired, rawInitial *Service, opts ...dcl.ApplyOption) (*Service, error) {
-
- if dcl.IsZeroValue(rawDesired.Custom) {
- rawDesired.Custom = &ServiceCustom{}
- }
-
- if rawInitial == nil {
- // Since the initial state is empty, the desired state is all we have.
- // We canonicalize the remaining nested objects with nil to pick up defaults.
- rawDesired.Custom = canonicalizeServiceCustom(rawDesired.Custom, nil, opts...)
- rawDesired.Telemetry = canonicalizeServiceTelemetry(rawDesired.Telemetry, nil, opts...)
-
- return rawDesired, nil
- }
- canonicalDesired := &Service{}
- if dcl.PartialSelfLinkToSelfLink(rawDesired.Name, rawInitial.Name) {
- canonicalDesired.Name = rawInitial.Name
- } else {
- canonicalDesired.Name = rawDesired.Name
- }
- if dcl.StringCanonicalize(rawDesired.DisplayName, rawInitial.DisplayName) {
- canonicalDesired.DisplayName = rawInitial.DisplayName
- } else {
- canonicalDesired.DisplayName = rawDesired.DisplayName
- }
- canonicalDesired.Custom = canonicalizeServiceCustom(rawDesired.Custom, rawInitial.Custom, opts...)
- canonicalDesired.Telemetry = canonicalizeServiceTelemetry(rawDesired.Telemetry, rawInitial.Telemetry, opts...)
- if dcl.IsZeroValue(rawDesired.UserLabels) || (dcl.IsEmptyValueIndirect(rawDesired.UserLabels) && dcl.IsEmptyValueIndirect(rawInitial.UserLabels)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- canonicalDesired.UserLabels = rawInitial.UserLabels
- } else {
- canonicalDesired.UserLabels = rawDesired.UserLabels
- }
- if dcl.NameToSelfLink(rawDesired.Project, rawInitial.Project) {
- canonicalDesired.Project = rawInitial.Project
- } else {
- canonicalDesired.Project = rawDesired.Project
- }
- return canonicalDesired, nil
-}
-
-func canonicalizeServiceNewState(c *Client, rawNew, rawDesired *Service) (*Service, error) {
-
- if dcl.IsEmptyValueIndirect(rawNew.Name) && dcl.IsEmptyValueIndirect(rawDesired.Name) {
- rawNew.Name = rawDesired.Name
- } else {
- if dcl.PartialSelfLinkToSelfLink(rawDesired.Name, rawNew.Name) {
- rawNew.Name = rawDesired.Name
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.DisplayName) && dcl.IsEmptyValueIndirect(rawDesired.DisplayName) {
- rawNew.DisplayName = rawDesired.DisplayName
- } else {
- if dcl.StringCanonicalize(rawDesired.DisplayName, rawNew.DisplayName) {
- rawNew.DisplayName = rawDesired.DisplayName
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Custom) && dcl.IsEmptyValueIndirect(rawDesired.Custom) {
- rawNew.Custom = rawDesired.Custom
- } else {
- rawNew.Custom = canonicalizeNewServiceCustom(c, rawDesired.Custom, rawNew.Custom)
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Telemetry) && dcl.IsEmptyValueIndirect(rawDesired.Telemetry) {
- rawNew.Telemetry = rawDesired.Telemetry
- } else {
- rawNew.Telemetry = canonicalizeNewServiceTelemetry(c, rawDesired.Telemetry, rawNew.Telemetry)
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.UserLabels) && dcl.IsEmptyValueIndirect(rawDesired.UserLabels) {
- rawNew.UserLabels = rawDesired.UserLabels
- } else {
- }
-
- rawNew.Project = rawDesired.Project
-
- return rawNew, nil
-}
-
-func canonicalizeServiceCustom(des, initial *ServiceCustom, opts ...dcl.ApplyOption) *ServiceCustom {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
- if initial == nil {
- return des
- }
-
- cDes := &ServiceCustom{}
-
- return cDes
-}
-
-func canonicalizeServiceCustomSlice(des, initial []ServiceCustom, opts ...dcl.ApplyOption) []ServiceCustom {
- if des == nil {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]ServiceCustom, 0, len(des))
- for _, d := range des {
- cd := canonicalizeServiceCustom(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]ServiceCustom, 0, len(des))
- for i, d := range des {
- cd := canonicalizeServiceCustom(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewServiceCustom(c *Client, des, nw *ServiceCustom) *ServiceCustom {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for ServiceCustom while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewServiceCustomSet(c *Client, des, nw []ServiceCustom) []ServiceCustom {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []ServiceCustom
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareServiceCustomNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewServiceCustom(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewServiceCustomSlice(c *Client, des, nw []ServiceCustom) []ServiceCustom {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []ServiceCustom
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewServiceCustom(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeServiceTelemetry(des, initial *ServiceTelemetry, opts ...dcl.ApplyOption) *ServiceTelemetry {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &ServiceTelemetry{}
-
- if dcl.StringCanonicalize(des.ResourceName, initial.ResourceName) || dcl.IsZeroValue(des.ResourceName) {
- cDes.ResourceName = initial.ResourceName
- } else {
- cDes.ResourceName = des.ResourceName
- }
-
- return cDes
-}
-
-func canonicalizeServiceTelemetrySlice(des, initial []ServiceTelemetry, opts ...dcl.ApplyOption) []ServiceTelemetry {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]ServiceTelemetry, 0, len(des))
- for _, d := range des {
- cd := canonicalizeServiceTelemetry(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]ServiceTelemetry, 0, len(des))
- for i, d := range des {
- cd := canonicalizeServiceTelemetry(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewServiceTelemetry(c *Client, des, nw *ServiceTelemetry) *ServiceTelemetry {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for ServiceTelemetry while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.ResourceName, nw.ResourceName) {
- nw.ResourceName = des.ResourceName
- }
-
- return nw
-}
-
-func canonicalizeNewServiceTelemetrySet(c *Client, des, nw []ServiceTelemetry) []ServiceTelemetry {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []ServiceTelemetry
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareServiceTelemetryNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewServiceTelemetry(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewServiceTelemetrySlice(c *Client, des, nw []ServiceTelemetry) []ServiceTelemetry {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []ServiceTelemetry
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewServiceTelemetry(c, &d, &n))
- }
-
- return items
-}
-
-// The differ returns a list of diffs, along with a list of operations that should be taken
-// to remedy them. Right now, it does not attempt to consolidate operations - if several
-// fields can be fixed with a patch update, it will perform the patch several times.
-// Diffs on some fields will be ignored if the `desired` state has an empty (nil)
-// value. This empty value indicates that the user does not care about the state for
-// the field. Empty fields on the actual object will cause diffs.
-// TODO(magic-modules-eng): for efficiency in some resources, add batching.
-func diffService(c *Client, desired, actual *Service, opts ...dcl.ApplyOption) ([]*dcl.FieldDiff, error) {
- if desired == nil || actual == nil {
- return nil, fmt.Errorf("nil resource passed to diff - always a programming error: %#v, %#v", desired, actual)
- }
-
- c.Config.Logger.Infof("Diff function called with desired state: %v", desired)
- c.Config.Logger.Infof("Diff function called with actual state: %v", actual)
-
- var fn dcl.FieldName
- var newDiffs []*dcl.FieldDiff
- // New style diffs.
- if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Name")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.DisplayName, actual.DisplayName, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceUpdateServiceOperation")}, fn.AddNest("DisplayName")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Custom, actual.Custom, dcl.DiffInfo{ObjectFunction: compareServiceCustomNewStyle, EmptyObject: EmptyServiceCustom, OperationSelector: dcl.TriggersOperation("updateServiceUpdateServiceOperation")}, fn.AddNest("Custom")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Telemetry, actual.Telemetry, dcl.DiffInfo{ObjectFunction: compareServiceTelemetryNewStyle, EmptyObject: EmptyServiceTelemetry, OperationSelector: dcl.TriggersOperation("updateServiceUpdateServiceOperation")}, fn.AddNest("Telemetry")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.UserLabels, actual.UserLabels, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceUpdateServiceOperation")}, fn.AddNest("UserLabels")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Project, actual.Project, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Project")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if len(newDiffs) > 0 {
- c.Config.Logger.Infof("Diff function found diffs: %v", newDiffs)
- }
- return newDiffs, nil
-}
-func compareServiceCustomNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- return diffs, nil
-}
-
-func compareServiceTelemetryNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*ServiceTelemetry)
- if !ok {
- desiredNotPointer, ok := d.(ServiceTelemetry)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceTelemetry or *ServiceTelemetry", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*ServiceTelemetry)
- if !ok {
- actualNotPointer, ok := a.(ServiceTelemetry)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceTelemetry", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.ResourceName, actual.ResourceName, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceUpdateServiceOperation")}, fn.AddNest("ResourceName")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-// urlNormalized returns a copy of the resource struct with values normalized
-// for URL substitutions. For instance, it converts long-form self-links to
-// short-form so they can be substituted in.
-func (r *Service) urlNormalized() *Service {
- normalized := dcl.Copy(*r).(Service)
- normalized.Name = dcl.SelfLinkToName(r.Name)
- normalized.DisplayName = dcl.SelfLinkToName(r.DisplayName)
- normalized.Project = dcl.SelfLinkToName(r.Project)
- return &normalized
-}
-
-func (r *Service) updateURL(userBasePath, updateName string) (string, error) {
- nr := r.urlNormalized()
- if updateName == "UpdateService" {
- fields := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("projects/{{project}}/services/{{name}}", nr.basePath(), userBasePath, fields), nil
-
- }
-
- return "", fmt.Errorf("unknown update name: %s", updateName)
-}
-
-// marshal encodes the Service resource into JSON for a Create request, and
-// performs transformations from the resource schema to the API schema if
-// necessary.
-func (r *Service) marshal(c *Client) ([]byte, error) {
- m, err := expandService(c, r)
- if err != nil {
- return nil, fmt.Errorf("error marshalling Service: %w", err)
- }
-
- return json.Marshal(m)
-}
-
-// unmarshalService decodes JSON responses into the Service resource schema.
-func unmarshalService(b []byte, c *Client, res *Service) (*Service, error) {
- var m map[string]interface{}
- if err := json.Unmarshal(b, &m); err != nil {
- return nil, err
- }
- return unmarshalMapService(m, c, res)
-}
-
-func unmarshalMapService(m map[string]interface{}, c *Client, res *Service) (*Service, error) {
-
- flattened := flattenService(c, m, res)
- if flattened == nil {
- return nil, fmt.Errorf("attempted to flatten empty json object")
- }
- return flattened, nil
-}
-
-// expandService expands Service into a JSON request object.
-func expandService(c *Client, f *Service) (map[string]interface{}, error) {
- m := make(map[string]interface{})
- res := f
- _ = res
- if v, err := dcl.DeriveField("projects/%s/services/%s", f.Name, dcl.SelfLinkToName(f.Project), dcl.SelfLinkToName(f.Name)); err != nil {
- return nil, fmt.Errorf("error expanding Name into name: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["name"] = v
- }
- if v := f.DisplayName; dcl.ValueShouldBeSent(v) {
- m["displayName"] = v
- }
- if v, err := expandServiceCustom(c, f.Custom, res); err != nil {
- return nil, fmt.Errorf("error expanding Custom into custom: %w", err)
- } else if v != nil {
- m["custom"] = v
- }
- if v, err := expandServiceTelemetry(c, f.Telemetry, res); err != nil {
- return nil, fmt.Errorf("error expanding Telemetry into telemetry: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["telemetry"] = v
- }
- if v := f.UserLabels; dcl.ValueShouldBeSent(v) {
- m["userLabels"] = v
- }
- if v, err := dcl.EmptyValue(); err != nil {
- return nil, fmt.Errorf("error expanding Project into project: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["project"] = v
- }
-
- return m, nil
-}
-
-// flattenService flattens Service from a JSON request object into the
-// Service type.
-func flattenService(c *Client, i interface{}, res *Service) *Service {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
- if len(m) == 0 {
- return nil
- }
-
- resultRes := &Service{}
- resultRes.Name = dcl.FlattenString(m["name"])
- resultRes.DisplayName = dcl.FlattenString(m["displayName"])
- resultRes.Custom = flattenServiceCustom(c, m["custom"], res)
- if _, ok := m["custom"]; !ok {
- c.Config.Logger.Info("Using default value for custom")
- resultRes.Custom = &ServiceCustom{}
- }
- resultRes.Telemetry = flattenServiceTelemetry(c, m["telemetry"], res)
- resultRes.UserLabels = dcl.FlattenKeyValuePairs(m["userLabels"])
- resultRes.Project = dcl.FlattenString(m["project"])
-
- return resultRes
-}
-
-// expandServiceCustomMap expands the contents of ServiceCustom into a JSON
-// request object.
-func expandServiceCustomMap(c *Client, f map[string]ServiceCustom, res *Service) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandServiceCustom(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandServiceCustomSlice expands the contents of ServiceCustom into a JSON
-// request object.
-func expandServiceCustomSlice(c *Client, f []ServiceCustom, res *Service) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandServiceCustom(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenServiceCustomMap flattens the contents of ServiceCustom from a JSON
-// response object.
-func flattenServiceCustomMap(c *Client, i interface{}, res *Service) map[string]ServiceCustom {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceCustom{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceCustom{}
- }
-
- items := make(map[string]ServiceCustom)
- for k, item := range a {
- items[k] = *flattenServiceCustom(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenServiceCustomSlice flattens the contents of ServiceCustom from a JSON
-// response object.
-func flattenServiceCustomSlice(c *Client, i interface{}, res *Service) []ServiceCustom {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceCustom{}
- }
-
- if len(a) == 0 {
- return []ServiceCustom{}
- }
-
- items := make([]ServiceCustom, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceCustom(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandServiceCustom expands an instance of ServiceCustom into a JSON
-// request object.
-func expandServiceCustom(c *Client, f *ServiceCustom, res *Service) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- m := make(map[string]interface{})
-
- return m, nil
-}
-
-// flattenServiceCustom flattens an instance of ServiceCustom from a JSON
-// response object.
-func flattenServiceCustom(c *Client, i interface{}, res *Service) *ServiceCustom {
- _, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &ServiceCustom{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyServiceCustom
- }
-
- return r
-}
-
-// expandServiceTelemetryMap expands the contents of ServiceTelemetry into a JSON
-// request object.
-func expandServiceTelemetryMap(c *Client, f map[string]ServiceTelemetry, res *Service) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandServiceTelemetry(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandServiceTelemetrySlice expands the contents of ServiceTelemetry into a JSON
-// request object.
-func expandServiceTelemetrySlice(c *Client, f []ServiceTelemetry, res *Service) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandServiceTelemetry(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenServiceTelemetryMap flattens the contents of ServiceTelemetry from a JSON
-// response object.
-func flattenServiceTelemetryMap(c *Client, i interface{}, res *Service) map[string]ServiceTelemetry {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceTelemetry{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceTelemetry{}
- }
-
- items := make(map[string]ServiceTelemetry)
- for k, item := range a {
- items[k] = *flattenServiceTelemetry(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenServiceTelemetrySlice flattens the contents of ServiceTelemetry from a JSON
-// response object.
-func flattenServiceTelemetrySlice(c *Client, i interface{}, res *Service) []ServiceTelemetry {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceTelemetry{}
- }
-
- if len(a) == 0 {
- return []ServiceTelemetry{}
- }
-
- items := make([]ServiceTelemetry, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceTelemetry(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandServiceTelemetry expands an instance of ServiceTelemetry into a JSON
-// request object.
-func expandServiceTelemetry(c *Client, f *ServiceTelemetry, res *Service) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.ResourceName; !dcl.IsEmptyValueIndirect(v) {
- m["resourceName"] = v
- }
-
- return m, nil
-}
-
-// flattenServiceTelemetry flattens an instance of ServiceTelemetry from a JSON
-// response object.
-func flattenServiceTelemetry(c *Client, i interface{}, res *Service) *ServiceTelemetry {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &ServiceTelemetry{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyServiceTelemetry
- }
- r.ResourceName = dcl.FlattenString(m["resourceName"])
-
- return r
-}
-
-// This function returns a matcher that checks whether a serialized resource matches this resource
-// in its parameters (as defined by the fields in a Get, which definitionally define resource
-// identity). This is useful in extracting the element from a List call.
-func (r *Service) matcher(c *Client) func([]byte) bool {
- return func(b []byte) bool {
- cr, err := unmarshalService(b, c, r)
- if err != nil {
- c.Config.Logger.Warning("failed to unmarshal provided resource in matcher.")
- return false
- }
- nr := r.urlNormalized()
- ncr := cr.urlNormalized()
- c.Config.Logger.Infof("looking for %v\nin %v", nr, ncr)
-
- if nr.Project == nil && ncr.Project == nil {
- c.Config.Logger.Info("Both Project fields null - considering equal.")
- } else if nr.Project == nil || ncr.Project == nil {
- c.Config.Logger.Info("Only one Project field is null - considering unequal.")
- return false
- } else if *nr.Project != *ncr.Project {
- return false
- }
- if nr.Name == nil && ncr.Name == nil {
- c.Config.Logger.Info("Both Name fields null - considering equal.")
- } else if nr.Name == nil || ncr.Name == nil {
- c.Config.Logger.Info("Only one Name field is null - considering unequal.")
- return false
- } else if *nr.Name != *ncr.Name {
- return false
- }
- return true
- }
-}
-
-type serviceDiff struct {
- // The diff should include one or the other of RequiresRecreate or UpdateOp.
- RequiresRecreate bool
- UpdateOp serviceApiOperation
- FieldName string // used for error logging
-}
-
-func convertFieldDiffsToServiceDiffs(config *dcl.Config, fds []*dcl.FieldDiff, opts []dcl.ApplyOption) ([]serviceDiff, error) {
- opNamesToFieldDiffs := make(map[string][]*dcl.FieldDiff)
- // Map each operation name to the field diffs associated with it.
- for _, fd := range fds {
- for _, ro := range fd.ResultingOperation {
- if fieldDiffs, ok := opNamesToFieldDiffs[ro]; ok {
- fieldDiffs = append(fieldDiffs, fd)
- opNamesToFieldDiffs[ro] = fieldDiffs
- } else {
- config.Logger.Infof("%s required due to diff: %v", ro, fd)
- opNamesToFieldDiffs[ro] = []*dcl.FieldDiff{fd}
- }
- }
- }
- var diffs []serviceDiff
- // For each operation name, create a serviceDiff which contains the operation.
- for opName, fieldDiffs := range opNamesToFieldDiffs {
- // Use the first field diff's field name for logging required recreate error.
- diff := serviceDiff{FieldName: fieldDiffs[0].FieldName}
- if opName == "Recreate" {
- diff.RequiresRecreate = true
- } else {
- apiOp, err := convertOpNameToServiceApiOperation(opName, fieldDiffs, opts...)
- if err != nil {
- return diffs, err
- }
- diff.UpdateOp = apiOp
- }
- diffs = append(diffs, diff)
- }
- return diffs, nil
-}
-
-func convertOpNameToServiceApiOperation(opName string, fieldDiffs []*dcl.FieldDiff, opts ...dcl.ApplyOption) (serviceApiOperation, error) {
- switch opName {
-
- case "updateServiceUpdateServiceOperation":
- return &updateServiceUpdateServiceOperation{FieldDiffs: fieldDiffs}, nil
-
- default:
- return nil, fmt.Errorf("no such operation with name: %v", opName)
- }
-}
-
-func extractServiceFields(r *Service) error {
- vCustom := r.Custom
- if vCustom == nil {
- // note: explicitly not the empty object.
- vCustom = &ServiceCustom{}
- }
- if err := extractServiceCustomFields(r, vCustom); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vCustom) {
- r.Custom = vCustom
- }
- vTelemetry := r.Telemetry
- if vTelemetry == nil {
- // note: explicitly not the empty object.
- vTelemetry = &ServiceTelemetry{}
- }
- if err := extractServiceTelemetryFields(r, vTelemetry); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTelemetry) {
- r.Telemetry = vTelemetry
- }
- return nil
-}
-func extractServiceCustomFields(r *Service, o *ServiceCustom) error {
- return nil
-}
-func extractServiceTelemetryFields(r *Service, o *ServiceTelemetry) error {
- return nil
-}
-
-func postReadExtractServiceFields(r *Service) error {
- vCustom := r.Custom
- if vCustom == nil {
- // note: explicitly not the empty object.
- vCustom = &ServiceCustom{}
- }
- if err := postReadExtractServiceCustomFields(r, vCustom); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vCustom) {
- r.Custom = vCustom
- }
- vTelemetry := r.Telemetry
- if vTelemetry == nil {
- // note: explicitly not the empty object.
- vTelemetry = &ServiceTelemetry{}
- }
- if err := postReadExtractServiceTelemetryFields(r, vTelemetry); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTelemetry) {
- r.Telemetry = vTelemetry
- }
- return nil
-}
-func postReadExtractServiceCustomFields(r *Service, o *ServiceCustom) error {
- return nil
-}
-func postReadExtractServiceTelemetryFields(r *Service, o *ServiceTelemetry) error {
- return nil
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/service_level_objective.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/service_level_objective.go
deleted file mode 100644
index eba5c15664..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/service_level_objective.go
+++ /dev/null
@@ -1,1772 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 monitoring
-
-import (
- "context"
- "crypto/sha256"
- "encoding/json"
- "fmt"
- "time"
-
- "google.golang.org/api/googleapi"
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-type ServiceLevelObjective struct {
- Name *string `json:"name"`
- DisplayName *string `json:"displayName"`
- ServiceLevelIndicator *ServiceLevelObjectiveServiceLevelIndicator `json:"serviceLevelIndicator"`
- Goal *float64 `json:"goal"`
- RollingPeriod *string `json:"rollingPeriod"`
- CalendarPeriod *ServiceLevelObjectiveCalendarPeriodEnum `json:"calendarPeriod"`
- CreateTime *string `json:"createTime"`
- DeleteTime *string `json:"deleteTime"`
- ServiceManagementOwned *bool `json:"serviceManagementOwned"`
- UserLabels map[string]string `json:"userLabels"`
- Project *string `json:"project"`
- Service *string `json:"service"`
-}
-
-func (r *ServiceLevelObjective) String() string {
- return dcl.SprintResource(r)
-}
-
-// The enum ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnum.
-type ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnum string
-
-// ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnumRef returns a *ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnumRef(s string) *ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnum {
- v := ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnum(s)
- return &v
-}
-
-func (v ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"LATENCY_EXPERIENCE_UNSPECIFIED", "DELIGHTING", "SATISFYING", "ANNOYING"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnum.
-type ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnum string
-
-// ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnumRef returns a *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnumRef(s string) *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnum {
- v := ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnum(s)
- return &v
-}
-
-func (v ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"LATENCY_EXPERIENCE_UNSPECIFIED", "DELIGHTING", "SATISFYING", "ANNOYING"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnum.
-type ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnum string
-
-// ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnumRef returns a *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnumRef(s string) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnum {
- v := ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnum(s)
- return &v
-}
-
-func (v ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"LATENCY_EXPERIENCE_UNSPECIFIED", "DELIGHTING", "SATISFYING", "ANNOYING"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnum.
-type ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnum string
-
-// ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnumRef returns a *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnumRef(s string) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnum {
- v := ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnum(s)
- return &v
-}
-
-func (v ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"LATENCY_EXPERIENCE_UNSPECIFIED", "DELIGHTING", "SATISFYING", "ANNOYING"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum ServiceLevelObjectiveCalendarPeriodEnum.
-type ServiceLevelObjectiveCalendarPeriodEnum string
-
-// ServiceLevelObjectiveCalendarPeriodEnumRef returns a *ServiceLevelObjectiveCalendarPeriodEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func ServiceLevelObjectiveCalendarPeriodEnumRef(s string) *ServiceLevelObjectiveCalendarPeriodEnum {
- v := ServiceLevelObjectiveCalendarPeriodEnum(s)
- return &v
-}
-
-func (v ServiceLevelObjectiveCalendarPeriodEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"CALENDAR_PERIOD_UNSPECIFIED", "DAY", "WEEK", "FORTNIGHT", "MONTH", "QUARTER", "HALF", "YEAR"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "ServiceLevelObjectiveCalendarPeriodEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-type ServiceLevelObjectiveServiceLevelIndicator struct {
- empty bool `json:"-"`
- BasicSli *ServiceLevelObjectiveServiceLevelIndicatorBasicSli `json:"basicSli"`
- RequestBased *ServiceLevelObjectiveServiceLevelIndicatorRequestBased `json:"requestBased"`
- WindowsBased *ServiceLevelObjectiveServiceLevelIndicatorWindowsBased `json:"windowsBased"`
-}
-
-type jsonServiceLevelObjectiveServiceLevelIndicator ServiceLevelObjectiveServiceLevelIndicator
-
-func (r *ServiceLevelObjectiveServiceLevelIndicator) UnmarshalJSON(data []byte) error {
- var res jsonServiceLevelObjectiveServiceLevelIndicator
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyServiceLevelObjectiveServiceLevelIndicator
- } else {
-
- r.BasicSli = res.BasicSli
-
- r.RequestBased = res.RequestBased
-
- r.WindowsBased = res.WindowsBased
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this ServiceLevelObjectiveServiceLevelIndicator is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyServiceLevelObjectiveServiceLevelIndicator *ServiceLevelObjectiveServiceLevelIndicator = &ServiceLevelObjectiveServiceLevelIndicator{empty: true}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicator) Empty() bool {
- return r.empty
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicator) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicator) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type ServiceLevelObjectiveServiceLevelIndicatorBasicSli struct {
- empty bool `json:"-"`
- Method []string `json:"method"`
- Location []string `json:"location"`
- Version []string `json:"version"`
- Availability *ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability `json:"availability"`
- Latency *ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency `json:"latency"`
- OperationAvailability *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability `json:"operationAvailability"`
- OperationLatency *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency `json:"operationLatency"`
-}
-
-type jsonServiceLevelObjectiveServiceLevelIndicatorBasicSli ServiceLevelObjectiveServiceLevelIndicatorBasicSli
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorBasicSli) UnmarshalJSON(data []byte) error {
- var res jsonServiceLevelObjectiveServiceLevelIndicatorBasicSli
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyServiceLevelObjectiveServiceLevelIndicatorBasicSli
- } else {
-
- r.Method = res.Method
-
- r.Location = res.Location
-
- r.Version = res.Version
-
- r.Availability = res.Availability
-
- r.Latency = res.Latency
-
- r.OperationAvailability = res.OperationAvailability
-
- r.OperationLatency = res.OperationLatency
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this ServiceLevelObjectiveServiceLevelIndicatorBasicSli is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyServiceLevelObjectiveServiceLevelIndicatorBasicSli *ServiceLevelObjectiveServiceLevelIndicatorBasicSli = &ServiceLevelObjectiveServiceLevelIndicatorBasicSli{empty: true}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorBasicSli) Empty() bool {
- return r.empty
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorBasicSli) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorBasicSli) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability struct {
- empty bool `json:"-"`
-}
-
-type jsonServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability) UnmarshalJSON(data []byte) error {
- var res jsonServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability
- } else {
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability *ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability = &ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability{empty: true}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability) Empty() bool {
- return r.empty
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency struct {
- empty bool `json:"-"`
- Threshold *string `json:"threshold"`
- Experience *ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnum `json:"experience"`
-}
-
-type jsonServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency) UnmarshalJSON(data []byte) error {
- var res jsonServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency
- } else {
-
- r.Threshold = res.Threshold
-
- r.Experience = res.Experience
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency *ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency = &ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency{empty: true}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency) Empty() bool {
- return r.empty
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability struct {
- empty bool `json:"-"`
-}
-
-type jsonServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability) UnmarshalJSON(data []byte) error {
- var res jsonServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability
- } else {
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability = &ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability{empty: true}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability) Empty() bool {
- return r.empty
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency struct {
- empty bool `json:"-"`
- Threshold *string `json:"threshold"`
- Experience *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnum `json:"experience"`
-}
-
-type jsonServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency) UnmarshalJSON(data []byte) error {
- var res jsonServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency
- } else {
-
- r.Threshold = res.Threshold
-
- r.Experience = res.Experience
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency = &ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency{empty: true}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency) Empty() bool {
- return r.empty
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type ServiceLevelObjectiveServiceLevelIndicatorRequestBased struct {
- empty bool `json:"-"`
- GoodTotalRatio *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio `json:"goodTotalRatio"`
- DistributionCut *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut `json:"distributionCut"`
-}
-
-type jsonServiceLevelObjectiveServiceLevelIndicatorRequestBased ServiceLevelObjectiveServiceLevelIndicatorRequestBased
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorRequestBased) UnmarshalJSON(data []byte) error {
- var res jsonServiceLevelObjectiveServiceLevelIndicatorRequestBased
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyServiceLevelObjectiveServiceLevelIndicatorRequestBased
- } else {
-
- r.GoodTotalRatio = res.GoodTotalRatio
-
- r.DistributionCut = res.DistributionCut
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this ServiceLevelObjectiveServiceLevelIndicatorRequestBased is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyServiceLevelObjectiveServiceLevelIndicatorRequestBased *ServiceLevelObjectiveServiceLevelIndicatorRequestBased = &ServiceLevelObjectiveServiceLevelIndicatorRequestBased{empty: true}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorRequestBased) Empty() bool {
- return r.empty
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorRequestBased) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorRequestBased) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio struct {
- empty bool `json:"-"`
- GoodServiceFilter *string `json:"goodServiceFilter"`
- BadServiceFilter *string `json:"badServiceFilter"`
- TotalServiceFilter *string `json:"totalServiceFilter"`
-}
-
-type jsonServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio) UnmarshalJSON(data []byte) error {
- var res jsonServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio
- } else {
-
- r.GoodServiceFilter = res.GoodServiceFilter
-
- r.BadServiceFilter = res.BadServiceFilter
-
- r.TotalServiceFilter = res.TotalServiceFilter
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio = &ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio{empty: true}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio) Empty() bool {
- return r.empty
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut struct {
- empty bool `json:"-"`
- DistributionFilter *string `json:"distributionFilter"`
- Range *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange `json:"range"`
-}
-
-type jsonServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut) UnmarshalJSON(data []byte) error {
- var res jsonServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut
- } else {
-
- r.DistributionFilter = res.DistributionFilter
-
- r.Range = res.Range
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut = &ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut{empty: true}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut) Empty() bool {
- return r.empty
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange struct {
- empty bool `json:"-"`
- Min *float64 `json:"min"`
- Max *float64 `json:"max"`
-}
-
-type jsonServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange) UnmarshalJSON(data []byte) error {
- var res jsonServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange
- } else {
-
- r.Min = res.Min
-
- r.Max = res.Max
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange = &ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange{empty: true}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange) Empty() bool {
- return r.empty
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type ServiceLevelObjectiveServiceLevelIndicatorWindowsBased struct {
- empty bool `json:"-"`
- GoodBadMetricFilter *string `json:"goodBadMetricFilter"`
- GoodTotalRatioThreshold *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold `json:"goodTotalRatioThreshold"`
- MetricMeanInRange *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange `json:"metricMeanInRange"`
- MetricSumInRange *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange `json:"metricSumInRange"`
- WindowPeriod *string `json:"windowPeriod"`
-}
-
-type jsonServiceLevelObjectiveServiceLevelIndicatorWindowsBased ServiceLevelObjectiveServiceLevelIndicatorWindowsBased
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBased) UnmarshalJSON(data []byte) error {
- var res jsonServiceLevelObjectiveServiceLevelIndicatorWindowsBased
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBased
- } else {
-
- r.GoodBadMetricFilter = res.GoodBadMetricFilter
-
- r.GoodTotalRatioThreshold = res.GoodTotalRatioThreshold
-
- r.MetricMeanInRange = res.MetricMeanInRange
-
- r.MetricSumInRange = res.MetricSumInRange
-
- r.WindowPeriod = res.WindowPeriod
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this ServiceLevelObjectiveServiceLevelIndicatorWindowsBased is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBased *ServiceLevelObjectiveServiceLevelIndicatorWindowsBased = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBased{empty: true}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBased) Empty() bool {
- return r.empty
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBased) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBased) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold struct {
- empty bool `json:"-"`
- Performance *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance `json:"performance"`
- BasicSliPerformance *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance `json:"basicSliPerformance"`
- Threshold *float64 `json:"threshold"`
-}
-
-type jsonServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold) UnmarshalJSON(data []byte) error {
- var res jsonServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold
- } else {
-
- r.Performance = res.Performance
-
- r.BasicSliPerformance = res.BasicSliPerformance
-
- r.Threshold = res.Threshold
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold{empty: true}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold) Empty() bool {
- return r.empty
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance struct {
- empty bool `json:"-"`
- GoodTotalRatio *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio `json:"goodTotalRatio"`
- DistributionCut *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut `json:"distributionCut"`
-}
-
-type jsonServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance) UnmarshalJSON(data []byte) error {
- var res jsonServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance
- } else {
-
- r.GoodTotalRatio = res.GoodTotalRatio
-
- r.DistributionCut = res.DistributionCut
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance{empty: true}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance) Empty() bool {
- return r.empty
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio struct {
- empty bool `json:"-"`
- GoodServiceFilter *string `json:"goodServiceFilter"`
- BadServiceFilter *string `json:"badServiceFilter"`
- TotalServiceFilter *string `json:"totalServiceFilter"`
-}
-
-type jsonServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio) UnmarshalJSON(data []byte) error {
- var res jsonServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio
- } else {
-
- r.GoodServiceFilter = res.GoodServiceFilter
-
- r.BadServiceFilter = res.BadServiceFilter
-
- r.TotalServiceFilter = res.TotalServiceFilter
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio{empty: true}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio) Empty() bool {
- return r.empty
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut struct {
- empty bool `json:"-"`
- DistributionFilter *string `json:"distributionFilter"`
- Range *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange `json:"range"`
-}
-
-type jsonServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut) UnmarshalJSON(data []byte) error {
- var res jsonServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut
- } else {
-
- r.DistributionFilter = res.DistributionFilter
-
- r.Range = res.Range
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut{empty: true}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut) Empty() bool {
- return r.empty
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange struct {
- empty bool `json:"-"`
- Min *float64 `json:"min"`
- Max *float64 `json:"max"`
-}
-
-type jsonServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange) UnmarshalJSON(data []byte) error {
- var res jsonServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange
- } else {
-
- r.Min = res.Min
-
- r.Max = res.Max
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange{empty: true}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange) Empty() bool {
- return r.empty
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance struct {
- empty bool `json:"-"`
- Method []string `json:"method"`
- Location []string `json:"location"`
- Version []string `json:"version"`
- Availability *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability `json:"availability"`
- Latency *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency `json:"latency"`
- OperationAvailability *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability `json:"operationAvailability"`
- OperationLatency *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency `json:"operationLatency"`
-}
-
-type jsonServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance) UnmarshalJSON(data []byte) error {
- var res jsonServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance
- } else {
-
- r.Method = res.Method
-
- r.Location = res.Location
-
- r.Version = res.Version
-
- r.Availability = res.Availability
-
- r.Latency = res.Latency
-
- r.OperationAvailability = res.OperationAvailability
-
- r.OperationLatency = res.OperationLatency
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance{empty: true}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance) Empty() bool {
- return r.empty
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability struct {
- empty bool `json:"-"`
-}
-
-type jsonServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability) UnmarshalJSON(data []byte) error {
- var res jsonServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability
- } else {
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability{empty: true}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability) Empty() bool {
- return r.empty
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency struct {
- empty bool `json:"-"`
- Threshold *string `json:"threshold"`
- Experience *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnum `json:"experience"`
-}
-
-type jsonServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency) UnmarshalJSON(data []byte) error {
- var res jsonServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency
- } else {
-
- r.Threshold = res.Threshold
-
- r.Experience = res.Experience
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency{empty: true}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency) Empty() bool {
- return r.empty
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability struct {
- empty bool `json:"-"`
-}
-
-type jsonServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability) UnmarshalJSON(data []byte) error {
- var res jsonServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability
- } else {
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability{empty: true}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability) Empty() bool {
- return r.empty
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency struct {
- empty bool `json:"-"`
- Threshold *string `json:"threshold"`
- Experience *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnum `json:"experience"`
-}
-
-type jsonServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency) UnmarshalJSON(data []byte) error {
- var res jsonServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency
- } else {
-
- r.Threshold = res.Threshold
-
- r.Experience = res.Experience
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency{empty: true}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency) Empty() bool {
- return r.empty
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange struct {
- empty bool `json:"-"`
- TimeSeries *string `json:"timeSeries"`
- Range *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange `json:"range"`
-}
-
-type jsonServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange) UnmarshalJSON(data []byte) error {
- var res jsonServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange
- } else {
-
- r.TimeSeries = res.TimeSeries
-
- r.Range = res.Range
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange{empty: true}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange) Empty() bool {
- return r.empty
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange struct {
- empty bool `json:"-"`
- Min *float64 `json:"min"`
- Max *float64 `json:"max"`
-}
-
-type jsonServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange) UnmarshalJSON(data []byte) error {
- var res jsonServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange
- } else {
-
- r.Min = res.Min
-
- r.Max = res.Max
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange{empty: true}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange) Empty() bool {
- return r.empty
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange struct {
- empty bool `json:"-"`
- TimeSeries *string `json:"timeSeries"`
- Range *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange `json:"range"`
-}
-
-type jsonServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange) UnmarshalJSON(data []byte) error {
- var res jsonServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange
- } else {
-
- r.TimeSeries = res.TimeSeries
-
- r.Range = res.Range
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange{empty: true}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange) Empty() bool {
- return r.empty
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange struct {
- empty bool `json:"-"`
- Min *float64 `json:"min"`
- Max *float64 `json:"max"`
-}
-
-type jsonServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange) UnmarshalJSON(data []byte) error {
- var res jsonServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange
- } else {
-
- r.Min = res.Min
-
- r.Max = res.Max
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange{empty: true}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange) Empty() bool {
- return r.empty
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-// Describe returns a simple description of this resource to ensure that automated tools
-// can identify it.
-func (r *ServiceLevelObjective) Describe() dcl.ServiceTypeVersion {
- return dcl.ServiceTypeVersion{
- Service: "monitoring",
- Type: "ServiceLevelObjective",
- Version: "monitoring",
- }
-}
-
-func (r *ServiceLevelObjective) ID() (string, error) {
- if err := extractServiceLevelObjectiveFields(r); err != nil {
- return "", err
- }
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "name": dcl.ValueOrEmptyString(nr.Name),
- "display_name": dcl.ValueOrEmptyString(nr.DisplayName),
- "service_level_indicator": dcl.ValueOrEmptyString(nr.ServiceLevelIndicator),
- "goal": dcl.ValueOrEmptyString(nr.Goal),
- "rolling_period": dcl.ValueOrEmptyString(nr.RollingPeriod),
- "calendar_period": dcl.ValueOrEmptyString(nr.CalendarPeriod),
- "create_time": dcl.ValueOrEmptyString(nr.CreateTime),
- "delete_time": dcl.ValueOrEmptyString(nr.DeleteTime),
- "service_management_owned": dcl.ValueOrEmptyString(nr.ServiceManagementOwned),
- "user_labels": dcl.ValueOrEmptyString(nr.UserLabels),
- "project": dcl.ValueOrEmptyString(nr.Project),
- "service": dcl.ValueOrEmptyString(nr.Service),
- }
- return dcl.Nprintf("projects/{{project}}/services/{{service}}/serviceLevelObjectives/{{name}}", params), nil
-}
-
-const ServiceLevelObjectiveMaxPage = -1
-
-type ServiceLevelObjectiveList struct {
- Items []*ServiceLevelObjective
-
- nextToken string
-
- pageSize int32
-
- resource *ServiceLevelObjective
-}
-
-func (l *ServiceLevelObjectiveList) HasNext() bool {
- return l.nextToken != ""
-}
-
-func (l *ServiceLevelObjectiveList) Next(ctx context.Context, c *Client) error {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- if !l.HasNext() {
- return fmt.Errorf("no next page")
- }
- items, token, err := c.listServiceLevelObjective(ctx, l.resource, l.nextToken, l.pageSize)
- if err != nil {
- return err
- }
- l.Items = items
- l.nextToken = token
- return err
-}
-
-func (c *Client) ListServiceLevelObjective(ctx context.Context, project, service string) (*ServiceLevelObjectiveList, error) {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- return c.ListServiceLevelObjectiveWithMaxResults(ctx, project, service, ServiceLevelObjectiveMaxPage)
-
-}
-
-func (c *Client) ListServiceLevelObjectiveWithMaxResults(ctx context.Context, project, service string, pageSize int32) (*ServiceLevelObjectiveList, error) {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- // Create a resource object so that we can use proper url normalization methods.
- r := &ServiceLevelObjective{
- Project: &project,
- Service: &service,
- }
- items, token, err := c.listServiceLevelObjective(ctx, r, "", pageSize)
- if err != nil {
- return nil, err
- }
- return &ServiceLevelObjectiveList{
- Items: items,
- nextToken: token,
- pageSize: pageSize,
- resource: r,
- }, nil
-}
-
-func (c *Client) GetServiceLevelObjective(ctx context.Context, r *ServiceLevelObjective) (*ServiceLevelObjective, error) {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- // This is *purposefully* supressing errors.
- // This function is used with url-normalized values + not URL normalized values.
- // URL Normalized values will throw unintentional errors, since those values are not of the proper parent form.
- extractServiceLevelObjectiveFields(r)
-
- b, err := c.getServiceLevelObjectiveRaw(ctx, r)
- if err != nil {
- if dcl.IsNotFound(err) {
- return nil, &googleapi.Error{
- Code: 404,
- Message: err.Error(),
- }
- }
- return nil, err
- }
- result, err := unmarshalServiceLevelObjective(b, c, r)
- if err != nil {
- return nil, err
- }
- result.Project = r.Project
- result.Service = r.Service
- result.Name = r.Name
-
- c.Config.Logger.InfoWithContextf(ctx, "Retrieved raw result state: %v", result)
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalizing with specified state: %v", r)
- result, err = canonicalizeServiceLevelObjectiveNewState(c, result, r)
- if err != nil {
- return nil, err
- }
- if err := postReadExtractServiceLevelObjectiveFields(result); err != nil {
- return result, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Created result state: %v", result)
-
- return result, nil
-}
-
-func (c *Client) DeleteServiceLevelObjective(ctx context.Context, r *ServiceLevelObjective) error {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- if r == nil {
- return fmt.Errorf("ServiceLevelObjective resource is nil")
- }
- c.Config.Logger.InfoWithContext(ctx, "Deleting ServiceLevelObjective...")
- deleteOp := deleteServiceLevelObjectiveOperation{}
- return deleteOp.do(ctx, r, c)
-}
-
-// DeleteAllServiceLevelObjective deletes all resources that the filter functions returns true on.
-func (c *Client) DeleteAllServiceLevelObjective(ctx context.Context, project, service string, filter func(*ServiceLevelObjective) bool) error {
- listObj, err := c.ListServiceLevelObjective(ctx, project, service)
- if err != nil {
- return err
- }
-
- err = c.deleteAllServiceLevelObjective(ctx, filter, listObj.Items)
- if err != nil {
- return err
- }
- for listObj.HasNext() {
- err = listObj.Next(ctx, c)
- if err != nil {
- return nil
- }
- err = c.deleteAllServiceLevelObjective(ctx, filter, listObj.Items)
- if err != nil {
- return err
- }
- }
- return nil
-}
-
-func (c *Client) ApplyServiceLevelObjective(ctx context.Context, rawDesired *ServiceLevelObjective, opts ...dcl.ApplyOption) (*ServiceLevelObjective, error) {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- ctx = dcl.ContextWithRequestID(ctx)
- var resultNewState *ServiceLevelObjective
- err := dcl.Do(ctx, func(ctx context.Context) (*dcl.RetryDetails, error) {
- newState, err := applyServiceLevelObjectiveHelper(c, ctx, rawDesired, opts...)
- resultNewState = newState
- if err != nil {
- // If the error is 409, there is conflict in resource update.
- // Here we want to apply changes based on latest state.
- if dcl.IsConflictError(err) {
- return &dcl.RetryDetails{}, dcl.OperationNotDone{Err: err}
- }
- return nil, err
- }
- return nil, nil
- }, c.Config.RetryProvider)
- return resultNewState, err
-}
-
-func applyServiceLevelObjectiveHelper(c *Client, ctx context.Context, rawDesired *ServiceLevelObjective, opts ...dcl.ApplyOption) (*ServiceLevelObjective, error) {
- c.Config.Logger.InfoWithContext(ctx, "Beginning ApplyServiceLevelObjective...")
- c.Config.Logger.InfoWithContextf(ctx, "User specified desired state: %v", rawDesired)
-
- // 1.1: Validation of user-specified fields in desired state.
- if err := rawDesired.validate(); err != nil {
- return nil, err
- }
-
- if err := extractServiceLevelObjectiveFields(rawDesired); err != nil {
- return nil, err
- }
-
- initial, desired, fieldDiffs, err := c.serviceLevelObjectiveDiffsForRawDesired(ctx, rawDesired, opts...)
- if err != nil {
- return nil, fmt.Errorf("failed to create a diff: %w", err)
- }
-
- diffs, err := convertFieldDiffsToServiceLevelObjectiveDiffs(c.Config, fieldDiffs, opts)
- if err != nil {
- return nil, err
- }
-
- // TODO(magic-modules-eng): 2.2 Feasibility check (all updates are feasible so far).
-
- // 2.3: Lifecycle Directive Check
- var create bool
- lp := dcl.FetchLifecycleParams(opts)
- if initial == nil {
- if dcl.HasLifecycleParam(lp, dcl.BlockCreation) {
- return nil, dcl.ApplyInfeasibleError{Message: fmt.Sprintf("Creation blocked by lifecycle params: %#v.", desired)}
- }
- create = true
- } else if dcl.HasLifecycleParam(lp, dcl.BlockAcquire) {
- return nil, dcl.ApplyInfeasibleError{
- Message: fmt.Sprintf("Resource already exists - apply blocked by lifecycle params: %#v.", initial),
- }
- } else {
- for _, d := range diffs {
- if d.RequiresRecreate {
- return nil, dcl.ApplyInfeasibleError{
- Message: fmt.Sprintf("infeasible update: (%v) would require recreation", d),
- }
- }
- if dcl.HasLifecycleParam(lp, dcl.BlockModification) {
- return nil, dcl.ApplyInfeasibleError{Message: fmt.Sprintf("Modification blocked, diff (%v) unresolvable.", d)}
- }
- }
- }
-
- // 2.4 Imperative Request Planning
- var ops []serviceLevelObjectiveApiOperation
- if create {
- ops = append(ops, &createServiceLevelObjectiveOperation{})
- } else {
- for _, d := range diffs {
- ops = append(ops, d.UpdateOp)
- }
- }
- c.Config.Logger.InfoWithContextf(ctx, "Created plan: %#v", ops)
-
- // 2.5 Request Actuation
- for _, op := range ops {
- c.Config.Logger.InfoWithContextf(ctx, "Performing operation %T %+v", op, op)
- if err := op.do(ctx, desired, c); err != nil {
- c.Config.Logger.InfoWithContextf(ctx, "Failed operation %T %+v: %v", op, op, err)
- return nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Finished operation %T %+v", op, op)
- }
- return applyServiceLevelObjectiveDiff(c, ctx, desired, rawDesired, ops, opts...)
-}
-
-func applyServiceLevelObjectiveDiff(c *Client, ctx context.Context, desired *ServiceLevelObjective, rawDesired *ServiceLevelObjective, ops []serviceLevelObjectiveApiOperation, opts ...dcl.ApplyOption) (*ServiceLevelObjective, error) {
- // 3.1, 3.2a Retrieval of raw new state & canonicalization with desired state
- c.Config.Logger.InfoWithContext(ctx, "Retrieving raw new state...")
- rawNew, err := c.GetServiceLevelObjective(ctx, desired)
- if err != nil {
- return nil, err
- }
- // Get additional values from the first response.
- // These values should be merged into the newState above.
- if len(ops) > 0 {
- lastOp := ops[len(ops)-1]
- if o, ok := lastOp.(*createServiceLevelObjectiveOperation); ok {
- if r, hasR := o.FirstResponse(); hasR {
-
- c.Config.Logger.InfoWithContext(ctx, "Retrieving raw new state from operation...")
-
- fullResp, err := unmarshalMapServiceLevelObjective(r, c, rawDesired)
- if err != nil {
- return nil, err
- }
-
- rawNew, err = canonicalizeServiceLevelObjectiveNewState(c, rawNew, fullResp)
- if err != nil {
- return nil, err
- }
- }
- }
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalizing with raw desired state: %v", rawDesired)
- // 3.2b Canonicalization of raw new state using raw desired state
- newState, err := canonicalizeServiceLevelObjectiveNewState(c, rawNew, rawDesired)
- if err != nil {
- return rawNew, err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Created canonical new state: %v", newState)
- // 3.3 Comparison of the new state and raw desired state.
- // TODO(magic-modules-eng): EVENTUALLY_CONSISTENT_UPDATE
- newDesired, err := canonicalizeServiceLevelObjectiveDesiredState(rawDesired, newState)
- if err != nil {
- return newState, err
- }
-
- if err := postReadExtractServiceLevelObjectiveFields(newState); err != nil {
- return newState, err
- }
-
- // Need to ensure any transformations made here match acceptably in differ.
- if err := postReadExtractServiceLevelObjectiveFields(newDesired); err != nil {
- return newState, err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Diffing using canonicalized desired state: %v", newDesired)
- newDiffs, err := diffServiceLevelObjective(c, newDesired, newState)
- if err != nil {
- return newState, err
- }
-
- if len(newDiffs) == 0 {
- c.Config.Logger.InfoWithContext(ctx, "No diffs found. Apply was successful.")
- } else {
- c.Config.Logger.InfoWithContextf(ctx, "Found diffs: %v", newDiffs)
- diffMessages := make([]string, len(newDiffs))
- for i, d := range newDiffs {
- diffMessages[i] = fmt.Sprintf("%v", d)
- }
- return newState, dcl.DiffAfterApplyError{Diffs: diffMessages}
- }
- c.Config.Logger.InfoWithContext(ctx, "Done Apply.")
- return newState, nil
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/service_level_objective.yaml b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/service_level_objective.yaml
deleted file mode 100644
index 4c123de045..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/service_level_objective.yaml
+++ /dev/null
@@ -1,705 +0,0 @@
-# Copyright 2023 Google LLC. All Rights Reserved.
-#
-# 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.
-info:
- title: Monitoring/ServiceLevelObjective
- description: The Monitoring ServiceLevelObjective resource
- x-dcl-struct-name: ServiceLevelObjective
- x-dcl-has-iam: false
-paths:
- get:
- description: The function used to get information about a ServiceLevelObjective
- parameters:
- - name: serviceLevelObjective
- required: true
- description: A full instance of a ServiceLevelObjective
- apply:
- description: The function used to apply information about a ServiceLevelObjective
- parameters:
- - name: serviceLevelObjective
- required: true
- description: A full instance of a ServiceLevelObjective
- delete:
- description: The function used to delete a ServiceLevelObjective
- parameters:
- - name: serviceLevelObjective
- required: true
- description: A full instance of a ServiceLevelObjective
- deleteAll:
- description: The function used to delete all ServiceLevelObjective
- parameters:
- - name: project
- required: true
- schema:
- type: string
- - name: service
- required: true
- schema:
- type: string
- list:
- description: The function used to list information about many ServiceLevelObjective
- parameters:
- - name: project
- required: true
- schema:
- type: string
- - name: service
- required: true
- schema:
- type: string
-components:
- schemas:
- ServiceLevelObjective:
- title: ServiceLevelObjective
- x-dcl-id: projects/{{project}}/services/{{service}}/serviceLevelObjectives/{{name}}
- x-dcl-parent-container: project
- x-dcl-labels: userLabels
- x-dcl-has-create: true
- x-dcl-has-iam: false
- x-dcl-read-timeout: 0
- x-dcl-apply-timeout: 0
- x-dcl-delete-timeout: 0
- type: object
- required:
- - name
- - goal
- - project
- - service
- properties:
- calendarPeriod:
- type: string
- x-dcl-go-name: CalendarPeriod
- x-dcl-go-type: ServiceLevelObjectiveCalendarPeriodEnum
- description: 'A calendar period, semantically "since the start of the current
- ``". At this time, only `DAY`, `WEEK`, `FORTNIGHT`, and `MONTH` are supported.
- Possible values: CALENDAR_PERIOD_UNSPECIFIED, DAY, WEEK, FORTNIGHT, MONTH,
- QUARTER, HALF, YEAR'
- x-dcl-conflicts:
- - rollingPeriod
- enum:
- - CALENDAR_PERIOD_UNSPECIFIED
- - DAY
- - WEEK
- - FORTNIGHT
- - MONTH
- - QUARTER
- - HALF
- - YEAR
- createTime:
- type: string
- format: date-time
- x-dcl-go-name: CreateTime
- readOnly: true
- description: Time stamp of the `Create` or most recent `Update` command
- on this `Slo`.
- x-kubernetes-immutable: true
- deleteTime:
- type: string
- format: date-time
- x-dcl-go-name: DeleteTime
- readOnly: true
- description: Time stamp of the `Update` or `Delete` command that made this
- no longer a current `Slo`. This field is not populated in `ServiceLevelObjective`s
- returned from calls to `GetServiceLevelObjective` and `ListServiceLevelObjectives`,
- because it is always empty in the current version. It is populated in
- `ServiceLevelObjective`s representing previous versions in the output
- of `ListServiceLevelObjectiveVersions`. Because all old configuration
- versions are stored, `Update` operations mark the obsoleted version as
- deleted.
- x-kubernetes-immutable: true
- displayName:
- type: string
- x-dcl-go-name: DisplayName
- description: Name used for UI elements listing this SLO.
- goal:
- type: number
- format: double
- x-dcl-go-name: Goal
- description: The fraction of service that must be good in order for this
- objective to be met. `0 < goal <= 0.999`.
- name:
- type: string
- x-dcl-go-name: Name
- description: 'Resource name for this `ServiceLevelObjective`. The format
- is: projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]'
- x-kubernetes-immutable: true
- project:
- type: string
- x-dcl-go-name: Project
- description: The project for the resource
- x-kubernetes-immutable: true
- x-dcl-references:
- - resource: Cloudresourcemanager/Project
- field: name
- parent: true
- rollingPeriod:
- type: string
- x-dcl-go-name: RollingPeriod
- description: A rolling time period, semantically "in the past ``". Must
- be an integer multiple of 1 day no larger than 30 days.
- x-dcl-conflicts:
- - calendarPeriod
- service:
- type: string
- x-dcl-go-name: Service
- description: The service for the resource
- x-kubernetes-immutable: true
- x-dcl-references:
- - resource: Monitoring/Service
- field: name
- parent: true
- serviceLevelIndicator:
- type: object
- x-dcl-go-name: ServiceLevelIndicator
- x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicator
- description: The definition of good service, used to measure and calculate
- the quality of the `Service`'s performance with respect to a single aspect
- of service quality.
- properties:
- basicSli:
- type: object
- x-dcl-go-name: BasicSli
- x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorBasicSli
- description: Basic SLI on a well-known service type.
- x-dcl-conflicts:
- - requestBased
- - windowsBased
- properties:
- availability:
- type: object
- x-dcl-go-name: Availability
- x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability
- description: Good service is defined to be the count of requests
- made to this service that return successfully.
- x-dcl-conflicts:
- - latency
- - operationAvailability
- - operationLatency
- latency:
- type: object
- x-dcl-go-name: Latency
- x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency
- description: Good service is defined to be the count of requests
- made to this service that are fast enough with respect to `latency.threshold`.
- x-dcl-conflicts:
- - availability
- - operationAvailability
- - operationLatency
- properties:
- experience:
- type: string
- x-dcl-go-name: Experience
- x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnum
- description: 'A description of the experience associated with
- failing requests. Possible values: LATENCY_EXPERIENCE_UNSPECIFIED,
- DELIGHTING, SATISFYING, ANNOYING'
- enum:
- - LATENCY_EXPERIENCE_UNSPECIFIED
- - DELIGHTING
- - SATISFYING
- - ANNOYING
- threshold:
- type: string
- x-dcl-go-name: Threshold
- description: Good service is defined to be the count of requests
- made to this service that return in no more than `threshold`.
- location:
- type: array
- x-dcl-go-name: Location
- description: 'OPTIONAL: The set of locations to which this SLI is
- relevant. Telemetry from other locations will not be used to calculate
- performance for this SLI. If omitted, this SLI applies to all
- locations in which the Service has activity. For service types
- that don''t support breaking down by location, setting this field
- will result in an error.'
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- method:
- type: array
- x-dcl-go-name: Method
- description: 'OPTIONAL: The set of RPCs to which this SLI is relevant.
- Telemetry from other methods will not be used to calculate performance
- for this SLI. If omitted, this SLI applies to all the Service''s
- methods. For service types that don''t support breaking down by
- method, setting this field will result in an error.'
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- operationAvailability:
- type: object
- x-dcl-go-name: OperationAvailability
- x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability
- description: Good service is defined to be the count of operations
- performed by this service that return successfully
- x-dcl-conflicts:
- - availability
- - latency
- - operationLatency
- operationLatency:
- type: object
- x-dcl-go-name: OperationLatency
- x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency
- description: Good service is defined to be the count of operations
- performed by this service that are fast enough with respect to
- `operation_latency.threshold`.
- x-dcl-conflicts:
- - availability
- - latency
- - operationAvailability
- properties:
- experience:
- type: string
- x-dcl-go-name: Experience
- x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnum
- description: 'A description of the experience associated with
- failing requests. Possible values: LATENCY_EXPERIENCE_UNSPECIFIED,
- DELIGHTING, SATISFYING, ANNOYING'
- enum:
- - LATENCY_EXPERIENCE_UNSPECIFIED
- - DELIGHTING
- - SATISFYING
- - ANNOYING
- threshold:
- type: string
- x-dcl-go-name: Threshold
- description: Good service is defined to be the count of operations
- that are completed in no more than `threshold`.
- version:
- type: array
- x-dcl-go-name: Version
- description: 'OPTIONAL: The set of API versions to which this SLI
- is relevant. Telemetry from other API versions will not be used
- to calculate performance for this SLI. If omitted, this SLI applies
- to all API versions. For service types that don''t support breaking
- down by version, setting this field will result in an error.'
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- requestBased:
- type: object
- x-dcl-go-name: RequestBased
- x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorRequestBased
- description: Request-based SLIs
- x-dcl-conflicts:
- - basicSli
- - windowsBased
- properties:
- distributionCut:
- type: object
- x-dcl-go-name: DistributionCut
- x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut
- description: '`distribution_cut` is used when `good_service` is
- a count of values aggregated in a `Distribution` that fall into
- a good range. The `total_service` is the total count of all values
- aggregated in the `Distribution`.'
- x-dcl-conflicts:
- - goodTotalRatio
- properties:
- distributionFilter:
- type: string
- x-dcl-go-name: DistributionFilter
- description: A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
- specifying a `TimeSeries` aggregating values. Must have `ValueType
- = DISTRIBUTION` and `MetricKind = DELTA` or `MetricKind =
- CUMULATIVE`.
- range:
- type: object
- x-dcl-go-name: Range
- x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange
- description: Range of values considered "good." For a one-sided
- range, set one bound to an infinite value.
- properties:
- max:
- type: number
- format: double
- x-dcl-go-name: Max
- description: Range maximum.
- min:
- type: number
- format: double
- x-dcl-go-name: Min
- description: Range minimum.
- goodTotalRatio:
- type: object
- x-dcl-go-name: GoodTotalRatio
- x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio
- description: '`good_total_ratio` is used when the ratio of `good_service`
- to `total_service` is computed from two `TimeSeries`.'
- x-dcl-conflicts:
- - distributionCut
- properties:
- badServiceFilter:
- type: string
- x-dcl-go-name: BadServiceFilter
- description: A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
- specifying a `TimeSeries` quantifying bad service, either
- demanded service that was not provided or demanded service
- that was of inadequate quality. Must have `ValueType = DOUBLE`
- or `ValueType = INT64` and must have `MetricKind = DELTA`
- or `MetricKind = CUMULATIVE`.
- goodServiceFilter:
- type: string
- x-dcl-go-name: GoodServiceFilter
- description: A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
- specifying a `TimeSeries` quantifying good service provided.
- Must have `ValueType = DOUBLE` or `ValueType = INT64` and
- must have `MetricKind = DELTA` or `MetricKind = CUMULATIVE`.
- totalServiceFilter:
- type: string
- x-dcl-go-name: TotalServiceFilter
- description: A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
- specifying a `TimeSeries` quantifying total demanded service.
- Must have `ValueType = DOUBLE` or `ValueType = INT64` and
- must have `MetricKind = DELTA` or `MetricKind = CUMULATIVE`.
- windowsBased:
- type: object
- x-dcl-go-name: WindowsBased
- x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBased
- description: Windows-based SLIs
- x-dcl-conflicts:
- - basicSli
- - requestBased
- properties:
- goodBadMetricFilter:
- type: string
- x-dcl-go-name: GoodBadMetricFilter
- description: A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
- specifying a `TimeSeries` with `ValueType = BOOL`. The window
- is good if any `true` values appear in the window.
- x-dcl-conflicts:
- - goodTotalRatioThreshold
- - metricMeanInRange
- - metricSumInRange
- goodTotalRatioThreshold:
- type: object
- x-dcl-go-name: GoodTotalRatioThreshold
- x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold
- description: A window is good if its `performance` is high enough.
- x-dcl-conflicts:
- - goodBadMetricFilter
- - metricMeanInRange
- - metricSumInRange
- properties:
- basicSliPerformance:
- type: object
- x-dcl-go-name: BasicSliPerformance
- x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance
- description: '`BasicSli` to evaluate to judge window quality.'
- x-dcl-conflicts:
- - performance
- properties:
- availability:
- type: object
- x-dcl-go-name: Availability
- x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability
- description: Good service is defined to be the count of
- requests made to this service that return successfully.
- x-dcl-conflicts:
- - latency
- - operationAvailability
- - operationLatency
- latency:
- type: object
- x-dcl-go-name: Latency
- x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency
- description: Good service is defined to be the count of
- requests made to this service that are fast enough with
- respect to `latency.threshold`.
- x-dcl-conflicts:
- - availability
- - operationAvailability
- - operationLatency
- properties:
- experience:
- type: string
- x-dcl-go-name: Experience
- x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnum
- description: 'A description of the experience associated
- with failing requests. Possible values: LATENCY_EXPERIENCE_UNSPECIFIED,
- DELIGHTING, SATISFYING, ANNOYING'
- enum:
- - LATENCY_EXPERIENCE_UNSPECIFIED
- - DELIGHTING
- - SATISFYING
- - ANNOYING
- threshold:
- type: string
- x-dcl-go-name: Threshold
- description: Good service is defined to be the count
- of requests made to this service that return in no
- more than `threshold`.
- location:
- type: array
- x-dcl-go-name: Location
- description: 'OPTIONAL: The set of locations to which this
- SLI is relevant. Telemetry from other locations will not
- be used to calculate performance for this SLI. If omitted,
- this SLI applies to all locations in which the Service
- has activity. For service types that don''t support breaking
- down by location, setting this field will result in an
- error.'
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- method:
- type: array
- x-dcl-go-name: Method
- description: 'OPTIONAL: The set of RPCs to which this SLI
- is relevant. Telemetry from other methods will not be
- used to calculate performance for this SLI. If omitted,
- this SLI applies to all the Service''s methods. For service
- types that don''t support breaking down by method, setting
- this field will result in an error.'
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- operationAvailability:
- type: object
- x-dcl-go-name: OperationAvailability
- x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability
- description: Good service is defined to be the count of
- operations performed by this service that return successfully
- x-dcl-conflicts:
- - availability
- - latency
- - operationLatency
- operationLatency:
- type: object
- x-dcl-go-name: OperationLatency
- x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency
- description: Good service is defined to be the count of
- operations performed by this service that are fast enough
- with respect to `operation_latency.threshold`.
- x-dcl-conflicts:
- - availability
- - latency
- - operationAvailability
- properties:
- experience:
- type: string
- x-dcl-go-name: Experience
- x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnum
- description: 'A description of the experience associated
- with failing requests. Possible values: LATENCY_EXPERIENCE_UNSPECIFIED,
- DELIGHTING, SATISFYING, ANNOYING'
- enum:
- - LATENCY_EXPERIENCE_UNSPECIFIED
- - DELIGHTING
- - SATISFYING
- - ANNOYING
- threshold:
- type: string
- x-dcl-go-name: Threshold
- description: Good service is defined to be the count
- of operations that are completed in no more than `threshold`.
- version:
- type: array
- x-dcl-go-name: Version
- description: 'OPTIONAL: The set of API versions to which
- this SLI is relevant. Telemetry from other API versions
- will not be used to calculate performance for this SLI.
- If omitted, this SLI applies to all API versions. For
- service types that don''t support breaking down by version,
- setting this field will result in an error.'
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- performance:
- type: object
- x-dcl-go-name: Performance
- x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance
- description: '`RequestBasedSli` to evaluate to judge window
- quality.'
- x-dcl-conflicts:
- - basicSliPerformance
- properties:
- distributionCut:
- type: object
- x-dcl-go-name: DistributionCut
- x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut
- description: '`distribution_cut` is used when `good_service`
- is a count of values aggregated in a `Distribution` that
- fall into a good range. The `total_service` is the total
- count of all values aggregated in the `Distribution`.'
- x-dcl-conflicts:
- - goodTotalRatio
- properties:
- distributionFilter:
- type: string
- x-dcl-go-name: DistributionFilter
- description: A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
- specifying a `TimeSeries` aggregating values. Must
- have `ValueType = DISTRIBUTION` and `MetricKind =
- DELTA` or `MetricKind = CUMULATIVE`.
- range:
- type: object
- x-dcl-go-name: Range
- x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange
- description: Range of values considered "good." For
- a one-sided range, set one bound to an infinite value.
- properties:
- max:
- type: number
- format: double
- x-dcl-go-name: Max
- description: Range maximum.
- min:
- type: number
- format: double
- x-dcl-go-name: Min
- description: Range minimum.
- goodTotalRatio:
- type: object
- x-dcl-go-name: GoodTotalRatio
- x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio
- description: '`good_total_ratio` is used when the ratio
- of `good_service` to `total_service` is computed from
- two `TimeSeries`.'
- x-dcl-conflicts:
- - distributionCut
- properties:
- badServiceFilter:
- type: string
- x-dcl-go-name: BadServiceFilter
- description: A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
- specifying a `TimeSeries` quantifying bad service,
- either demanded service that was not provided or demanded
- service that was of inadequate quality. Must have
- `ValueType = DOUBLE` or `ValueType = INT64` and must
- have `MetricKind = DELTA` or `MetricKind = CUMULATIVE`.
- goodServiceFilter:
- type: string
- x-dcl-go-name: GoodServiceFilter
- description: A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
- specifying a `TimeSeries` quantifying good service
- provided. Must have `ValueType = DOUBLE` or `ValueType
- = INT64` and must have `MetricKind = DELTA` or `MetricKind
- = CUMULATIVE`.
- totalServiceFilter:
- type: string
- x-dcl-go-name: TotalServiceFilter
- description: A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
- specifying a `TimeSeries` quantifying total demanded
- service. Must have `ValueType = DOUBLE` or `ValueType
- = INT64` and must have `MetricKind = DELTA` or `MetricKind
- = CUMULATIVE`.
- threshold:
- type: number
- format: double
- x-dcl-go-name: Threshold
- description: If window `performance >= threshold`, the window
- is counted as good.
- metricMeanInRange:
- type: object
- x-dcl-go-name: MetricMeanInRange
- x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange
- description: A window is good if the metric's value is in a good
- range, averaged across returned streams.
- x-dcl-conflicts:
- - goodBadMetricFilter
- - goodTotalRatioThreshold
- - metricSumInRange
- properties:
- range:
- type: object
- x-dcl-go-name: Range
- x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange
- description: Range of values considered "good." For a one-sided
- range, set one bound to an infinite value.
- properties:
- max:
- type: number
- format: double
- x-dcl-go-name: Max
- description: Range maximum.
- min:
- type: number
- format: double
- x-dcl-go-name: Min
- description: Range minimum.
- timeSeries:
- type: string
- x-dcl-go-name: TimeSeries
- description: A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
- specifying the `TimeSeries` to use for evaluating window quality.
- metricSumInRange:
- type: object
- x-dcl-go-name: MetricSumInRange
- x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange
- description: A window is good if the metric's value is in a good
- range, summed across returned streams.
- x-dcl-conflicts:
- - goodBadMetricFilter
- - goodTotalRatioThreshold
- - metricMeanInRange
- properties:
- range:
- type: object
- x-dcl-go-name: Range
- x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange
- description: Range of values considered "good." For a one-sided
- range, set one bound to an infinite value.
- properties:
- max:
- type: number
- format: double
- x-dcl-go-name: Max
- description: Range maximum.
- min:
- type: number
- format: double
- x-dcl-go-name: Min
- description: Range minimum.
- timeSeries:
- type: string
- x-dcl-go-name: TimeSeries
- description: A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
- specifying the `TimeSeries` to use for evaluating window quality.
- windowPeriod:
- type: string
- x-dcl-go-name: WindowPeriod
- description: Duration over which window quality is evaluated. Must
- be an integer fraction of a day and at least `60s`.
- serviceManagementOwned:
- type: boolean
- x-dcl-go-name: ServiceManagementOwned
- readOnly: true
- description: Output only. If set, this SLO is managed at the [Service Management](https://cloud.google.com/service-management/overview)
- level. Therefore the service yaml file is the source of truth for this
- SLO, and API `Update` and `Delete` operations are forbidden.
- x-kubernetes-immutable: true
- userLabels:
- type: object
- additionalProperties:
- type: string
- x-dcl-go-name: UserLabels
- description: Labels which have been used to annotate the service-level objective.
- Label keys must start with a letter. Label keys and values may contain
- lowercase letters, numbers, underscores, and dashes. Label keys and values
- have a maximum length of 63 characters, and must be less than 128 bytes
- in size. Up to 64 label entries may be stored. For labels which do not
- have a semantic value, the empty string may be supplied for the label
- value.
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/service_level_objective_internal.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/service_level_objective_internal.go
deleted file mode 100644
index e3045282a3..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/service_level_objective_internal.go
+++ /dev/null
@@ -1,9260 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 monitoring
-
-import (
- "bytes"
- "context"
- "encoding/json"
- "fmt"
- "io/ioutil"
- "strings"
-
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-func (r *ServiceLevelObjective) validate() error {
-
- if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"RollingPeriod", "CalendarPeriod"}, r.RollingPeriod, r.CalendarPeriod); err != nil {
- return err
- }
- if err := dcl.Required(r, "name"); err != nil {
- return err
- }
- if err := dcl.Required(r, "goal"); err != nil {
- return err
- }
- if err := dcl.RequiredParameter(r.Project, "Project"); err != nil {
- return err
- }
- if err := dcl.RequiredParameter(r.Service, "Service"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.ServiceLevelIndicator) {
- if err := r.ServiceLevelIndicator.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *ServiceLevelObjectiveServiceLevelIndicator) validate() error {
- if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"BasicSli", "RequestBased", "WindowsBased"}, r.BasicSli, r.RequestBased, r.WindowsBased); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.BasicSli) {
- if err := r.BasicSli.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.RequestBased) {
- if err := r.RequestBased.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.WindowsBased) {
- if err := r.WindowsBased.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *ServiceLevelObjectiveServiceLevelIndicatorBasicSli) validate() error {
- if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"Availability", "Latency", "OperationAvailability", "OperationLatency"}, r.Availability, r.Latency, r.OperationAvailability, r.OperationLatency); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Availability) {
- if err := r.Availability.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Latency) {
- if err := r.Latency.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.OperationAvailability) {
- if err := r.OperationAvailability.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.OperationLatency) {
- if err := r.OperationLatency.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability) validate() error {
- return nil
-}
-func (r *ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency) validate() error {
- return nil
-}
-func (r *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability) validate() error {
- return nil
-}
-func (r *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency) validate() error {
- return nil
-}
-func (r *ServiceLevelObjectiveServiceLevelIndicatorRequestBased) validate() error {
- if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"GoodTotalRatio", "DistributionCut"}, r.GoodTotalRatio, r.DistributionCut); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.GoodTotalRatio) {
- if err := r.GoodTotalRatio.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.DistributionCut) {
- if err := r.DistributionCut.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio) validate() error {
- return nil
-}
-func (r *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut) validate() error {
- if !dcl.IsEmptyValueIndirect(r.Range) {
- if err := r.Range.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange) validate() error {
- return nil
-}
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBased) validate() error {
- if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"GoodBadMetricFilter", "GoodTotalRatioThreshold", "MetricMeanInRange", "MetricSumInRange"}, r.GoodBadMetricFilter, r.GoodTotalRatioThreshold, r.MetricMeanInRange, r.MetricSumInRange); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.GoodTotalRatioThreshold) {
- if err := r.GoodTotalRatioThreshold.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.MetricMeanInRange) {
- if err := r.MetricMeanInRange.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.MetricSumInRange) {
- if err := r.MetricSumInRange.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold) validate() error {
- if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"Performance", "BasicSliPerformance"}, r.Performance, r.BasicSliPerformance); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Performance) {
- if err := r.Performance.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.BasicSliPerformance) {
- if err := r.BasicSliPerformance.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance) validate() error {
- if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"GoodTotalRatio", "DistributionCut"}, r.GoodTotalRatio, r.DistributionCut); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.GoodTotalRatio) {
- if err := r.GoodTotalRatio.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.DistributionCut) {
- if err := r.DistributionCut.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio) validate() error {
- return nil
-}
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut) validate() error {
- if !dcl.IsEmptyValueIndirect(r.Range) {
- if err := r.Range.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange) validate() error {
- return nil
-}
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance) validate() error {
- if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"Availability", "Latency", "OperationAvailability", "OperationLatency"}, r.Availability, r.Latency, r.OperationAvailability, r.OperationLatency); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Availability) {
- if err := r.Availability.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Latency) {
- if err := r.Latency.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.OperationAvailability) {
- if err := r.OperationAvailability.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.OperationLatency) {
- if err := r.OperationLatency.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability) validate() error {
- return nil
-}
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency) validate() error {
- return nil
-}
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability) validate() error {
- return nil
-}
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency) validate() error {
- return nil
-}
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange) validate() error {
- if !dcl.IsEmptyValueIndirect(r.Range) {
- if err := r.Range.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange) validate() error {
- return nil
-}
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange) validate() error {
- if !dcl.IsEmptyValueIndirect(r.Range) {
- if err := r.Range.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange) validate() error {
- return nil
-}
-func (r *ServiceLevelObjective) basePath() string {
- params := map[string]interface{}{}
- return dcl.Nprintf("https://monitoring.googleapis.com/v3/", params)
-}
-
-func (r *ServiceLevelObjective) getURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "service": dcl.ValueOrEmptyString(nr.Service),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("projects/{{project}}/services/{{service}}/serviceLevelObjectives/{{name}}", nr.basePath(), userBasePath, params), nil
-}
-
-func (r *ServiceLevelObjective) listURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "service": dcl.ValueOrEmptyString(nr.Service),
- }
- return dcl.URL("projects/{{project}}/services/{{service}}/serviceLevelObjectives", nr.basePath(), userBasePath, params), nil
-
-}
-
-func (r *ServiceLevelObjective) createURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "service": dcl.ValueOrEmptyString(nr.Service),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("projects/{{project}}/services/{{service}}/serviceLevelObjectives?serviceLevelObjectiveId={{name}}", nr.basePath(), userBasePath, params), nil
-
-}
-
-func (r *ServiceLevelObjective) deleteURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "service": dcl.ValueOrEmptyString(nr.Service),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("projects/{{project}}/services/{{service}}/serviceLevelObjectives/{{name}}", nr.basePath(), userBasePath, params), nil
-}
-
-// serviceLevelObjectiveApiOperation represents a mutable operation in the underlying REST
-// API such as Create, Update, or Delete.
-type serviceLevelObjectiveApiOperation interface {
- do(context.Context, *ServiceLevelObjective, *Client) error
-}
-
-// newUpdateServiceLevelObjectiveUpdateServiceLevelObjectiveRequest creates a request for an
-// ServiceLevelObjective resource's UpdateServiceLevelObjective update type by filling in the update
-// fields based on the intended state of the resource.
-func newUpdateServiceLevelObjectiveUpdateServiceLevelObjectiveRequest(ctx context.Context, f *ServiceLevelObjective, c *Client) (map[string]interface{}, error) {
- req := map[string]interface{}{}
- res := f
- _ = res
-
- if v := f.DisplayName; !dcl.IsEmptyValueIndirect(v) {
- req["displayName"] = v
- }
- if v, err := expandServiceLevelObjectiveServiceLevelIndicator(c, f.ServiceLevelIndicator, res); err != nil {
- return nil, fmt.Errorf("error expanding ServiceLevelIndicator into serviceLevelIndicator: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- req["serviceLevelIndicator"] = v
- }
- if v := f.Goal; !dcl.IsEmptyValueIndirect(v) {
- req["goal"] = v
- }
- if v := f.RollingPeriod; !dcl.IsEmptyValueIndirect(v) {
- req["rollingPeriod"] = v
- }
- if v := f.CalendarPeriod; !dcl.IsEmptyValueIndirect(v) {
- req["calendarPeriod"] = v
- }
- if v := f.UserLabels; !dcl.IsEmptyValueIndirect(v) {
- req["userLabels"] = v
- }
- return req, nil
-}
-
-// marshalUpdateServiceLevelObjectiveUpdateServiceLevelObjectiveRequest converts the update into
-// the final JSON request body.
-func marshalUpdateServiceLevelObjectiveUpdateServiceLevelObjectiveRequest(c *Client, m map[string]interface{}) ([]byte, error) {
-
- return json.Marshal(m)
-}
-
-type updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation struct {
- // If the update operation has the REQUIRES_APPLY_OPTIONS trait, this will be populated.
- // Usually it will be nil - this is to prevent us from accidentally depending on apply
- // options, which should usually be unnecessary.
- ApplyOptions []dcl.ApplyOption
- FieldDiffs []*dcl.FieldDiff
-}
-
-// do creates a request and sends it to the appropriate URL. In most operations,
-// do will transcribe a subset of the resource into a request object and send a
-// PUT request to a single URL.
-
-func (op *updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation) do(ctx context.Context, r *ServiceLevelObjective, c *Client) error {
- _, err := c.GetServiceLevelObjective(ctx, r)
- if err != nil {
- return err
- }
-
- u, err := r.updateURL(c.Config.BasePath, "UpdateServiceLevelObjective")
- if err != nil {
- return err
- }
- mask := dcl.UpdateMask(op.FieldDiffs)
- u, err = dcl.AddQueryParams(u, map[string]string{"updateMask": mask})
- if err != nil {
- return err
- }
-
- req, err := newUpdateServiceLevelObjectiveUpdateServiceLevelObjectiveRequest(ctx, r, c)
- if err != nil {
- return err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Created update: %#v", req)
- body, err := marshalUpdateServiceLevelObjectiveUpdateServiceLevelObjectiveRequest(c, req)
- if err != nil {
- return err
- }
- _, err = dcl.SendRequest(ctx, c.Config, "PATCH", u, bytes.NewBuffer(body), c.Config.RetryProvider)
- if err != nil {
- return err
- }
-
- return nil
-}
-
-func (c *Client) listServiceLevelObjectiveRaw(ctx context.Context, r *ServiceLevelObjective, pageToken string, pageSize int32) ([]byte, error) {
- u, err := r.urlNormalized().listURL(c.Config.BasePath)
- if err != nil {
- return nil, err
- }
-
- m := make(map[string]string)
- if pageToken != "" {
- m["pageToken"] = pageToken
- }
-
- if pageSize != ServiceLevelObjectiveMaxPage {
- m["pageSize"] = fmt.Sprintf("%v", pageSize)
- }
-
- u, err = dcl.AddQueryParams(u, m)
- if err != nil {
- return nil, err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
- if err != nil {
- return nil, err
- }
- defer resp.Response.Body.Close()
- return ioutil.ReadAll(resp.Response.Body)
-}
-
-type listServiceLevelObjectiveOperation struct {
- ServiceLevelObjectives []map[string]interface{} `json:"serviceLevelObjectives"`
- Token string `json:"nextPageToken"`
-}
-
-func (c *Client) listServiceLevelObjective(ctx context.Context, r *ServiceLevelObjective, pageToken string, pageSize int32) ([]*ServiceLevelObjective, string, error) {
- b, err := c.listServiceLevelObjectiveRaw(ctx, r, pageToken, pageSize)
- if err != nil {
- return nil, "", err
- }
-
- var m listServiceLevelObjectiveOperation
- if err := json.Unmarshal(b, &m); err != nil {
- return nil, "", err
- }
-
- var l []*ServiceLevelObjective
- for _, v := range m.ServiceLevelObjectives {
- res, err := unmarshalMapServiceLevelObjective(v, c, r)
- if err != nil {
- return nil, m.Token, err
- }
- res.Project = r.Project
- res.Service = r.Service
- l = append(l, res)
- }
-
- return l, m.Token, nil
-}
-
-func (c *Client) deleteAllServiceLevelObjective(ctx context.Context, f func(*ServiceLevelObjective) bool, resources []*ServiceLevelObjective) error {
- var errors []string
- for _, res := range resources {
- if f(res) {
- // We do not want deleteAll to fail on a deletion or else it will stop deleting other resources.
- err := c.DeleteServiceLevelObjective(ctx, res)
- if err != nil {
- errors = append(errors, err.Error())
- }
- }
- }
- if len(errors) > 0 {
- return fmt.Errorf("%v", strings.Join(errors, "\n"))
- } else {
- return nil
- }
-}
-
-type deleteServiceLevelObjectiveOperation struct{}
-
-func (op *deleteServiceLevelObjectiveOperation) do(ctx context.Context, r *ServiceLevelObjective, c *Client) error {
- r, err := c.GetServiceLevelObjective(ctx, r)
- if err != nil {
- if dcl.IsNotFound(err) {
- c.Config.Logger.InfoWithContextf(ctx, "ServiceLevelObjective not found, returning. Original error: %v", err)
- return nil
- }
- c.Config.Logger.WarningWithContextf(ctx, "GetServiceLevelObjective checking for existence. error: %v", err)
- return err
- }
-
- u, err := r.deleteURL(c.Config.BasePath)
- if err != nil {
- return err
- }
-
- // Delete should never have a body
- body := &bytes.Buffer{}
- _, err = dcl.SendRequest(ctx, c.Config, "DELETE", u, body, c.Config.RetryProvider)
- if err != nil {
- return fmt.Errorf("failed to delete ServiceLevelObjective: %w", err)
- }
- return nil
-}
-
-// Create operations are similar to Update operations, although they do not have
-// specific request objects. The Create request object is the json encoding of
-// the resource, which is modified by res.marshal to form the base request body.
-type createServiceLevelObjectiveOperation struct {
- response map[string]interface{}
-}
-
-func (op *createServiceLevelObjectiveOperation) FirstResponse() (map[string]interface{}, bool) {
- return op.response, len(op.response) > 0
-}
-
-func (op *createServiceLevelObjectiveOperation) do(ctx context.Context, r *ServiceLevelObjective, c *Client) error {
- c.Config.Logger.InfoWithContextf(ctx, "Attempting to create %v", r)
- u, err := r.createURL(c.Config.BasePath)
- if err != nil {
- return err
- }
-
- req, err := r.marshal(c)
- if err != nil {
- return err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "POST", u, bytes.NewBuffer(req), c.Config.RetryProvider)
- if err != nil {
- return err
- }
-
- o, err := dcl.ResponseBodyAsJSON(resp)
- if err != nil {
- return fmt.Errorf("error decoding response body into JSON: %w", err)
- }
- op.response = o
-
- if _, err := c.GetServiceLevelObjective(ctx, r); err != nil {
- c.Config.Logger.WarningWithContextf(ctx, "get returned error: %v", err)
- return err
- }
-
- return nil
-}
-
-func (c *Client) getServiceLevelObjectiveRaw(ctx context.Context, r *ServiceLevelObjective) ([]byte, error) {
-
- u, err := r.getURL(c.Config.BasePath)
- if err != nil {
- return nil, err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
- if err != nil {
- return nil, err
- }
- defer resp.Response.Body.Close()
- b, err := ioutil.ReadAll(resp.Response.Body)
- if err != nil {
- return nil, err
- }
-
- return b, nil
-}
-
-func (c *Client) serviceLevelObjectiveDiffsForRawDesired(ctx context.Context, rawDesired *ServiceLevelObjective, opts ...dcl.ApplyOption) (initial, desired *ServiceLevelObjective, diffs []*dcl.FieldDiff, err error) {
- c.Config.Logger.InfoWithContext(ctx, "Fetching initial state...")
- // First, let us see if the user provided a state hint. If they did, we will start fetching based on that.
- var fetchState *ServiceLevelObjective
- if sh := dcl.FetchStateHint(opts); sh != nil {
- if r, ok := sh.(*ServiceLevelObjective); !ok {
- c.Config.Logger.WarningWithContextf(ctx, "Initial state hint was of the wrong type; expected ServiceLevelObjective, got %T", sh)
- } else {
- fetchState = r
- }
- }
- if fetchState == nil {
- fetchState = rawDesired
- }
-
- // 1.2: Retrieval of raw initial state from API
- rawInitial, err := c.GetServiceLevelObjective(ctx, fetchState)
- if rawInitial == nil {
- if !dcl.IsNotFound(err) {
- c.Config.Logger.WarningWithContextf(ctx, "Failed to retrieve whether a ServiceLevelObjective resource already exists: %s", err)
- return nil, nil, nil, fmt.Errorf("failed to retrieve ServiceLevelObjective resource: %v", err)
- }
- c.Config.Logger.InfoWithContext(ctx, "Found that ServiceLevelObjective resource did not exist.")
- // Perform canonicalization to pick up defaults.
- desired, err = canonicalizeServiceLevelObjectiveDesiredState(rawDesired, rawInitial)
- return nil, desired, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Found initial state for ServiceLevelObjective: %v", rawInitial)
- c.Config.Logger.InfoWithContextf(ctx, "Initial desired state for ServiceLevelObjective: %v", rawDesired)
-
- // The Get call applies postReadExtract and so the result may contain fields that are not part of API version.
- if err := extractServiceLevelObjectiveFields(rawInitial); err != nil {
- return nil, nil, nil, err
- }
-
- // 1.3: Canonicalize raw initial state into initial state.
- initial, err = canonicalizeServiceLevelObjectiveInitialState(rawInitial, rawDesired)
- if err != nil {
- return nil, nil, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalized initial state for ServiceLevelObjective: %v", initial)
-
- // 1.4: Canonicalize raw desired state into desired state.
- desired, err = canonicalizeServiceLevelObjectiveDesiredState(rawDesired, rawInitial, opts...)
- if err != nil {
- return nil, nil, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalized desired state for ServiceLevelObjective: %v", desired)
-
- // 2.1: Comparison of initial and desired state.
- diffs, err = diffServiceLevelObjective(c, desired, initial, opts...)
- return initial, desired, diffs, err
-}
-
-func canonicalizeServiceLevelObjectiveInitialState(rawInitial, rawDesired *ServiceLevelObjective) (*ServiceLevelObjective, error) {
- // TODO(magic-modules-eng): write canonicalizer once relevant traits are added.
-
- if !dcl.IsZeroValue(rawInitial.RollingPeriod) {
- // Check if anything else is set.
- if dcl.AnySet(rawInitial.CalendarPeriod) {
- rawInitial.RollingPeriod = dcl.String("")
- }
- }
-
- if !dcl.IsZeroValue(rawInitial.CalendarPeriod) {
- // Check if anything else is set.
- if dcl.AnySet(rawInitial.RollingPeriod) {
- rawInitial.CalendarPeriod = ServiceLevelObjectiveCalendarPeriodEnumRef("")
- }
- }
-
- return rawInitial, nil
-}
-
-/*
-* Canonicalizers
-*
-* These are responsible for converting either a user-specified config or a
-* GCP API response to a standard format that can be used for difference checking.
-* */
-
-func canonicalizeServiceLevelObjectiveDesiredState(rawDesired, rawInitial *ServiceLevelObjective, opts ...dcl.ApplyOption) (*ServiceLevelObjective, error) {
-
- if rawInitial == nil {
- // Since the initial state is empty, the desired state is all we have.
- // We canonicalize the remaining nested objects with nil to pick up defaults.
- rawDesired.ServiceLevelIndicator = canonicalizeServiceLevelObjectiveServiceLevelIndicator(rawDesired.ServiceLevelIndicator, nil, opts...)
-
- return rawDesired, nil
- }
- canonicalDesired := &ServiceLevelObjective{}
- if dcl.PartialSelfLinkToSelfLink(rawDesired.Name, rawInitial.Name) {
- canonicalDesired.Name = rawInitial.Name
- } else {
- canonicalDesired.Name = rawDesired.Name
- }
- if dcl.StringCanonicalize(rawDesired.DisplayName, rawInitial.DisplayName) {
- canonicalDesired.DisplayName = rawInitial.DisplayName
- } else {
- canonicalDesired.DisplayName = rawDesired.DisplayName
- }
- canonicalDesired.ServiceLevelIndicator = canonicalizeServiceLevelObjectiveServiceLevelIndicator(rawDesired.ServiceLevelIndicator, rawInitial.ServiceLevelIndicator, opts...)
- if dcl.IsZeroValue(rawDesired.Goal) || (dcl.IsEmptyValueIndirect(rawDesired.Goal) && dcl.IsEmptyValueIndirect(rawInitial.Goal)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- canonicalDesired.Goal = rawInitial.Goal
- } else {
- canonicalDesired.Goal = rawDesired.Goal
- }
- if dcl.StringCanonicalize(rawDesired.RollingPeriod, rawInitial.RollingPeriod) {
- canonicalDesired.RollingPeriod = rawInitial.RollingPeriod
- } else {
- canonicalDesired.RollingPeriod = rawDesired.RollingPeriod
- }
- if dcl.IsZeroValue(rawDesired.CalendarPeriod) || (dcl.IsEmptyValueIndirect(rawDesired.CalendarPeriod) && dcl.IsEmptyValueIndirect(rawInitial.CalendarPeriod)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- canonicalDesired.CalendarPeriod = rawInitial.CalendarPeriod
- } else {
- canonicalDesired.CalendarPeriod = rawDesired.CalendarPeriod
- }
- if dcl.IsZeroValue(rawDesired.UserLabels) || (dcl.IsEmptyValueIndirect(rawDesired.UserLabels) && dcl.IsEmptyValueIndirect(rawInitial.UserLabels)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- canonicalDesired.UserLabels = rawInitial.UserLabels
- } else {
- canonicalDesired.UserLabels = rawDesired.UserLabels
- }
- if dcl.NameToSelfLink(rawDesired.Project, rawInitial.Project) {
- canonicalDesired.Project = rawInitial.Project
- } else {
- canonicalDesired.Project = rawDesired.Project
- }
- if dcl.NameToSelfLink(rawDesired.Service, rawInitial.Service) {
- canonicalDesired.Service = rawInitial.Service
- } else {
- canonicalDesired.Service = rawDesired.Service
- }
-
- if canonicalDesired.RollingPeriod != nil {
- // Check if anything else is set.
- if dcl.AnySet(rawDesired.CalendarPeriod) {
- canonicalDesired.RollingPeriod = dcl.String("")
- }
- }
-
- if canonicalDesired.CalendarPeriod != nil {
- // Check if anything else is set.
- if dcl.AnySet(rawDesired.RollingPeriod) {
- canonicalDesired.CalendarPeriod = ServiceLevelObjectiveCalendarPeriodEnumRef("")
- }
- }
-
- return canonicalDesired, nil
-}
-
-func canonicalizeServiceLevelObjectiveNewState(c *Client, rawNew, rawDesired *ServiceLevelObjective) (*ServiceLevelObjective, error) {
-
- if dcl.IsEmptyValueIndirect(rawNew.Name) && dcl.IsEmptyValueIndirect(rawDesired.Name) {
- rawNew.Name = rawDesired.Name
- } else {
- if dcl.PartialSelfLinkToSelfLink(rawDesired.Name, rawNew.Name) {
- rawNew.Name = rawDesired.Name
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.DisplayName) && dcl.IsEmptyValueIndirect(rawDesired.DisplayName) {
- rawNew.DisplayName = rawDesired.DisplayName
- } else {
- if dcl.StringCanonicalize(rawDesired.DisplayName, rawNew.DisplayName) {
- rawNew.DisplayName = rawDesired.DisplayName
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.ServiceLevelIndicator) && dcl.IsEmptyValueIndirect(rawDesired.ServiceLevelIndicator) {
- rawNew.ServiceLevelIndicator = rawDesired.ServiceLevelIndicator
- } else {
- rawNew.ServiceLevelIndicator = canonicalizeNewServiceLevelObjectiveServiceLevelIndicator(c, rawDesired.ServiceLevelIndicator, rawNew.ServiceLevelIndicator)
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Goal) && dcl.IsEmptyValueIndirect(rawDesired.Goal) {
- rawNew.Goal = rawDesired.Goal
- } else {
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.RollingPeriod) && dcl.IsEmptyValueIndirect(rawDesired.RollingPeriod) {
- rawNew.RollingPeriod = rawDesired.RollingPeriod
- } else {
- if dcl.StringCanonicalize(rawDesired.RollingPeriod, rawNew.RollingPeriod) {
- rawNew.RollingPeriod = rawDesired.RollingPeriod
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.CalendarPeriod) && dcl.IsEmptyValueIndirect(rawDesired.CalendarPeriod) {
- rawNew.CalendarPeriod = rawDesired.CalendarPeriod
- } else {
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.CreateTime) && dcl.IsEmptyValueIndirect(rawDesired.CreateTime) {
- rawNew.CreateTime = rawDesired.CreateTime
- } else {
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.DeleteTime) && dcl.IsEmptyValueIndirect(rawDesired.DeleteTime) {
- rawNew.DeleteTime = rawDesired.DeleteTime
- } else {
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.ServiceManagementOwned) && dcl.IsEmptyValueIndirect(rawDesired.ServiceManagementOwned) {
- rawNew.ServiceManagementOwned = rawDesired.ServiceManagementOwned
- } else {
- if dcl.BoolCanonicalize(rawDesired.ServiceManagementOwned, rawNew.ServiceManagementOwned) {
- rawNew.ServiceManagementOwned = rawDesired.ServiceManagementOwned
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.UserLabels) && dcl.IsEmptyValueIndirect(rawDesired.UserLabels) {
- rawNew.UserLabels = rawDesired.UserLabels
- } else {
- }
-
- rawNew.Project = rawDesired.Project
-
- rawNew.Service = rawDesired.Service
-
- return rawNew, nil
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicator(des, initial *ServiceLevelObjectiveServiceLevelIndicator, opts ...dcl.ApplyOption) *ServiceLevelObjectiveServiceLevelIndicator {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if des.BasicSli != nil || (initial != nil && initial.BasicSli != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.RequestBased, des.WindowsBased) {
- des.BasicSli = nil
- if initial != nil {
- initial.BasicSli = nil
- }
- }
- }
-
- if des.RequestBased != nil || (initial != nil && initial.RequestBased != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.BasicSli, des.WindowsBased) {
- des.RequestBased = nil
- if initial != nil {
- initial.RequestBased = nil
- }
- }
- }
-
- if des.WindowsBased != nil || (initial != nil && initial.WindowsBased != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.BasicSli, des.RequestBased) {
- des.WindowsBased = nil
- if initial != nil {
- initial.WindowsBased = nil
- }
- }
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &ServiceLevelObjectiveServiceLevelIndicator{}
-
- cDes.BasicSli = canonicalizeServiceLevelObjectiveServiceLevelIndicatorBasicSli(des.BasicSli, initial.BasicSli, opts...)
- cDes.RequestBased = canonicalizeServiceLevelObjectiveServiceLevelIndicatorRequestBased(des.RequestBased, initial.RequestBased, opts...)
- cDes.WindowsBased = canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBased(des.WindowsBased, initial.WindowsBased, opts...)
-
- return cDes
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorSlice(des, initial []ServiceLevelObjectiveServiceLevelIndicator, opts ...dcl.ApplyOption) []ServiceLevelObjectiveServiceLevelIndicator {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicator, 0, len(des))
- for _, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicator(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicator, 0, len(des))
- for i, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicator(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicator(c *Client, des, nw *ServiceLevelObjectiveServiceLevelIndicator) *ServiceLevelObjectiveServiceLevelIndicator {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for ServiceLevelObjectiveServiceLevelIndicator while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.BasicSli = canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorBasicSli(c, des.BasicSli, nw.BasicSli)
- nw.RequestBased = canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorRequestBased(c, des.RequestBased, nw.RequestBased)
- nw.WindowsBased = canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBased(c, des.WindowsBased, nw.WindowsBased)
-
- return nw
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorSet(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicator) []ServiceLevelObjectiveServiceLevelIndicator {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []ServiceLevelObjectiveServiceLevelIndicator
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareServiceLevelObjectiveServiceLevelIndicatorNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicator(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorSlice(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicator) []ServiceLevelObjectiveServiceLevelIndicator {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []ServiceLevelObjectiveServiceLevelIndicator
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicator(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorBasicSli(des, initial *ServiceLevelObjectiveServiceLevelIndicatorBasicSli, opts ...dcl.ApplyOption) *ServiceLevelObjectiveServiceLevelIndicatorBasicSli {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if des.Availability != nil || (initial != nil && initial.Availability != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Latency, des.OperationAvailability, des.OperationLatency) {
- des.Availability = nil
- if initial != nil {
- initial.Availability = nil
- }
- }
- }
-
- if des.Latency != nil || (initial != nil && initial.Latency != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Availability, des.OperationAvailability, des.OperationLatency) {
- des.Latency = nil
- if initial != nil {
- initial.Latency = nil
- }
- }
- }
-
- if des.OperationAvailability != nil || (initial != nil && initial.OperationAvailability != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Availability, des.Latency, des.OperationLatency) {
- des.OperationAvailability = nil
- if initial != nil {
- initial.OperationAvailability = nil
- }
- }
- }
-
- if des.OperationLatency != nil || (initial != nil && initial.OperationLatency != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Availability, des.Latency, des.OperationAvailability) {
- des.OperationLatency = nil
- if initial != nil {
- initial.OperationLatency = nil
- }
- }
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &ServiceLevelObjectiveServiceLevelIndicatorBasicSli{}
-
- if dcl.StringArrayCanonicalize(des.Method, initial.Method) {
- cDes.Method = initial.Method
- } else {
- cDes.Method = des.Method
- }
- if dcl.StringArrayCanonicalize(des.Location, initial.Location) {
- cDes.Location = initial.Location
- } else {
- cDes.Location = des.Location
- }
- if dcl.StringArrayCanonicalize(des.Version, initial.Version) {
- cDes.Version = initial.Version
- } else {
- cDes.Version = des.Version
- }
- cDes.Availability = canonicalizeServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability(des.Availability, initial.Availability, opts...)
- cDes.Latency = canonicalizeServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency(des.Latency, initial.Latency, opts...)
- cDes.OperationAvailability = canonicalizeServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability(des.OperationAvailability, initial.OperationAvailability, opts...)
- cDes.OperationLatency = canonicalizeServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency(des.OperationLatency, initial.OperationLatency, opts...)
-
- return cDes
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorBasicSliSlice(des, initial []ServiceLevelObjectiveServiceLevelIndicatorBasicSli, opts ...dcl.ApplyOption) []ServiceLevelObjectiveServiceLevelIndicatorBasicSli {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorBasicSli, 0, len(des))
- for _, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorBasicSli(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorBasicSli, 0, len(des))
- for i, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorBasicSli(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorBasicSli(c *Client, des, nw *ServiceLevelObjectiveServiceLevelIndicatorBasicSli) *ServiceLevelObjectiveServiceLevelIndicatorBasicSli {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for ServiceLevelObjectiveServiceLevelIndicatorBasicSli while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringArrayCanonicalize(des.Method, nw.Method) {
- nw.Method = des.Method
- }
- if dcl.StringArrayCanonicalize(des.Location, nw.Location) {
- nw.Location = des.Location
- }
- if dcl.StringArrayCanonicalize(des.Version, nw.Version) {
- nw.Version = des.Version
- }
- nw.Availability = canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability(c, des.Availability, nw.Availability)
- nw.Latency = canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency(c, des.Latency, nw.Latency)
- nw.OperationAvailability = canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability(c, des.OperationAvailability, nw.OperationAvailability)
- nw.OperationLatency = canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency(c, des.OperationLatency, nw.OperationLatency)
-
- return nw
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorBasicSliSet(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorBasicSli) []ServiceLevelObjectiveServiceLevelIndicatorBasicSli {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []ServiceLevelObjectiveServiceLevelIndicatorBasicSli
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareServiceLevelObjectiveServiceLevelIndicatorBasicSliNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorBasicSli(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorBasicSliSlice(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorBasicSli) []ServiceLevelObjectiveServiceLevelIndicatorBasicSli {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []ServiceLevelObjectiveServiceLevelIndicatorBasicSli
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorBasicSli(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability(des, initial *ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability, opts ...dcl.ApplyOption) *ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
- if initial == nil {
- return des
- }
-
- cDes := &ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability{}
-
- return cDes
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailabilitySlice(des, initial []ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability, opts ...dcl.ApplyOption) []ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability, 0, len(des))
- for _, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability, 0, len(des))
- for i, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability(c *Client, des, nw *ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability) *ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailabilitySet(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability) []ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailabilityNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailabilitySlice(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability) []ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency(des, initial *ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency, opts ...dcl.ApplyOption) *ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency{}
-
- if dcl.StringCanonicalize(des.Threshold, initial.Threshold) || dcl.IsZeroValue(des.Threshold) {
- cDes.Threshold = initial.Threshold
- } else {
- cDes.Threshold = des.Threshold
- }
- if dcl.IsZeroValue(des.Experience) || (dcl.IsEmptyValueIndirect(des.Experience) && dcl.IsEmptyValueIndirect(initial.Experience)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Experience = initial.Experience
- } else {
- cDes.Experience = des.Experience
- }
-
- return cDes
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencySlice(des, initial []ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency, opts ...dcl.ApplyOption) []ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency, 0, len(des))
- for _, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency, 0, len(des))
- for i, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency(c *Client, des, nw *ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency) *ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Threshold, nw.Threshold) {
- nw.Threshold = des.Threshold
- }
-
- return nw
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencySet(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency) []ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencySlice(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency) []ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability(des, initial *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability, opts ...dcl.ApplyOption) *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
- if initial == nil {
- return des
- }
-
- cDes := &ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability{}
-
- return cDes
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailabilitySlice(des, initial []ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability, opts ...dcl.ApplyOption) []ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability, 0, len(des))
- for _, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability, 0, len(des))
- for i, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability(c *Client, des, nw *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability) *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailabilitySet(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability) []ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailabilityNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailabilitySlice(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability) []ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency(des, initial *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency, opts ...dcl.ApplyOption) *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency{}
-
- if dcl.StringCanonicalize(des.Threshold, initial.Threshold) || dcl.IsZeroValue(des.Threshold) {
- cDes.Threshold = initial.Threshold
- } else {
- cDes.Threshold = des.Threshold
- }
- if dcl.IsZeroValue(des.Experience) || (dcl.IsEmptyValueIndirect(des.Experience) && dcl.IsEmptyValueIndirect(initial.Experience)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Experience = initial.Experience
- } else {
- cDes.Experience = des.Experience
- }
-
- return cDes
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencySlice(des, initial []ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency, opts ...dcl.ApplyOption) []ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency, 0, len(des))
- for _, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency, 0, len(des))
- for i, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency(c *Client, des, nw *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency) *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Threshold, nw.Threshold) {
- nw.Threshold = des.Threshold
- }
-
- return nw
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencySet(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency) []ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencySlice(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency) []ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorRequestBased(des, initial *ServiceLevelObjectiveServiceLevelIndicatorRequestBased, opts ...dcl.ApplyOption) *ServiceLevelObjectiveServiceLevelIndicatorRequestBased {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if des.GoodTotalRatio != nil || (initial != nil && initial.GoodTotalRatio != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.DistributionCut) {
- des.GoodTotalRatio = nil
- if initial != nil {
- initial.GoodTotalRatio = nil
- }
- }
- }
-
- if des.DistributionCut != nil || (initial != nil && initial.DistributionCut != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.GoodTotalRatio) {
- des.DistributionCut = nil
- if initial != nil {
- initial.DistributionCut = nil
- }
- }
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &ServiceLevelObjectiveServiceLevelIndicatorRequestBased{}
-
- cDes.GoodTotalRatio = canonicalizeServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio(des.GoodTotalRatio, initial.GoodTotalRatio, opts...)
- cDes.DistributionCut = canonicalizeServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut(des.DistributionCut, initial.DistributionCut, opts...)
-
- return cDes
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorRequestBasedSlice(des, initial []ServiceLevelObjectiveServiceLevelIndicatorRequestBased, opts ...dcl.ApplyOption) []ServiceLevelObjectiveServiceLevelIndicatorRequestBased {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorRequestBased, 0, len(des))
- for _, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorRequestBased(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorRequestBased, 0, len(des))
- for i, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorRequestBased(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorRequestBased(c *Client, des, nw *ServiceLevelObjectiveServiceLevelIndicatorRequestBased) *ServiceLevelObjectiveServiceLevelIndicatorRequestBased {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for ServiceLevelObjectiveServiceLevelIndicatorRequestBased while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.GoodTotalRatio = canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio(c, des.GoodTotalRatio, nw.GoodTotalRatio)
- nw.DistributionCut = canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut(c, des.DistributionCut, nw.DistributionCut)
-
- return nw
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorRequestBasedSet(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorRequestBased) []ServiceLevelObjectiveServiceLevelIndicatorRequestBased {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []ServiceLevelObjectiveServiceLevelIndicatorRequestBased
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareServiceLevelObjectiveServiceLevelIndicatorRequestBasedNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorRequestBased(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorRequestBasedSlice(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorRequestBased) []ServiceLevelObjectiveServiceLevelIndicatorRequestBased {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []ServiceLevelObjectiveServiceLevelIndicatorRequestBased
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorRequestBased(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio(des, initial *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio, opts ...dcl.ApplyOption) *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio{}
-
- if dcl.StringCanonicalize(des.GoodServiceFilter, initial.GoodServiceFilter) || dcl.IsZeroValue(des.GoodServiceFilter) {
- cDes.GoodServiceFilter = initial.GoodServiceFilter
- } else {
- cDes.GoodServiceFilter = des.GoodServiceFilter
- }
- if dcl.StringCanonicalize(des.BadServiceFilter, initial.BadServiceFilter) || dcl.IsZeroValue(des.BadServiceFilter) {
- cDes.BadServiceFilter = initial.BadServiceFilter
- } else {
- cDes.BadServiceFilter = des.BadServiceFilter
- }
- if dcl.StringCanonicalize(des.TotalServiceFilter, initial.TotalServiceFilter) || dcl.IsZeroValue(des.TotalServiceFilter) {
- cDes.TotalServiceFilter = initial.TotalServiceFilter
- } else {
- cDes.TotalServiceFilter = des.TotalServiceFilter
- }
-
- return cDes
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatioSlice(des, initial []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio, opts ...dcl.ApplyOption) []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio, 0, len(des))
- for _, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio, 0, len(des))
- for i, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio(c *Client, des, nw *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio) *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.GoodServiceFilter, nw.GoodServiceFilter) {
- nw.GoodServiceFilter = des.GoodServiceFilter
- }
- if dcl.StringCanonicalize(des.BadServiceFilter, nw.BadServiceFilter) {
- nw.BadServiceFilter = des.BadServiceFilter
- }
- if dcl.StringCanonicalize(des.TotalServiceFilter, nw.TotalServiceFilter) {
- nw.TotalServiceFilter = des.TotalServiceFilter
- }
-
- return nw
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatioSet(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio) []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatioNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatioSlice(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio) []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut(des, initial *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut, opts ...dcl.ApplyOption) *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut{}
-
- if dcl.StringCanonicalize(des.DistributionFilter, initial.DistributionFilter) || dcl.IsZeroValue(des.DistributionFilter) {
- cDes.DistributionFilter = initial.DistributionFilter
- } else {
- cDes.DistributionFilter = des.DistributionFilter
- }
- cDes.Range = canonicalizeServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange(des.Range, initial.Range, opts...)
-
- return cDes
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutSlice(des, initial []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut, opts ...dcl.ApplyOption) []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut, 0, len(des))
- for _, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut, 0, len(des))
- for i, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut(c *Client, des, nw *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut) *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.DistributionFilter, nw.DistributionFilter) {
- nw.DistributionFilter = des.DistributionFilter
- }
- nw.Range = canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange(c, des.Range, nw.Range)
-
- return nw
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutSet(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut) []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutSlice(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut) []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange(des, initial *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange, opts ...dcl.ApplyOption) *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange{}
-
- if dcl.IsZeroValue(des.Min) || (dcl.IsEmptyValueIndirect(des.Min) && dcl.IsEmptyValueIndirect(initial.Min)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Min = initial.Min
- } else {
- cDes.Min = des.Min
- }
- if dcl.IsZeroValue(des.Max) || (dcl.IsEmptyValueIndirect(des.Max) && dcl.IsEmptyValueIndirect(initial.Max)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Max = initial.Max
- } else {
- cDes.Max = des.Max
- }
-
- return cDes
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRangeSlice(des, initial []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange, opts ...dcl.ApplyOption) []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange, 0, len(des))
- for _, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange, 0, len(des))
- for i, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange(c *Client, des, nw *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange) *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRangeSet(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange) []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRangeNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRangeSlice(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange) []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBased(des, initial *ServiceLevelObjectiveServiceLevelIndicatorWindowsBased, opts ...dcl.ApplyOption) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBased {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if des.GoodBadMetricFilter != nil || (initial != nil && initial.GoodBadMetricFilter != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.GoodTotalRatioThreshold, des.MetricMeanInRange, des.MetricSumInRange) {
- des.GoodBadMetricFilter = nil
- if initial != nil {
- initial.GoodBadMetricFilter = nil
- }
- }
- }
-
- if des.GoodTotalRatioThreshold != nil || (initial != nil && initial.GoodTotalRatioThreshold != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.GoodBadMetricFilter, des.MetricMeanInRange, des.MetricSumInRange) {
- des.GoodTotalRatioThreshold = nil
- if initial != nil {
- initial.GoodTotalRatioThreshold = nil
- }
- }
- }
-
- if des.MetricMeanInRange != nil || (initial != nil && initial.MetricMeanInRange != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.GoodBadMetricFilter, des.GoodTotalRatioThreshold, des.MetricSumInRange) {
- des.MetricMeanInRange = nil
- if initial != nil {
- initial.MetricMeanInRange = nil
- }
- }
- }
-
- if des.MetricSumInRange != nil || (initial != nil && initial.MetricSumInRange != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.GoodBadMetricFilter, des.GoodTotalRatioThreshold, des.MetricMeanInRange) {
- des.MetricSumInRange = nil
- if initial != nil {
- initial.MetricSumInRange = nil
- }
- }
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &ServiceLevelObjectiveServiceLevelIndicatorWindowsBased{}
-
- if dcl.StringCanonicalize(des.GoodBadMetricFilter, initial.GoodBadMetricFilter) || dcl.IsZeroValue(des.GoodBadMetricFilter) {
- cDes.GoodBadMetricFilter = initial.GoodBadMetricFilter
- } else {
- cDes.GoodBadMetricFilter = des.GoodBadMetricFilter
- }
- cDes.GoodTotalRatioThreshold = canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold(des.GoodTotalRatioThreshold, initial.GoodTotalRatioThreshold, opts...)
- cDes.MetricMeanInRange = canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange(des.MetricMeanInRange, initial.MetricMeanInRange, opts...)
- cDes.MetricSumInRange = canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange(des.MetricSumInRange, initial.MetricSumInRange, opts...)
- if dcl.StringCanonicalize(des.WindowPeriod, initial.WindowPeriod) || dcl.IsZeroValue(des.WindowPeriod) {
- cDes.WindowPeriod = initial.WindowPeriod
- } else {
- cDes.WindowPeriod = des.WindowPeriod
- }
-
- return cDes
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedSlice(des, initial []ServiceLevelObjectiveServiceLevelIndicatorWindowsBased, opts ...dcl.ApplyOption) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBased {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBased, 0, len(des))
- for _, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBased(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBased, 0, len(des))
- for i, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBased(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBased(c *Client, des, nw *ServiceLevelObjectiveServiceLevelIndicatorWindowsBased) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBased {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for ServiceLevelObjectiveServiceLevelIndicatorWindowsBased while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.GoodBadMetricFilter, nw.GoodBadMetricFilter) {
- nw.GoodBadMetricFilter = des.GoodBadMetricFilter
- }
- nw.GoodTotalRatioThreshold = canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold(c, des.GoodTotalRatioThreshold, nw.GoodTotalRatioThreshold)
- nw.MetricMeanInRange = canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange(c, des.MetricMeanInRange, nw.MetricMeanInRange)
- nw.MetricSumInRange = canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange(c, des.MetricSumInRange, nw.MetricSumInRange)
- if dcl.StringCanonicalize(des.WindowPeriod, nw.WindowPeriod) {
- nw.WindowPeriod = des.WindowPeriod
- }
-
- return nw
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedSet(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorWindowsBased) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBased {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []ServiceLevelObjectiveServiceLevelIndicatorWindowsBased
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBased(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedSlice(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorWindowsBased) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBased {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []ServiceLevelObjectiveServiceLevelIndicatorWindowsBased
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBased(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold(des, initial *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold, opts ...dcl.ApplyOption) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if des.Performance != nil || (initial != nil && initial.Performance != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.BasicSliPerformance) {
- des.Performance = nil
- if initial != nil {
- initial.Performance = nil
- }
- }
- }
-
- if des.BasicSliPerformance != nil || (initial != nil && initial.BasicSliPerformance != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Performance) {
- des.BasicSliPerformance = nil
- if initial != nil {
- initial.BasicSliPerformance = nil
- }
- }
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold{}
-
- cDes.Performance = canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance(des.Performance, initial.Performance, opts...)
- cDes.BasicSliPerformance = canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance(des.BasicSliPerformance, initial.BasicSliPerformance, opts...)
- if dcl.IsZeroValue(des.Threshold) || (dcl.IsEmptyValueIndirect(des.Threshold) && dcl.IsEmptyValueIndirect(initial.Threshold)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Threshold = initial.Threshold
- } else {
- cDes.Threshold = des.Threshold
- }
-
- return cDes
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdSlice(des, initial []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold, opts ...dcl.ApplyOption) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold, 0, len(des))
- for _, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold, 0, len(des))
- for i, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold(c *Client, des, nw *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.Performance = canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance(c, des.Performance, nw.Performance)
- nw.BasicSliPerformance = canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance(c, des.BasicSliPerformance, nw.BasicSliPerformance)
-
- return nw
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdSet(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdSlice(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance(des, initial *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance, opts ...dcl.ApplyOption) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if des.GoodTotalRatio != nil || (initial != nil && initial.GoodTotalRatio != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.DistributionCut) {
- des.GoodTotalRatio = nil
- if initial != nil {
- initial.GoodTotalRatio = nil
- }
- }
- }
-
- if des.DistributionCut != nil || (initial != nil && initial.DistributionCut != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.GoodTotalRatio) {
- des.DistributionCut = nil
- if initial != nil {
- initial.DistributionCut = nil
- }
- }
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance{}
-
- cDes.GoodTotalRatio = canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio(des.GoodTotalRatio, initial.GoodTotalRatio, opts...)
- cDes.DistributionCut = canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut(des.DistributionCut, initial.DistributionCut, opts...)
-
- return cDes
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceSlice(des, initial []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance, opts ...dcl.ApplyOption) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance, 0, len(des))
- for _, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance, 0, len(des))
- for i, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance(c *Client, des, nw *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.GoodTotalRatio = canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio(c, des.GoodTotalRatio, nw.GoodTotalRatio)
- nw.DistributionCut = canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut(c, des.DistributionCut, nw.DistributionCut)
-
- return nw
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceSet(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceSlice(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio(des, initial *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio, opts ...dcl.ApplyOption) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio{}
-
- if dcl.StringCanonicalize(des.GoodServiceFilter, initial.GoodServiceFilter) || dcl.IsZeroValue(des.GoodServiceFilter) {
- cDes.GoodServiceFilter = initial.GoodServiceFilter
- } else {
- cDes.GoodServiceFilter = des.GoodServiceFilter
- }
- if dcl.StringCanonicalize(des.BadServiceFilter, initial.BadServiceFilter) || dcl.IsZeroValue(des.BadServiceFilter) {
- cDes.BadServiceFilter = initial.BadServiceFilter
- } else {
- cDes.BadServiceFilter = des.BadServiceFilter
- }
- if dcl.StringCanonicalize(des.TotalServiceFilter, initial.TotalServiceFilter) || dcl.IsZeroValue(des.TotalServiceFilter) {
- cDes.TotalServiceFilter = initial.TotalServiceFilter
- } else {
- cDes.TotalServiceFilter = des.TotalServiceFilter
- }
-
- return cDes
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatioSlice(des, initial []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio, opts ...dcl.ApplyOption) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio, 0, len(des))
- for _, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio, 0, len(des))
- for i, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio(c *Client, des, nw *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.GoodServiceFilter, nw.GoodServiceFilter) {
- nw.GoodServiceFilter = des.GoodServiceFilter
- }
- if dcl.StringCanonicalize(des.BadServiceFilter, nw.BadServiceFilter) {
- nw.BadServiceFilter = des.BadServiceFilter
- }
- if dcl.StringCanonicalize(des.TotalServiceFilter, nw.TotalServiceFilter) {
- nw.TotalServiceFilter = des.TotalServiceFilter
- }
-
- return nw
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatioSet(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatioNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatioSlice(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut(des, initial *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut, opts ...dcl.ApplyOption) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut{}
-
- if dcl.StringCanonicalize(des.DistributionFilter, initial.DistributionFilter) || dcl.IsZeroValue(des.DistributionFilter) {
- cDes.DistributionFilter = initial.DistributionFilter
- } else {
- cDes.DistributionFilter = des.DistributionFilter
- }
- cDes.Range = canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange(des.Range, initial.Range, opts...)
-
- return cDes
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutSlice(des, initial []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut, opts ...dcl.ApplyOption) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut, 0, len(des))
- for _, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut, 0, len(des))
- for i, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut(c *Client, des, nw *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.DistributionFilter, nw.DistributionFilter) {
- nw.DistributionFilter = des.DistributionFilter
- }
- nw.Range = canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange(c, des.Range, nw.Range)
-
- return nw
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutSet(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutSlice(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange(des, initial *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange, opts ...dcl.ApplyOption) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange{}
-
- if dcl.IsZeroValue(des.Min) || (dcl.IsEmptyValueIndirect(des.Min) && dcl.IsEmptyValueIndirect(initial.Min)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Min = initial.Min
- } else {
- cDes.Min = des.Min
- }
- if dcl.IsZeroValue(des.Max) || (dcl.IsEmptyValueIndirect(des.Max) && dcl.IsEmptyValueIndirect(initial.Max)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Max = initial.Max
- } else {
- cDes.Max = des.Max
- }
-
- return cDes
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRangeSlice(des, initial []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange, opts ...dcl.ApplyOption) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange, 0, len(des))
- for _, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange, 0, len(des))
- for i, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange(c *Client, des, nw *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRangeSet(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRangeNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRangeSlice(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance(des, initial *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance, opts ...dcl.ApplyOption) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if des.Availability != nil || (initial != nil && initial.Availability != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Latency, des.OperationAvailability, des.OperationLatency) {
- des.Availability = nil
- if initial != nil {
- initial.Availability = nil
- }
- }
- }
-
- if des.Latency != nil || (initial != nil && initial.Latency != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Availability, des.OperationAvailability, des.OperationLatency) {
- des.Latency = nil
- if initial != nil {
- initial.Latency = nil
- }
- }
- }
-
- if des.OperationAvailability != nil || (initial != nil && initial.OperationAvailability != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Availability, des.Latency, des.OperationLatency) {
- des.OperationAvailability = nil
- if initial != nil {
- initial.OperationAvailability = nil
- }
- }
- }
-
- if des.OperationLatency != nil || (initial != nil && initial.OperationLatency != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Availability, des.Latency, des.OperationAvailability) {
- des.OperationLatency = nil
- if initial != nil {
- initial.OperationLatency = nil
- }
- }
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance{}
-
- if dcl.StringArrayCanonicalize(des.Method, initial.Method) {
- cDes.Method = initial.Method
- } else {
- cDes.Method = des.Method
- }
- if dcl.StringArrayCanonicalize(des.Location, initial.Location) {
- cDes.Location = initial.Location
- } else {
- cDes.Location = des.Location
- }
- if dcl.StringArrayCanonicalize(des.Version, initial.Version) {
- cDes.Version = initial.Version
- } else {
- cDes.Version = des.Version
- }
- cDes.Availability = canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability(des.Availability, initial.Availability, opts...)
- cDes.Latency = canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency(des.Latency, initial.Latency, opts...)
- cDes.OperationAvailability = canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability(des.OperationAvailability, initial.OperationAvailability, opts...)
- cDes.OperationLatency = canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency(des.OperationLatency, initial.OperationLatency, opts...)
-
- return cDes
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceSlice(des, initial []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance, opts ...dcl.ApplyOption) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance, 0, len(des))
- for _, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance, 0, len(des))
- for i, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance(c *Client, des, nw *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringArrayCanonicalize(des.Method, nw.Method) {
- nw.Method = des.Method
- }
- if dcl.StringArrayCanonicalize(des.Location, nw.Location) {
- nw.Location = des.Location
- }
- if dcl.StringArrayCanonicalize(des.Version, nw.Version) {
- nw.Version = des.Version
- }
- nw.Availability = canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability(c, des.Availability, nw.Availability)
- nw.Latency = canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency(c, des.Latency, nw.Latency)
- nw.OperationAvailability = canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability(c, des.OperationAvailability, nw.OperationAvailability)
- nw.OperationLatency = canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency(c, des.OperationLatency, nw.OperationLatency)
-
- return nw
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceSet(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceSlice(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability(des, initial *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability, opts ...dcl.ApplyOption) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
- if initial == nil {
- return des
- }
-
- cDes := &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability{}
-
- return cDes
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailabilitySlice(des, initial []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability, opts ...dcl.ApplyOption) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability, 0, len(des))
- for _, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability, 0, len(des))
- for i, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability(c *Client, des, nw *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailabilitySet(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailabilityNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailabilitySlice(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency(des, initial *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency, opts ...dcl.ApplyOption) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency{}
-
- if dcl.StringCanonicalize(des.Threshold, initial.Threshold) || dcl.IsZeroValue(des.Threshold) {
- cDes.Threshold = initial.Threshold
- } else {
- cDes.Threshold = des.Threshold
- }
- if dcl.IsZeroValue(des.Experience) || (dcl.IsEmptyValueIndirect(des.Experience) && dcl.IsEmptyValueIndirect(initial.Experience)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Experience = initial.Experience
- } else {
- cDes.Experience = des.Experience
- }
-
- return cDes
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencySlice(des, initial []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency, opts ...dcl.ApplyOption) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency, 0, len(des))
- for _, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency, 0, len(des))
- for i, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency(c *Client, des, nw *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Threshold, nw.Threshold) {
- nw.Threshold = des.Threshold
- }
-
- return nw
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencySet(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencySlice(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability(des, initial *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability, opts ...dcl.ApplyOption) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
- if initial == nil {
- return des
- }
-
- cDes := &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability{}
-
- return cDes
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailabilitySlice(des, initial []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability, opts ...dcl.ApplyOption) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability, 0, len(des))
- for _, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability, 0, len(des))
- for i, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability(c *Client, des, nw *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailabilitySet(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailabilityNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailabilitySlice(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency(des, initial *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency, opts ...dcl.ApplyOption) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency{}
-
- if dcl.StringCanonicalize(des.Threshold, initial.Threshold) || dcl.IsZeroValue(des.Threshold) {
- cDes.Threshold = initial.Threshold
- } else {
- cDes.Threshold = des.Threshold
- }
- if dcl.IsZeroValue(des.Experience) || (dcl.IsEmptyValueIndirect(des.Experience) && dcl.IsEmptyValueIndirect(initial.Experience)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Experience = initial.Experience
- } else {
- cDes.Experience = des.Experience
- }
-
- return cDes
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencySlice(des, initial []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency, opts ...dcl.ApplyOption) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency, 0, len(des))
- for _, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency, 0, len(des))
- for i, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency(c *Client, des, nw *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Threshold, nw.Threshold) {
- nw.Threshold = des.Threshold
- }
-
- return nw
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencySet(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencySlice(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange(des, initial *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange, opts ...dcl.ApplyOption) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange{}
-
- if dcl.StringCanonicalize(des.TimeSeries, initial.TimeSeries) || dcl.IsZeroValue(des.TimeSeries) {
- cDes.TimeSeries = initial.TimeSeries
- } else {
- cDes.TimeSeries = des.TimeSeries
- }
- cDes.Range = canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange(des.Range, initial.Range, opts...)
-
- return cDes
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeSlice(des, initial []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange, opts ...dcl.ApplyOption) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange, 0, len(des))
- for _, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange, 0, len(des))
- for i, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange(c *Client, des, nw *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.TimeSeries, nw.TimeSeries) {
- nw.TimeSeries = des.TimeSeries
- }
- nw.Range = canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange(c, des.Range, nw.Range)
-
- return nw
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeSet(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeSlice(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange(des, initial *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange, opts ...dcl.ApplyOption) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange{}
-
- if dcl.IsZeroValue(des.Min) || (dcl.IsEmptyValueIndirect(des.Min) && dcl.IsEmptyValueIndirect(initial.Min)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Min = initial.Min
- } else {
- cDes.Min = des.Min
- }
- if dcl.IsZeroValue(des.Max) || (dcl.IsEmptyValueIndirect(des.Max) && dcl.IsEmptyValueIndirect(initial.Max)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Max = initial.Max
- } else {
- cDes.Max = des.Max
- }
-
- return cDes
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRangeSlice(des, initial []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange, opts ...dcl.ApplyOption) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange, 0, len(des))
- for _, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange, 0, len(des))
- for i, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange(c *Client, des, nw *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRangeSet(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRangeNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRangeSlice(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange(des, initial *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange, opts ...dcl.ApplyOption) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange{}
-
- if dcl.StringCanonicalize(des.TimeSeries, initial.TimeSeries) || dcl.IsZeroValue(des.TimeSeries) {
- cDes.TimeSeries = initial.TimeSeries
- } else {
- cDes.TimeSeries = des.TimeSeries
- }
- cDes.Range = canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange(des.Range, initial.Range, opts...)
-
- return cDes
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeSlice(des, initial []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange, opts ...dcl.ApplyOption) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange, 0, len(des))
- for _, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange, 0, len(des))
- for i, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange(c *Client, des, nw *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.TimeSeries, nw.TimeSeries) {
- nw.TimeSeries = des.TimeSeries
- }
- nw.Range = canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange(c, des.Range, nw.Range)
-
- return nw
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeSet(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeSlice(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange(des, initial *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange, opts ...dcl.ApplyOption) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange{}
-
- if dcl.IsZeroValue(des.Min) || (dcl.IsEmptyValueIndirect(des.Min) && dcl.IsEmptyValueIndirect(initial.Min)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Min = initial.Min
- } else {
- cDes.Min = des.Min
- }
- if dcl.IsZeroValue(des.Max) || (dcl.IsEmptyValueIndirect(des.Max) && dcl.IsEmptyValueIndirect(initial.Max)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Max = initial.Max
- } else {
- cDes.Max = des.Max
- }
-
- return cDes
-}
-
-func canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRangeSlice(des, initial []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange, opts ...dcl.ApplyOption) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange, 0, len(des))
- for _, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange, 0, len(des))
- for i, d := range des {
- cd := canonicalizeServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange(c *Client, des, nw *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRangeSet(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRangeNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRangeSlice(c *Client, des, nw []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange(c, &d, &n))
- }
-
- return items
-}
-
-// The differ returns a list of diffs, along with a list of operations that should be taken
-// to remedy them. Right now, it does not attempt to consolidate operations - if several
-// fields can be fixed with a patch update, it will perform the patch several times.
-// Diffs on some fields will be ignored if the `desired` state has an empty (nil)
-// value. This empty value indicates that the user does not care about the state for
-// the field. Empty fields on the actual object will cause diffs.
-// TODO(magic-modules-eng): for efficiency in some resources, add batching.
-func diffServiceLevelObjective(c *Client, desired, actual *ServiceLevelObjective, opts ...dcl.ApplyOption) ([]*dcl.FieldDiff, error) {
- if desired == nil || actual == nil {
- return nil, fmt.Errorf("nil resource passed to diff - always a programming error: %#v, %#v", desired, actual)
- }
-
- c.Config.Logger.Infof("Diff function called with desired state: %v", desired)
- c.Config.Logger.Infof("Diff function called with actual state: %v", actual)
-
- var fn dcl.FieldName
- var newDiffs []*dcl.FieldDiff
- // New style diffs.
- if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Name")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.DisplayName, actual.DisplayName, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("DisplayName")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.ServiceLevelIndicator, actual.ServiceLevelIndicator, dcl.DiffInfo{ObjectFunction: compareServiceLevelObjectiveServiceLevelIndicatorNewStyle, EmptyObject: EmptyServiceLevelObjectiveServiceLevelIndicator, OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("ServiceLevelIndicator")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Goal, actual.Goal, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Goal")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.RollingPeriod, actual.RollingPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("RollingPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CalendarPeriod, actual.CalendarPeriod, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("CalendarPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.CreateTime, actual.CreateTime, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("CreateTime")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.DeleteTime, actual.DeleteTime, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("DeleteTime")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.ServiceManagementOwned, actual.ServiceManagementOwned, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ServiceManagementOwned")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.UserLabels, actual.UserLabels, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("UserLabels")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Project, actual.Project, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Project")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Service, actual.Service, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Service")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if len(newDiffs) > 0 {
- c.Config.Logger.Infof("Diff function found diffs: %v", newDiffs)
- }
- return newDiffs, nil
-}
-func compareServiceLevelObjectiveServiceLevelIndicatorNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*ServiceLevelObjectiveServiceLevelIndicator)
- if !ok {
- desiredNotPointer, ok := d.(ServiceLevelObjectiveServiceLevelIndicator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicator or *ServiceLevelObjectiveServiceLevelIndicator", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*ServiceLevelObjectiveServiceLevelIndicator)
- if !ok {
- actualNotPointer, ok := a.(ServiceLevelObjectiveServiceLevelIndicator)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicator", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.BasicSli, actual.BasicSli, dcl.DiffInfo{ObjectFunction: compareServiceLevelObjectiveServiceLevelIndicatorBasicSliNewStyle, EmptyObject: EmptyServiceLevelObjectiveServiceLevelIndicatorBasicSli, OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("BasicSli")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.RequestBased, actual.RequestBased, dcl.DiffInfo{ObjectFunction: compareServiceLevelObjectiveServiceLevelIndicatorRequestBasedNewStyle, EmptyObject: EmptyServiceLevelObjectiveServiceLevelIndicatorRequestBased, OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("RequestBased")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.WindowsBased, actual.WindowsBased, dcl.DiffInfo{ObjectFunction: compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedNewStyle, EmptyObject: EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBased, OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("WindowsBased")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareServiceLevelObjectiveServiceLevelIndicatorBasicSliNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*ServiceLevelObjectiveServiceLevelIndicatorBasicSli)
- if !ok {
- desiredNotPointer, ok := d.(ServiceLevelObjectiveServiceLevelIndicatorBasicSli)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorBasicSli or *ServiceLevelObjectiveServiceLevelIndicatorBasicSli", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*ServiceLevelObjectiveServiceLevelIndicatorBasicSli)
- if !ok {
- actualNotPointer, ok := a.(ServiceLevelObjectiveServiceLevelIndicatorBasicSli)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorBasicSli", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Method, actual.Method, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Method")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Location, actual.Location, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Location")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Version, actual.Version, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Version")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Availability, actual.Availability, dcl.DiffInfo{ObjectFunction: compareServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailabilityNewStyle, EmptyObject: EmptyServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability, OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Availability")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Latency, actual.Latency, dcl.DiffInfo{ObjectFunction: compareServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyNewStyle, EmptyObject: EmptyServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency, OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Latency")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.OperationAvailability, actual.OperationAvailability, dcl.DiffInfo{ObjectFunction: compareServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailabilityNewStyle, EmptyObject: EmptyServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability, OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("OperationAvailability")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.OperationLatency, actual.OperationLatency, dcl.DiffInfo{ObjectFunction: compareServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyNewStyle, EmptyObject: EmptyServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency, OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("OperationLatency")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailabilityNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- return diffs, nil
-}
-
-func compareServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency)
- if !ok {
- desiredNotPointer, ok := d.(ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency or *ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency)
- if !ok {
- actualNotPointer, ok := a.(ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Threshold, actual.Threshold, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Threshold")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Experience, actual.Experience, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Experience")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailabilityNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- return diffs, nil
-}
-
-func compareServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency)
- if !ok {
- desiredNotPointer, ok := d.(ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency or *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency)
- if !ok {
- actualNotPointer, ok := a.(ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Threshold, actual.Threshold, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Threshold")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Experience, actual.Experience, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Experience")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareServiceLevelObjectiveServiceLevelIndicatorRequestBasedNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*ServiceLevelObjectiveServiceLevelIndicatorRequestBased)
- if !ok {
- desiredNotPointer, ok := d.(ServiceLevelObjectiveServiceLevelIndicatorRequestBased)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorRequestBased or *ServiceLevelObjectiveServiceLevelIndicatorRequestBased", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*ServiceLevelObjectiveServiceLevelIndicatorRequestBased)
- if !ok {
- actualNotPointer, ok := a.(ServiceLevelObjectiveServiceLevelIndicatorRequestBased)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorRequestBased", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.GoodTotalRatio, actual.GoodTotalRatio, dcl.DiffInfo{ObjectFunction: compareServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatioNewStyle, EmptyObject: EmptyServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio, OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("GoodTotalRatio")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.DistributionCut, actual.DistributionCut, dcl.DiffInfo{ObjectFunction: compareServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutNewStyle, EmptyObject: EmptyServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut, OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("DistributionCut")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatioNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio)
- if !ok {
- desiredNotPointer, ok := d.(ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio or *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio)
- if !ok {
- actualNotPointer, ok := a.(ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.GoodServiceFilter, actual.GoodServiceFilter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("GoodServiceFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.BadServiceFilter, actual.BadServiceFilter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("BadServiceFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.TotalServiceFilter, actual.TotalServiceFilter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("TotalServiceFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut)
- if !ok {
- desiredNotPointer, ok := d.(ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut or *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut)
- if !ok {
- actualNotPointer, ok := a.(ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.DistributionFilter, actual.DistributionFilter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("DistributionFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Range, actual.Range, dcl.DiffInfo{ObjectFunction: compareServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRangeNewStyle, EmptyObject: EmptyServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange, OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Range")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRangeNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange)
- if !ok {
- desiredNotPointer, ok := d.(ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange or *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange)
- if !ok {
- actualNotPointer, ok := a.(ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Min, actual.Min, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Min")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Max, actual.Max, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Max")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*ServiceLevelObjectiveServiceLevelIndicatorWindowsBased)
- if !ok {
- desiredNotPointer, ok := d.(ServiceLevelObjectiveServiceLevelIndicatorWindowsBased)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorWindowsBased or *ServiceLevelObjectiveServiceLevelIndicatorWindowsBased", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*ServiceLevelObjectiveServiceLevelIndicatorWindowsBased)
- if !ok {
- actualNotPointer, ok := a.(ServiceLevelObjectiveServiceLevelIndicatorWindowsBased)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorWindowsBased", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.GoodBadMetricFilter, actual.GoodBadMetricFilter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("GoodBadMetricFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GoodTotalRatioThreshold, actual.GoodTotalRatioThreshold, dcl.DiffInfo{ObjectFunction: compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdNewStyle, EmptyObject: EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold, OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("GoodTotalRatioThreshold")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.MetricMeanInRange, actual.MetricMeanInRange, dcl.DiffInfo{ObjectFunction: compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeNewStyle, EmptyObject: EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange, OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("MetricMeanInRange")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.MetricSumInRange, actual.MetricSumInRange, dcl.DiffInfo{ObjectFunction: compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeNewStyle, EmptyObject: EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange, OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("MetricSumInRange")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.WindowPeriod, actual.WindowPeriod, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("WindowPeriod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold)
- if !ok {
- desiredNotPointer, ok := d.(ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold or *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold)
- if !ok {
- actualNotPointer, ok := a.(ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Performance, actual.Performance, dcl.DiffInfo{ObjectFunction: compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceNewStyle, EmptyObject: EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance, OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Performance")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.BasicSliPerformance, actual.BasicSliPerformance, dcl.DiffInfo{ObjectFunction: compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceNewStyle, EmptyObject: EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance, OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("BasicSliPerformance")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Threshold, actual.Threshold, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Threshold")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance)
- if !ok {
- desiredNotPointer, ok := d.(ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance or *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance)
- if !ok {
- actualNotPointer, ok := a.(ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.GoodTotalRatio, actual.GoodTotalRatio, dcl.DiffInfo{ObjectFunction: compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatioNewStyle, EmptyObject: EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio, OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("GoodTotalRatio")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.DistributionCut, actual.DistributionCut, dcl.DiffInfo{ObjectFunction: compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutNewStyle, EmptyObject: EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut, OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("DistributionCut")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatioNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio)
- if !ok {
- desiredNotPointer, ok := d.(ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio or *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio)
- if !ok {
- actualNotPointer, ok := a.(ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.GoodServiceFilter, actual.GoodServiceFilter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("GoodServiceFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.BadServiceFilter, actual.BadServiceFilter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("BadServiceFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.TotalServiceFilter, actual.TotalServiceFilter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("TotalServiceFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut)
- if !ok {
- desiredNotPointer, ok := d.(ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut or *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut)
- if !ok {
- actualNotPointer, ok := a.(ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.DistributionFilter, actual.DistributionFilter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("DistributionFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Range, actual.Range, dcl.DiffInfo{ObjectFunction: compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRangeNewStyle, EmptyObject: EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange, OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Range")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRangeNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange)
- if !ok {
- desiredNotPointer, ok := d.(ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange or *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange)
- if !ok {
- actualNotPointer, ok := a.(ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Min, actual.Min, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Min")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Max, actual.Max, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Max")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance)
- if !ok {
- desiredNotPointer, ok := d.(ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance or *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance)
- if !ok {
- actualNotPointer, ok := a.(ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Method, actual.Method, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Method")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Location, actual.Location, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Location")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Version, actual.Version, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Version")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Availability, actual.Availability, dcl.DiffInfo{ObjectFunction: compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailabilityNewStyle, EmptyObject: EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability, OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Availability")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Latency, actual.Latency, dcl.DiffInfo{ObjectFunction: compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyNewStyle, EmptyObject: EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency, OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Latency")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.OperationAvailability, actual.OperationAvailability, dcl.DiffInfo{ObjectFunction: compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailabilityNewStyle, EmptyObject: EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability, OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("OperationAvailability")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.OperationLatency, actual.OperationLatency, dcl.DiffInfo{ObjectFunction: compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyNewStyle, EmptyObject: EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency, OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("OperationLatency")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailabilityNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- return diffs, nil
-}
-
-func compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency)
- if !ok {
- desiredNotPointer, ok := d.(ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency or *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency)
- if !ok {
- actualNotPointer, ok := a.(ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Threshold, actual.Threshold, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Threshold")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Experience, actual.Experience, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Experience")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailabilityNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- return diffs, nil
-}
-
-func compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency)
- if !ok {
- desiredNotPointer, ok := d.(ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency or *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency)
- if !ok {
- actualNotPointer, ok := a.(ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Threshold, actual.Threshold, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Threshold")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Experience, actual.Experience, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Experience")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange)
- if !ok {
- desiredNotPointer, ok := d.(ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange or *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange)
- if !ok {
- actualNotPointer, ok := a.(ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.TimeSeries, actual.TimeSeries, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("TimeSeries")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Range, actual.Range, dcl.DiffInfo{ObjectFunction: compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRangeNewStyle, EmptyObject: EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange, OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Range")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRangeNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange)
- if !ok {
- desiredNotPointer, ok := d.(ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange or *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange)
- if !ok {
- actualNotPointer, ok := a.(ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Min, actual.Min, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Min")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Max, actual.Max, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Max")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange)
- if !ok {
- desiredNotPointer, ok := d.(ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange or *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange)
- if !ok {
- actualNotPointer, ok := a.(ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.TimeSeries, actual.TimeSeries, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("TimeSeries")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Range, actual.Range, dcl.DiffInfo{ObjectFunction: compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRangeNewStyle, EmptyObject: EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange, OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Range")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRangeNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange)
- if !ok {
- desiredNotPointer, ok := d.(ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange or *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange)
- if !ok {
- actualNotPointer, ok := a.(ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Min, actual.Min, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Min")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Max, actual.Max, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation")}, fn.AddNest("Max")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-// urlNormalized returns a copy of the resource struct with values normalized
-// for URL substitutions. For instance, it converts long-form self-links to
-// short-form so they can be substituted in.
-func (r *ServiceLevelObjective) urlNormalized() *ServiceLevelObjective {
- normalized := dcl.Copy(*r).(ServiceLevelObjective)
- normalized.Name = dcl.SelfLinkToName(r.Name)
- normalized.DisplayName = dcl.SelfLinkToName(r.DisplayName)
- normalized.RollingPeriod = dcl.SelfLinkToName(r.RollingPeriod)
- normalized.Project = dcl.SelfLinkToName(r.Project)
- normalized.Service = dcl.SelfLinkToName(r.Service)
- return &normalized
-}
-
-func (r *ServiceLevelObjective) updateURL(userBasePath, updateName string) (string, error) {
- nr := r.urlNormalized()
- if updateName == "UpdateServiceLevelObjective" {
- fields := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "service": dcl.ValueOrEmptyString(nr.Service),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("projects/{{project}}/services/{{service}}/serviceLevelObjectives/{{name}}", nr.basePath(), userBasePath, fields), nil
-
- }
-
- return "", fmt.Errorf("unknown update name: %s", updateName)
-}
-
-// marshal encodes the ServiceLevelObjective resource into JSON for a Create request, and
-// performs transformations from the resource schema to the API schema if
-// necessary.
-func (r *ServiceLevelObjective) marshal(c *Client) ([]byte, error) {
- m, err := expandServiceLevelObjective(c, r)
- if err != nil {
- return nil, fmt.Errorf("error marshalling ServiceLevelObjective: %w", err)
- }
-
- return json.Marshal(m)
-}
-
-// unmarshalServiceLevelObjective decodes JSON responses into the ServiceLevelObjective resource schema.
-func unmarshalServiceLevelObjective(b []byte, c *Client, res *ServiceLevelObjective) (*ServiceLevelObjective, error) {
- var m map[string]interface{}
- if err := json.Unmarshal(b, &m); err != nil {
- return nil, err
- }
- return unmarshalMapServiceLevelObjective(m, c, res)
-}
-
-func unmarshalMapServiceLevelObjective(m map[string]interface{}, c *Client, res *ServiceLevelObjective) (*ServiceLevelObjective, error) {
-
- flattened := flattenServiceLevelObjective(c, m, res)
- if flattened == nil {
- return nil, fmt.Errorf("attempted to flatten empty json object")
- }
- return flattened, nil
-}
-
-// expandServiceLevelObjective expands ServiceLevelObjective into a JSON request object.
-func expandServiceLevelObjective(c *Client, f *ServiceLevelObjective) (map[string]interface{}, error) {
- m := make(map[string]interface{})
- res := f
- _ = res
- if v, err := dcl.DeriveField("projects/%s/services/%s/serviceLevelObjectives/%s", f.Name, dcl.SelfLinkToName(f.Project), dcl.SelfLinkToName(f.Service), dcl.SelfLinkToName(f.Name)); err != nil {
- return nil, fmt.Errorf("error expanding Name into name: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["name"] = v
- }
- if v := f.DisplayName; dcl.ValueShouldBeSent(v) {
- m["displayName"] = v
- }
- if v, err := expandServiceLevelObjectiveServiceLevelIndicator(c, f.ServiceLevelIndicator, res); err != nil {
- return nil, fmt.Errorf("error expanding ServiceLevelIndicator into serviceLevelIndicator: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["serviceLevelIndicator"] = v
- }
- if v := f.Goal; dcl.ValueShouldBeSent(v) {
- m["goal"] = v
- }
- if v := f.RollingPeriod; dcl.ValueShouldBeSent(v) {
- m["rollingPeriod"] = v
- }
- if v := f.CalendarPeriod; dcl.ValueShouldBeSent(v) {
- m["calendarPeriod"] = v
- }
- if v := f.UserLabels; dcl.ValueShouldBeSent(v) {
- m["userLabels"] = v
- }
- if v, err := dcl.EmptyValue(); err != nil {
- return nil, fmt.Errorf("error expanding Project into project: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["project"] = v
- }
- if v, err := dcl.EmptyValue(); err != nil {
- return nil, fmt.Errorf("error expanding Service into service: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["service"] = v
- }
-
- return m, nil
-}
-
-// flattenServiceLevelObjective flattens ServiceLevelObjective from a JSON request object into the
-// ServiceLevelObjective type.
-func flattenServiceLevelObjective(c *Client, i interface{}, res *ServiceLevelObjective) *ServiceLevelObjective {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
- if len(m) == 0 {
- return nil
- }
-
- resultRes := &ServiceLevelObjective{}
- resultRes.Name = dcl.FlattenString(m["name"])
- resultRes.DisplayName = dcl.FlattenString(m["displayName"])
- resultRes.ServiceLevelIndicator = flattenServiceLevelObjectiveServiceLevelIndicator(c, m["serviceLevelIndicator"], res)
- resultRes.Goal = dcl.FlattenDouble(m["goal"])
- resultRes.RollingPeriod = dcl.FlattenString(m["rollingPeriod"])
- resultRes.CalendarPeriod = flattenServiceLevelObjectiveCalendarPeriodEnum(m["calendarPeriod"])
- resultRes.CreateTime = dcl.FlattenString(m["createTime"])
- resultRes.DeleteTime = dcl.FlattenString(m["deleteTime"])
- resultRes.ServiceManagementOwned = dcl.FlattenBool(m["serviceManagementOwned"])
- resultRes.UserLabels = dcl.FlattenKeyValuePairs(m["userLabels"])
- resultRes.Project = dcl.FlattenString(m["project"])
- resultRes.Service = dcl.FlattenString(m["service"])
-
- return resultRes
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorMap expands the contents of ServiceLevelObjectiveServiceLevelIndicator into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorMap(c *Client, f map[string]ServiceLevelObjectiveServiceLevelIndicator, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicator(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorSlice expands the contents of ServiceLevelObjectiveServiceLevelIndicator into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorSlice(c *Client, f []ServiceLevelObjectiveServiceLevelIndicator, res *ServiceLevelObjective) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicator(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorMap flattens the contents of ServiceLevelObjectiveServiceLevelIndicator from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorMap(c *Client, i interface{}, res *ServiceLevelObjective) map[string]ServiceLevelObjectiveServiceLevelIndicator {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceLevelObjectiveServiceLevelIndicator{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceLevelObjectiveServiceLevelIndicator{}
- }
-
- items := make(map[string]ServiceLevelObjectiveServiceLevelIndicator)
- for k, item := range a {
- items[k] = *flattenServiceLevelObjectiveServiceLevelIndicator(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorSlice flattens the contents of ServiceLevelObjectiveServiceLevelIndicator from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorSlice(c *Client, i interface{}, res *ServiceLevelObjective) []ServiceLevelObjectiveServiceLevelIndicator {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceLevelObjectiveServiceLevelIndicator{}
- }
-
- if len(a) == 0 {
- return []ServiceLevelObjectiveServiceLevelIndicator{}
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicator, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceLevelObjectiveServiceLevelIndicator(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicator expands an instance of ServiceLevelObjectiveServiceLevelIndicator into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicator(c *Client, f *ServiceLevelObjectiveServiceLevelIndicator, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandServiceLevelObjectiveServiceLevelIndicatorBasicSli(c, f.BasicSli, res); err != nil {
- return nil, fmt.Errorf("error expanding BasicSli into basicSli: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["basicSli"] = v
- }
- if v, err := expandServiceLevelObjectiveServiceLevelIndicatorRequestBased(c, f.RequestBased, res); err != nil {
- return nil, fmt.Errorf("error expanding RequestBased into requestBased: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["requestBased"] = v
- }
- if v, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBased(c, f.WindowsBased, res); err != nil {
- return nil, fmt.Errorf("error expanding WindowsBased into windowsBased: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["windowsBased"] = v
- }
-
- return m, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicator flattens an instance of ServiceLevelObjectiveServiceLevelIndicator from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicator(c *Client, i interface{}, res *ServiceLevelObjective) *ServiceLevelObjectiveServiceLevelIndicator {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &ServiceLevelObjectiveServiceLevelIndicator{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyServiceLevelObjectiveServiceLevelIndicator
- }
- r.BasicSli = flattenServiceLevelObjectiveServiceLevelIndicatorBasicSli(c, m["basicSli"], res)
- r.RequestBased = flattenServiceLevelObjectiveServiceLevelIndicatorRequestBased(c, m["requestBased"], res)
- r.WindowsBased = flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBased(c, m["windowsBased"], res)
-
- return r
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorBasicSliMap expands the contents of ServiceLevelObjectiveServiceLevelIndicatorBasicSli into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorBasicSliMap(c *Client, f map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSli, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorBasicSli(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorBasicSliSlice expands the contents of ServiceLevelObjectiveServiceLevelIndicatorBasicSli into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorBasicSliSlice(c *Client, f []ServiceLevelObjectiveServiceLevelIndicatorBasicSli, res *ServiceLevelObjective) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorBasicSli(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliMap flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorBasicSli from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliMap(c *Client, i interface{}, res *ServiceLevelObjective) map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSli {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSli{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSli{}
- }
-
- items := make(map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSli)
- for k, item := range a {
- items[k] = *flattenServiceLevelObjectiveServiceLevelIndicatorBasicSli(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliSlice flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorBasicSli from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliSlice(c *Client, i interface{}, res *ServiceLevelObjective) []ServiceLevelObjectiveServiceLevelIndicatorBasicSli {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceLevelObjectiveServiceLevelIndicatorBasicSli{}
- }
-
- if len(a) == 0 {
- return []ServiceLevelObjectiveServiceLevelIndicatorBasicSli{}
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorBasicSli, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceLevelObjectiveServiceLevelIndicatorBasicSli(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorBasicSli expands an instance of ServiceLevelObjectiveServiceLevelIndicatorBasicSli into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorBasicSli(c *Client, f *ServiceLevelObjectiveServiceLevelIndicatorBasicSli, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Method; v != nil {
- m["method"] = v
- }
- if v := f.Location; v != nil {
- m["location"] = v
- }
- if v := f.Version; v != nil {
- m["version"] = v
- }
- if v, err := expandServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability(c, f.Availability, res); err != nil {
- return nil, fmt.Errorf("error expanding Availability into availability: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["availability"] = v
- }
- if v, err := expandServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency(c, f.Latency, res); err != nil {
- return nil, fmt.Errorf("error expanding Latency into latency: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["latency"] = v
- }
- if v, err := expandServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability(c, f.OperationAvailability, res); err != nil {
- return nil, fmt.Errorf("error expanding OperationAvailability into operationAvailability: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["operationAvailability"] = v
- }
- if v, err := expandServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency(c, f.OperationLatency, res); err != nil {
- return nil, fmt.Errorf("error expanding OperationLatency into operationLatency: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["operationLatency"] = v
- }
-
- return m, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorBasicSli flattens an instance of ServiceLevelObjectiveServiceLevelIndicatorBasicSli from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorBasicSli(c *Client, i interface{}, res *ServiceLevelObjective) *ServiceLevelObjectiveServiceLevelIndicatorBasicSli {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &ServiceLevelObjectiveServiceLevelIndicatorBasicSli{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyServiceLevelObjectiveServiceLevelIndicatorBasicSli
- }
- r.Method = dcl.FlattenStringSlice(m["method"])
- r.Location = dcl.FlattenStringSlice(m["location"])
- r.Version = dcl.FlattenStringSlice(m["version"])
- r.Availability = flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability(c, m["availability"], res)
- r.Latency = flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency(c, m["latency"], res)
- r.OperationAvailability = flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability(c, m["operationAvailability"], res)
- r.OperationLatency = flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency(c, m["operationLatency"], res)
-
- return r
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailabilityMap expands the contents of ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailabilityMap(c *Client, f map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailabilitySlice expands the contents of ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailabilitySlice(c *Client, f []ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability, res *ServiceLevelObjective) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailabilityMap flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailabilityMap(c *Client, i interface{}, res *ServiceLevelObjective) map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability{}
- }
-
- items := make(map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability)
- for k, item := range a {
- items[k] = *flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailabilitySlice flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailabilitySlice(c *Client, i interface{}, res *ServiceLevelObjective) []ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability{}
- }
-
- if len(a) == 0 {
- return []ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability{}
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability expands an instance of ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability(c *Client, f *ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
-
- return m, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability flattens an instance of ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability(c *Client, i interface{}, res *ServiceLevelObjective) *ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability {
- _, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability
- }
-
- return r
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyMap expands the contents of ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyMap(c *Client, f map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencySlice expands the contents of ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencySlice(c *Client, f []ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency, res *ServiceLevelObjective) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyMap flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyMap(c *Client, i interface{}, res *ServiceLevelObjective) map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency{}
- }
-
- items := make(map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency)
- for k, item := range a {
- items[k] = *flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencySlice flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencySlice(c *Client, i interface{}, res *ServiceLevelObjective) []ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency{}
- }
-
- if len(a) == 0 {
- return []ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency{}
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency expands an instance of ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency(c *Client, f *ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Threshold; !dcl.IsEmptyValueIndirect(v) {
- m["threshold"] = v
- }
- if v := f.Experience; !dcl.IsEmptyValueIndirect(v) {
- m["experience"] = v
- }
-
- return m, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency flattens an instance of ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency(c *Client, i interface{}, res *ServiceLevelObjective) *ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency
- }
- r.Threshold = dcl.FlattenString(m["threshold"])
- r.Experience = flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnum(m["experience"])
-
- return r
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailabilityMap expands the contents of ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailabilityMap(c *Client, f map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailabilitySlice expands the contents of ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailabilitySlice(c *Client, f []ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability, res *ServiceLevelObjective) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailabilityMap flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailabilityMap(c *Client, i interface{}, res *ServiceLevelObjective) map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability{}
- }
-
- items := make(map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability)
- for k, item := range a {
- items[k] = *flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailabilitySlice flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailabilitySlice(c *Client, i interface{}, res *ServiceLevelObjective) []ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability{}
- }
-
- if len(a) == 0 {
- return []ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability{}
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability expands an instance of ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability(c *Client, f *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
-
- return m, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability flattens an instance of ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability(c *Client, i interface{}, res *ServiceLevelObjective) *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability {
- _, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability
- }
-
- return r
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyMap expands the contents of ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyMap(c *Client, f map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencySlice expands the contents of ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencySlice(c *Client, f []ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency, res *ServiceLevelObjective) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyMap flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyMap(c *Client, i interface{}, res *ServiceLevelObjective) map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency{}
- }
-
- items := make(map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency)
- for k, item := range a {
- items[k] = *flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencySlice flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencySlice(c *Client, i interface{}, res *ServiceLevelObjective) []ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency{}
- }
-
- if len(a) == 0 {
- return []ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency{}
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency expands an instance of ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency(c *Client, f *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Threshold; !dcl.IsEmptyValueIndirect(v) {
- m["threshold"] = v
- }
- if v := f.Experience; !dcl.IsEmptyValueIndirect(v) {
- m["experience"] = v
- }
-
- return m, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency flattens an instance of ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency(c *Client, i interface{}, res *ServiceLevelObjective) *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency
- }
- r.Threshold = dcl.FlattenString(m["threshold"])
- r.Experience = flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnum(m["experience"])
-
- return r
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorRequestBasedMap expands the contents of ServiceLevelObjectiveServiceLevelIndicatorRequestBased into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorRequestBasedMap(c *Client, f map[string]ServiceLevelObjectiveServiceLevelIndicatorRequestBased, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorRequestBased(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorRequestBasedSlice expands the contents of ServiceLevelObjectiveServiceLevelIndicatorRequestBased into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorRequestBasedSlice(c *Client, f []ServiceLevelObjectiveServiceLevelIndicatorRequestBased, res *ServiceLevelObjective) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorRequestBased(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorRequestBasedMap flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorRequestBased from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorRequestBasedMap(c *Client, i interface{}, res *ServiceLevelObjective) map[string]ServiceLevelObjectiveServiceLevelIndicatorRequestBased {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorRequestBased{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorRequestBased{}
- }
-
- items := make(map[string]ServiceLevelObjectiveServiceLevelIndicatorRequestBased)
- for k, item := range a {
- items[k] = *flattenServiceLevelObjectiveServiceLevelIndicatorRequestBased(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorRequestBasedSlice flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorRequestBased from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorRequestBasedSlice(c *Client, i interface{}, res *ServiceLevelObjective) []ServiceLevelObjectiveServiceLevelIndicatorRequestBased {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceLevelObjectiveServiceLevelIndicatorRequestBased{}
- }
-
- if len(a) == 0 {
- return []ServiceLevelObjectiveServiceLevelIndicatorRequestBased{}
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorRequestBased, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceLevelObjectiveServiceLevelIndicatorRequestBased(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorRequestBased expands an instance of ServiceLevelObjectiveServiceLevelIndicatorRequestBased into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorRequestBased(c *Client, f *ServiceLevelObjectiveServiceLevelIndicatorRequestBased, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio(c, f.GoodTotalRatio, res); err != nil {
- return nil, fmt.Errorf("error expanding GoodTotalRatio into goodTotalRatio: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["goodTotalRatio"] = v
- }
- if v, err := expandServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut(c, f.DistributionCut, res); err != nil {
- return nil, fmt.Errorf("error expanding DistributionCut into distributionCut: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["distributionCut"] = v
- }
-
- return m, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorRequestBased flattens an instance of ServiceLevelObjectiveServiceLevelIndicatorRequestBased from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorRequestBased(c *Client, i interface{}, res *ServiceLevelObjective) *ServiceLevelObjectiveServiceLevelIndicatorRequestBased {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &ServiceLevelObjectiveServiceLevelIndicatorRequestBased{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyServiceLevelObjectiveServiceLevelIndicatorRequestBased
- }
- r.GoodTotalRatio = flattenServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio(c, m["goodTotalRatio"], res)
- r.DistributionCut = flattenServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut(c, m["distributionCut"], res)
-
- return r
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatioMap expands the contents of ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatioMap(c *Client, f map[string]ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatioSlice expands the contents of ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatioSlice(c *Client, f []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio, res *ServiceLevelObjective) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatioMap flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatioMap(c *Client, i interface{}, res *ServiceLevelObjective) map[string]ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio{}
- }
-
- items := make(map[string]ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio)
- for k, item := range a {
- items[k] = *flattenServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatioSlice flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatioSlice(c *Client, i interface{}, res *ServiceLevelObjective) []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio{}
- }
-
- if len(a) == 0 {
- return []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio{}
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio expands an instance of ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio(c *Client, f *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.GoodServiceFilter; !dcl.IsEmptyValueIndirect(v) {
- m["goodServiceFilter"] = v
- }
- if v := f.BadServiceFilter; !dcl.IsEmptyValueIndirect(v) {
- m["badServiceFilter"] = v
- }
- if v := f.TotalServiceFilter; !dcl.IsEmptyValueIndirect(v) {
- m["totalServiceFilter"] = v
- }
-
- return m, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio flattens an instance of ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio(c *Client, i interface{}, res *ServiceLevelObjective) *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio
- }
- r.GoodServiceFilter = dcl.FlattenString(m["goodServiceFilter"])
- r.BadServiceFilter = dcl.FlattenString(m["badServiceFilter"])
- r.TotalServiceFilter = dcl.FlattenString(m["totalServiceFilter"])
-
- return r
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutMap expands the contents of ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutMap(c *Client, f map[string]ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutSlice expands the contents of ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutSlice(c *Client, f []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut, res *ServiceLevelObjective) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutMap flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutMap(c *Client, i interface{}, res *ServiceLevelObjective) map[string]ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut{}
- }
-
- items := make(map[string]ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut)
- for k, item := range a {
- items[k] = *flattenServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutSlice flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutSlice(c *Client, i interface{}, res *ServiceLevelObjective) []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut{}
- }
-
- if len(a) == 0 {
- return []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut{}
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut expands an instance of ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut(c *Client, f *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.DistributionFilter; !dcl.IsEmptyValueIndirect(v) {
- m["distributionFilter"] = v
- }
- if v, err := expandServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange(c, f.Range, res); err != nil {
- return nil, fmt.Errorf("error expanding Range into range: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["range"] = v
- }
-
- return m, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut flattens an instance of ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut(c *Client, i interface{}, res *ServiceLevelObjective) *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut
- }
- r.DistributionFilter = dcl.FlattenString(m["distributionFilter"])
- r.Range = flattenServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange(c, m["range"], res)
-
- return r
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRangeMap expands the contents of ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRangeMap(c *Client, f map[string]ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRangeSlice expands the contents of ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRangeSlice(c *Client, f []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange, res *ServiceLevelObjective) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRangeMap flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRangeMap(c *Client, i interface{}, res *ServiceLevelObjective) map[string]ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange{}
- }
-
- items := make(map[string]ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange)
- for k, item := range a {
- items[k] = *flattenServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRangeSlice flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRangeSlice(c *Client, i interface{}, res *ServiceLevelObjective) []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange{}
- }
-
- if len(a) == 0 {
- return []ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange{}
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange expands an instance of ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange(c *Client, f *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Min; !dcl.IsEmptyValueIndirect(v) {
- m["min"] = v
- }
- if v := f.Max; !dcl.IsEmptyValueIndirect(v) {
- m["max"] = v
- }
-
- return m, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange flattens an instance of ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange(c *Client, i interface{}, res *ServiceLevelObjective) *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange
- }
- r.Min = dcl.FlattenDouble(m["min"])
- r.Max = dcl.FlattenDouble(m["max"])
-
- return r
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMap expands the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBased into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMap(c *Client, f map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBased, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBased(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedSlice expands the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBased into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedSlice(c *Client, f []ServiceLevelObjectiveServiceLevelIndicatorWindowsBased, res *ServiceLevelObjective) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBased(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMap flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBased from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMap(c *Client, i interface{}, res *ServiceLevelObjective) map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBased {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBased{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBased{}
- }
-
- items := make(map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBased)
- for k, item := range a {
- items[k] = *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBased(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedSlice flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBased from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedSlice(c *Client, i interface{}, res *ServiceLevelObjective) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBased {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBased{}
- }
-
- if len(a) == 0 {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBased{}
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBased, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBased(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBased expands an instance of ServiceLevelObjectiveServiceLevelIndicatorWindowsBased into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBased(c *Client, f *ServiceLevelObjectiveServiceLevelIndicatorWindowsBased, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.GoodBadMetricFilter; !dcl.IsEmptyValueIndirect(v) {
- m["goodBadMetricFilter"] = v
- }
- if v, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold(c, f.GoodTotalRatioThreshold, res); err != nil {
- return nil, fmt.Errorf("error expanding GoodTotalRatioThreshold into goodTotalRatioThreshold: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["goodTotalRatioThreshold"] = v
- }
- if v, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange(c, f.MetricMeanInRange, res); err != nil {
- return nil, fmt.Errorf("error expanding MetricMeanInRange into metricMeanInRange: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["metricMeanInRange"] = v
- }
- if v, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange(c, f.MetricSumInRange, res); err != nil {
- return nil, fmt.Errorf("error expanding MetricSumInRange into metricSumInRange: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["metricSumInRange"] = v
- }
- if v := f.WindowPeriod; !dcl.IsEmptyValueIndirect(v) {
- m["windowPeriod"] = v
- }
-
- return m, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBased flattens an instance of ServiceLevelObjectiveServiceLevelIndicatorWindowsBased from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBased(c *Client, i interface{}, res *ServiceLevelObjective) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBased {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &ServiceLevelObjectiveServiceLevelIndicatorWindowsBased{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBased
- }
- r.GoodBadMetricFilter = dcl.FlattenString(m["goodBadMetricFilter"])
- r.GoodTotalRatioThreshold = flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold(c, m["goodTotalRatioThreshold"], res)
- r.MetricMeanInRange = flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange(c, m["metricMeanInRange"], res)
- r.MetricSumInRange = flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange(c, m["metricSumInRange"], res)
- r.WindowPeriod = dcl.FlattenString(m["windowPeriod"])
-
- return r
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdMap expands the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdMap(c *Client, f map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdSlice expands the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdSlice(c *Client, f []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold, res *ServiceLevelObjective) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdMap flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdMap(c *Client, i interface{}, res *ServiceLevelObjective) map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold{}
- }
-
- items := make(map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold)
- for k, item := range a {
- items[k] = *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdSlice flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdSlice(c *Client, i interface{}, res *ServiceLevelObjective) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold{}
- }
-
- if len(a) == 0 {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold{}
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold expands an instance of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold(c *Client, f *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance(c, f.Performance, res); err != nil {
- return nil, fmt.Errorf("error expanding Performance into performance: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["performance"] = v
- }
- if v, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance(c, f.BasicSliPerformance, res); err != nil {
- return nil, fmt.Errorf("error expanding BasicSliPerformance into basicSliPerformance: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["basicSliPerformance"] = v
- }
- if v := f.Threshold; !dcl.IsEmptyValueIndirect(v) {
- m["threshold"] = v
- }
-
- return m, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold flattens an instance of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold(c *Client, i interface{}, res *ServiceLevelObjective) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold
- }
- r.Performance = flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance(c, m["performance"], res)
- r.BasicSliPerformance = flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance(c, m["basicSliPerformance"], res)
- r.Threshold = dcl.FlattenDouble(m["threshold"])
-
- return r
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceMap expands the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceMap(c *Client, f map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceSlice expands the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceSlice(c *Client, f []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance, res *ServiceLevelObjective) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceMap flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceMap(c *Client, i interface{}, res *ServiceLevelObjective) map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance{}
- }
-
- items := make(map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance)
- for k, item := range a {
- items[k] = *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceSlice flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceSlice(c *Client, i interface{}, res *ServiceLevelObjective) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance{}
- }
-
- if len(a) == 0 {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance{}
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance expands an instance of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance(c *Client, f *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio(c, f.GoodTotalRatio, res); err != nil {
- return nil, fmt.Errorf("error expanding GoodTotalRatio into goodTotalRatio: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["goodTotalRatio"] = v
- }
- if v, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut(c, f.DistributionCut, res); err != nil {
- return nil, fmt.Errorf("error expanding DistributionCut into distributionCut: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["distributionCut"] = v
- }
-
- return m, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance flattens an instance of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance(c *Client, i interface{}, res *ServiceLevelObjective) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance
- }
- r.GoodTotalRatio = flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio(c, m["goodTotalRatio"], res)
- r.DistributionCut = flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut(c, m["distributionCut"], res)
-
- return r
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatioMap expands the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatioMap(c *Client, f map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatioSlice expands the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatioSlice(c *Client, f []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio, res *ServiceLevelObjective) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatioMap flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatioMap(c *Client, i interface{}, res *ServiceLevelObjective) map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio{}
- }
-
- items := make(map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio)
- for k, item := range a {
- items[k] = *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatioSlice flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatioSlice(c *Client, i interface{}, res *ServiceLevelObjective) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio{}
- }
-
- if len(a) == 0 {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio{}
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio expands an instance of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio(c *Client, f *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.GoodServiceFilter; !dcl.IsEmptyValueIndirect(v) {
- m["goodServiceFilter"] = v
- }
- if v := f.BadServiceFilter; !dcl.IsEmptyValueIndirect(v) {
- m["badServiceFilter"] = v
- }
- if v := f.TotalServiceFilter; !dcl.IsEmptyValueIndirect(v) {
- m["totalServiceFilter"] = v
- }
-
- return m, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio flattens an instance of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio(c *Client, i interface{}, res *ServiceLevelObjective) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio
- }
- r.GoodServiceFilter = dcl.FlattenString(m["goodServiceFilter"])
- r.BadServiceFilter = dcl.FlattenString(m["badServiceFilter"])
- r.TotalServiceFilter = dcl.FlattenString(m["totalServiceFilter"])
-
- return r
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutMap expands the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutMap(c *Client, f map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutSlice expands the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutSlice(c *Client, f []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut, res *ServiceLevelObjective) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutMap flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutMap(c *Client, i interface{}, res *ServiceLevelObjective) map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut{}
- }
-
- items := make(map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut)
- for k, item := range a {
- items[k] = *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutSlice flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutSlice(c *Client, i interface{}, res *ServiceLevelObjective) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut{}
- }
-
- if len(a) == 0 {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut{}
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut expands an instance of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut(c *Client, f *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.DistributionFilter; !dcl.IsEmptyValueIndirect(v) {
- m["distributionFilter"] = v
- }
- if v, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange(c, f.Range, res); err != nil {
- return nil, fmt.Errorf("error expanding Range into range: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["range"] = v
- }
-
- return m, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut flattens an instance of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut(c *Client, i interface{}, res *ServiceLevelObjective) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut
- }
- r.DistributionFilter = dcl.FlattenString(m["distributionFilter"])
- r.Range = flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange(c, m["range"], res)
-
- return r
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRangeMap expands the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRangeMap(c *Client, f map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRangeSlice expands the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRangeSlice(c *Client, f []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange, res *ServiceLevelObjective) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRangeMap flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRangeMap(c *Client, i interface{}, res *ServiceLevelObjective) map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange{}
- }
-
- items := make(map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange)
- for k, item := range a {
- items[k] = *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRangeSlice flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRangeSlice(c *Client, i interface{}, res *ServiceLevelObjective) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange{}
- }
-
- if len(a) == 0 {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange{}
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange expands an instance of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange(c *Client, f *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Min; !dcl.IsEmptyValueIndirect(v) {
- m["min"] = v
- }
- if v := f.Max; !dcl.IsEmptyValueIndirect(v) {
- m["max"] = v
- }
-
- return m, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange flattens an instance of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange(c *Client, i interface{}, res *ServiceLevelObjective) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange
- }
- r.Min = dcl.FlattenDouble(m["min"])
- r.Max = dcl.FlattenDouble(m["max"])
-
- return r
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceMap expands the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceMap(c *Client, f map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceSlice expands the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceSlice(c *Client, f []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance, res *ServiceLevelObjective) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceMap flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceMap(c *Client, i interface{}, res *ServiceLevelObjective) map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance{}
- }
-
- items := make(map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance)
- for k, item := range a {
- items[k] = *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceSlice flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceSlice(c *Client, i interface{}, res *ServiceLevelObjective) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance{}
- }
-
- if len(a) == 0 {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance{}
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance expands an instance of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance(c *Client, f *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Method; v != nil {
- m["method"] = v
- }
- if v := f.Location; v != nil {
- m["location"] = v
- }
- if v := f.Version; v != nil {
- m["version"] = v
- }
- if v, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability(c, f.Availability, res); err != nil {
- return nil, fmt.Errorf("error expanding Availability into availability: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["availability"] = v
- }
- if v, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency(c, f.Latency, res); err != nil {
- return nil, fmt.Errorf("error expanding Latency into latency: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["latency"] = v
- }
- if v, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability(c, f.OperationAvailability, res); err != nil {
- return nil, fmt.Errorf("error expanding OperationAvailability into operationAvailability: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["operationAvailability"] = v
- }
- if v, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency(c, f.OperationLatency, res); err != nil {
- return nil, fmt.Errorf("error expanding OperationLatency into operationLatency: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["operationLatency"] = v
- }
-
- return m, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance flattens an instance of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance(c *Client, i interface{}, res *ServiceLevelObjective) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance
- }
- r.Method = dcl.FlattenStringSlice(m["method"])
- r.Location = dcl.FlattenStringSlice(m["location"])
- r.Version = dcl.FlattenStringSlice(m["version"])
- r.Availability = flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability(c, m["availability"], res)
- r.Latency = flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency(c, m["latency"], res)
- r.OperationAvailability = flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability(c, m["operationAvailability"], res)
- r.OperationLatency = flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency(c, m["operationLatency"], res)
-
- return r
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailabilityMap expands the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailabilityMap(c *Client, f map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailabilitySlice expands the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailabilitySlice(c *Client, f []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability, res *ServiceLevelObjective) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailabilityMap flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailabilityMap(c *Client, i interface{}, res *ServiceLevelObjective) map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability{}
- }
-
- items := make(map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability)
- for k, item := range a {
- items[k] = *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailabilitySlice flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailabilitySlice(c *Client, i interface{}, res *ServiceLevelObjective) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability{}
- }
-
- if len(a) == 0 {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability{}
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability expands an instance of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability(c *Client, f *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
-
- return m, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability flattens an instance of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability(c *Client, i interface{}, res *ServiceLevelObjective) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability {
- _, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability
- }
-
- return r
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyMap expands the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyMap(c *Client, f map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencySlice expands the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencySlice(c *Client, f []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency, res *ServiceLevelObjective) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyMap flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyMap(c *Client, i interface{}, res *ServiceLevelObjective) map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency{}
- }
-
- items := make(map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency)
- for k, item := range a {
- items[k] = *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencySlice flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencySlice(c *Client, i interface{}, res *ServiceLevelObjective) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency{}
- }
-
- if len(a) == 0 {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency{}
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency expands an instance of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency(c *Client, f *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Threshold; !dcl.IsEmptyValueIndirect(v) {
- m["threshold"] = v
- }
- if v := f.Experience; !dcl.IsEmptyValueIndirect(v) {
- m["experience"] = v
- }
-
- return m, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency flattens an instance of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency(c *Client, i interface{}, res *ServiceLevelObjective) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency
- }
- r.Threshold = dcl.FlattenString(m["threshold"])
- r.Experience = flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnum(m["experience"])
-
- return r
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailabilityMap expands the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailabilityMap(c *Client, f map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailabilitySlice expands the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailabilitySlice(c *Client, f []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability, res *ServiceLevelObjective) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailabilityMap flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailabilityMap(c *Client, i interface{}, res *ServiceLevelObjective) map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability{}
- }
-
- items := make(map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability)
- for k, item := range a {
- items[k] = *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailabilitySlice flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailabilitySlice(c *Client, i interface{}, res *ServiceLevelObjective) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability{}
- }
-
- if len(a) == 0 {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability{}
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability expands an instance of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability(c *Client, f *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
-
- return m, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability flattens an instance of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability(c *Client, i interface{}, res *ServiceLevelObjective) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability {
- _, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability
- }
-
- return r
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyMap expands the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyMap(c *Client, f map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencySlice expands the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencySlice(c *Client, f []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency, res *ServiceLevelObjective) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyMap flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyMap(c *Client, i interface{}, res *ServiceLevelObjective) map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency{}
- }
-
- items := make(map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency)
- for k, item := range a {
- items[k] = *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencySlice flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencySlice(c *Client, i interface{}, res *ServiceLevelObjective) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency{}
- }
-
- if len(a) == 0 {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency{}
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency expands an instance of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency(c *Client, f *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Threshold; !dcl.IsEmptyValueIndirect(v) {
- m["threshold"] = v
- }
- if v := f.Experience; !dcl.IsEmptyValueIndirect(v) {
- m["experience"] = v
- }
-
- return m, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency flattens an instance of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency(c *Client, i interface{}, res *ServiceLevelObjective) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency
- }
- r.Threshold = dcl.FlattenString(m["threshold"])
- r.Experience = flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnum(m["experience"])
-
- return r
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeMap expands the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeMap(c *Client, f map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeSlice expands the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeSlice(c *Client, f []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange, res *ServiceLevelObjective) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeMap flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeMap(c *Client, i interface{}, res *ServiceLevelObjective) map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange{}
- }
-
- items := make(map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange)
- for k, item := range a {
- items[k] = *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeSlice flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeSlice(c *Client, i interface{}, res *ServiceLevelObjective) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange{}
- }
-
- if len(a) == 0 {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange{}
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange expands an instance of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange(c *Client, f *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.TimeSeries; !dcl.IsEmptyValueIndirect(v) {
- m["timeSeries"] = v
- }
- if v, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange(c, f.Range, res); err != nil {
- return nil, fmt.Errorf("error expanding Range into range: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["range"] = v
- }
-
- return m, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange flattens an instance of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange(c *Client, i interface{}, res *ServiceLevelObjective) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange
- }
- r.TimeSeries = dcl.FlattenString(m["timeSeries"])
- r.Range = flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange(c, m["range"], res)
-
- return r
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRangeMap expands the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRangeMap(c *Client, f map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRangeSlice expands the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRangeSlice(c *Client, f []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange, res *ServiceLevelObjective) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRangeMap flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRangeMap(c *Client, i interface{}, res *ServiceLevelObjective) map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange{}
- }
-
- items := make(map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange)
- for k, item := range a {
- items[k] = *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRangeSlice flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRangeSlice(c *Client, i interface{}, res *ServiceLevelObjective) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange{}
- }
-
- if len(a) == 0 {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange{}
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange expands an instance of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange(c *Client, f *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Min; !dcl.IsEmptyValueIndirect(v) {
- m["min"] = v
- }
- if v := f.Max; !dcl.IsEmptyValueIndirect(v) {
- m["max"] = v
- }
-
- return m, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange flattens an instance of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange(c *Client, i interface{}, res *ServiceLevelObjective) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange
- }
- r.Min = dcl.FlattenDouble(m["min"])
- r.Max = dcl.FlattenDouble(m["max"])
-
- return r
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeMap expands the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeMap(c *Client, f map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeSlice expands the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeSlice(c *Client, f []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange, res *ServiceLevelObjective) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeMap flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeMap(c *Client, i interface{}, res *ServiceLevelObjective) map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange{}
- }
-
- items := make(map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange)
- for k, item := range a {
- items[k] = *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeSlice flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeSlice(c *Client, i interface{}, res *ServiceLevelObjective) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange{}
- }
-
- if len(a) == 0 {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange{}
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange expands an instance of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange(c *Client, f *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.TimeSeries; !dcl.IsEmptyValueIndirect(v) {
- m["timeSeries"] = v
- }
- if v, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange(c, f.Range, res); err != nil {
- return nil, fmt.Errorf("error expanding Range into range: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["range"] = v
- }
-
- return m, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange flattens an instance of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange(c *Client, i interface{}, res *ServiceLevelObjective) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange
- }
- r.TimeSeries = dcl.FlattenString(m["timeSeries"])
- r.Range = flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange(c, m["range"], res)
-
- return r
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRangeMap expands the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRangeMap(c *Client, f map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRangeSlice expands the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRangeSlice(c *Client, f []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange, res *ServiceLevelObjective) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRangeMap flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRangeMap(c *Client, i interface{}, res *ServiceLevelObjective) map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange{}
- }
-
- items := make(map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange)
- for k, item := range a {
- items[k] = *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRangeSlice flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRangeSlice(c *Client, i interface{}, res *ServiceLevelObjective) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange{}
- }
-
- if len(a) == 0 {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange{}
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange expands an instance of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange into a JSON
-// request object.
-func expandServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange(c *Client, f *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange, res *ServiceLevelObjective) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Min; !dcl.IsEmptyValueIndirect(v) {
- m["min"] = v
- }
- if v := f.Max; !dcl.IsEmptyValueIndirect(v) {
- m["max"] = v
- }
-
- return m, nil
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange flattens an instance of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange(c *Client, i interface{}, res *ServiceLevelObjective) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange
- }
- r.Min = dcl.FlattenDouble(m["min"])
- r.Max = dcl.FlattenDouble(m["max"])
-
- return r
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnumMap flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnum from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnumMap(c *Client, i interface{}, res *ServiceLevelObjective) map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnum{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnum{}
- }
-
- items := make(map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnum)
- for k, item := range a {
- items[k] = *flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnumSlice flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnum from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnumSlice(c *Client, i interface{}, res *ServiceLevelObjective) []ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnum{}
- }
-
- if len(a) == 0 {
- return []ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnum{}
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnum asserts that an interface is a string, and returns a
-// pointer to a *ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnum with the same value as that string.
-func flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnum(i interface{}) *ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnumRef(s)
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnumMap flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnum from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnumMap(c *Client, i interface{}, res *ServiceLevelObjective) map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnum{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnum{}
- }
-
- items := make(map[string]ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnum)
- for k, item := range a {
- items[k] = *flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnumSlice flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnum from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnumSlice(c *Client, i interface{}, res *ServiceLevelObjective) []ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnum{}
- }
-
- if len(a) == 0 {
- return []ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnum{}
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnum asserts that an interface is a string, and returns a
-// pointer to a *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnum with the same value as that string.
-func flattenServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnum(i interface{}) *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnumRef(s)
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnumMap flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnum from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnumMap(c *Client, i interface{}, res *ServiceLevelObjective) map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnum{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnum{}
- }
-
- items := make(map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnum)
- for k, item := range a {
- items[k] = *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnumSlice flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnum from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnumSlice(c *Client, i interface{}, res *ServiceLevelObjective) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnum{}
- }
-
- if len(a) == 0 {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnum{}
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnum asserts that an interface is a string, and returns a
-// pointer to a *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnum with the same value as that string.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnum(i interface{}) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnumRef(s)
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnumMap flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnum from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnumMap(c *Client, i interface{}, res *ServiceLevelObjective) map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnum{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnum{}
- }
-
- items := make(map[string]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnum)
- for k, item := range a {
- items[k] = *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnumSlice flattens the contents of ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnum from a JSON
-// response object.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnumSlice(c *Client, i interface{}, res *ServiceLevelObjective) []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnum{}
- }
-
- if len(a) == 0 {
- return []ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnum{}
- }
-
- items := make([]ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnum asserts that an interface is a string, and returns a
-// pointer to a *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnum with the same value as that string.
-func flattenServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnum(i interface{}) *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnumRef(s)
-}
-
-// flattenServiceLevelObjectiveCalendarPeriodEnumMap flattens the contents of ServiceLevelObjectiveCalendarPeriodEnum from a JSON
-// response object.
-func flattenServiceLevelObjectiveCalendarPeriodEnumMap(c *Client, i interface{}, res *ServiceLevelObjective) map[string]ServiceLevelObjectiveCalendarPeriodEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]ServiceLevelObjectiveCalendarPeriodEnum{}
- }
-
- if len(a) == 0 {
- return map[string]ServiceLevelObjectiveCalendarPeriodEnum{}
- }
-
- items := make(map[string]ServiceLevelObjectiveCalendarPeriodEnum)
- for k, item := range a {
- items[k] = *flattenServiceLevelObjectiveCalendarPeriodEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveCalendarPeriodEnumSlice flattens the contents of ServiceLevelObjectiveCalendarPeriodEnum from a JSON
-// response object.
-func flattenServiceLevelObjectiveCalendarPeriodEnumSlice(c *Client, i interface{}, res *ServiceLevelObjective) []ServiceLevelObjectiveCalendarPeriodEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []ServiceLevelObjectiveCalendarPeriodEnum{}
- }
-
- if len(a) == 0 {
- return []ServiceLevelObjectiveCalendarPeriodEnum{}
- }
-
- items := make([]ServiceLevelObjectiveCalendarPeriodEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenServiceLevelObjectiveCalendarPeriodEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenServiceLevelObjectiveCalendarPeriodEnum asserts that an interface is a string, and returns a
-// pointer to a *ServiceLevelObjectiveCalendarPeriodEnum with the same value as that string.
-func flattenServiceLevelObjectiveCalendarPeriodEnum(i interface{}) *ServiceLevelObjectiveCalendarPeriodEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return ServiceLevelObjectiveCalendarPeriodEnumRef(s)
-}
-
-// This function returns a matcher that checks whether a serialized resource matches this resource
-// in its parameters (as defined by the fields in a Get, which definitionally define resource
-// identity). This is useful in extracting the element from a List call.
-func (r *ServiceLevelObjective) matcher(c *Client) func([]byte) bool {
- return func(b []byte) bool {
- cr, err := unmarshalServiceLevelObjective(b, c, r)
- if err != nil {
- c.Config.Logger.Warning("failed to unmarshal provided resource in matcher.")
- return false
- }
- nr := r.urlNormalized()
- ncr := cr.urlNormalized()
- c.Config.Logger.Infof("looking for %v\nin %v", nr, ncr)
-
- if nr.Project == nil && ncr.Project == nil {
- c.Config.Logger.Info("Both Project fields null - considering equal.")
- } else if nr.Project == nil || ncr.Project == nil {
- c.Config.Logger.Info("Only one Project field is null - considering unequal.")
- return false
- } else if *nr.Project != *ncr.Project {
- return false
- }
- if nr.Service == nil && ncr.Service == nil {
- c.Config.Logger.Info("Both Service fields null - considering equal.")
- } else if nr.Service == nil || ncr.Service == nil {
- c.Config.Logger.Info("Only one Service field is null - considering unequal.")
- return false
- } else if *nr.Service != *ncr.Service {
- return false
- }
- if nr.Name == nil && ncr.Name == nil {
- c.Config.Logger.Info("Both Name fields null - considering equal.")
- } else if nr.Name == nil || ncr.Name == nil {
- c.Config.Logger.Info("Only one Name field is null - considering unequal.")
- return false
- } else if *nr.Name != *ncr.Name {
- return false
- }
- return true
- }
-}
-
-type serviceLevelObjectiveDiff struct {
- // The diff should include one or the other of RequiresRecreate or UpdateOp.
- RequiresRecreate bool
- UpdateOp serviceLevelObjectiveApiOperation
- FieldName string // used for error logging
-}
-
-func convertFieldDiffsToServiceLevelObjectiveDiffs(config *dcl.Config, fds []*dcl.FieldDiff, opts []dcl.ApplyOption) ([]serviceLevelObjectiveDiff, error) {
- opNamesToFieldDiffs := make(map[string][]*dcl.FieldDiff)
- // Map each operation name to the field diffs associated with it.
- for _, fd := range fds {
- for _, ro := range fd.ResultingOperation {
- if fieldDiffs, ok := opNamesToFieldDiffs[ro]; ok {
- fieldDiffs = append(fieldDiffs, fd)
- opNamesToFieldDiffs[ro] = fieldDiffs
- } else {
- config.Logger.Infof("%s required due to diff: %v", ro, fd)
- opNamesToFieldDiffs[ro] = []*dcl.FieldDiff{fd}
- }
- }
- }
- var diffs []serviceLevelObjectiveDiff
- // For each operation name, create a serviceLevelObjectiveDiff which contains the operation.
- for opName, fieldDiffs := range opNamesToFieldDiffs {
- // Use the first field diff's field name for logging required recreate error.
- diff := serviceLevelObjectiveDiff{FieldName: fieldDiffs[0].FieldName}
- if opName == "Recreate" {
- diff.RequiresRecreate = true
- } else {
- apiOp, err := convertOpNameToServiceLevelObjectiveApiOperation(opName, fieldDiffs, opts...)
- if err != nil {
- return diffs, err
- }
- diff.UpdateOp = apiOp
- }
- diffs = append(diffs, diff)
- }
- return diffs, nil
-}
-
-func convertOpNameToServiceLevelObjectiveApiOperation(opName string, fieldDiffs []*dcl.FieldDiff, opts ...dcl.ApplyOption) (serviceLevelObjectiveApiOperation, error) {
- switch opName {
-
- case "updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation":
- return &updateServiceLevelObjectiveUpdateServiceLevelObjectiveOperation{FieldDiffs: fieldDiffs}, nil
-
- default:
- return nil, fmt.Errorf("no such operation with name: %v", opName)
- }
-}
-
-func extractServiceLevelObjectiveFields(r *ServiceLevelObjective) error {
- vServiceLevelIndicator := r.ServiceLevelIndicator
- if vServiceLevelIndicator == nil {
- // note: explicitly not the empty object.
- vServiceLevelIndicator = &ServiceLevelObjectiveServiceLevelIndicator{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorFields(r, vServiceLevelIndicator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vServiceLevelIndicator) {
- r.ServiceLevelIndicator = vServiceLevelIndicator
- }
- return nil
-}
-func extractServiceLevelObjectiveServiceLevelIndicatorFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicator) error {
- vBasicSli := o.BasicSli
- if vBasicSli == nil {
- // note: explicitly not the empty object.
- vBasicSli = &ServiceLevelObjectiveServiceLevelIndicatorBasicSli{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorBasicSliFields(r, vBasicSli); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vBasicSli) {
- o.BasicSli = vBasicSli
- }
- vRequestBased := o.RequestBased
- if vRequestBased == nil {
- // note: explicitly not the empty object.
- vRequestBased = &ServiceLevelObjectiveServiceLevelIndicatorRequestBased{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorRequestBasedFields(r, vRequestBased); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vRequestBased) {
- o.RequestBased = vRequestBased
- }
- vWindowsBased := o.WindowsBased
- if vWindowsBased == nil {
- // note: explicitly not the empty object.
- vWindowsBased = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBased{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedFields(r, vWindowsBased); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vWindowsBased) {
- o.WindowsBased = vWindowsBased
- }
- return nil
-}
-func extractServiceLevelObjectiveServiceLevelIndicatorBasicSliFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorBasicSli) error {
- vAvailability := o.Availability
- if vAvailability == nil {
- // note: explicitly not the empty object.
- vAvailability = &ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailabilityFields(r, vAvailability); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAvailability) {
- o.Availability = vAvailability
- }
- vLatency := o.Latency
- if vLatency == nil {
- // note: explicitly not the empty object.
- vLatency = &ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyFields(r, vLatency); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vLatency) {
- o.Latency = vLatency
- }
- vOperationAvailability := o.OperationAvailability
- if vOperationAvailability == nil {
- // note: explicitly not the empty object.
- vOperationAvailability = &ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailabilityFields(r, vOperationAvailability); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vOperationAvailability) {
- o.OperationAvailability = vOperationAvailability
- }
- vOperationLatency := o.OperationLatency
- if vOperationLatency == nil {
- // note: explicitly not the empty object.
- vOperationLatency = &ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyFields(r, vOperationLatency); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vOperationLatency) {
- o.OperationLatency = vOperationLatency
- }
- return nil
-}
-func extractServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailabilityFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability) error {
- return nil
-}
-func extractServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency) error {
- return nil
-}
-func extractServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailabilityFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability) error {
- return nil
-}
-func extractServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency) error {
- return nil
-}
-func extractServiceLevelObjectiveServiceLevelIndicatorRequestBasedFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorRequestBased) error {
- vGoodTotalRatio := o.GoodTotalRatio
- if vGoodTotalRatio == nil {
- // note: explicitly not the empty object.
- vGoodTotalRatio = &ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatioFields(r, vGoodTotalRatio); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGoodTotalRatio) {
- o.GoodTotalRatio = vGoodTotalRatio
- }
- vDistributionCut := o.DistributionCut
- if vDistributionCut == nil {
- // note: explicitly not the empty object.
- vDistributionCut = &ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutFields(r, vDistributionCut); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vDistributionCut) {
- o.DistributionCut = vDistributionCut
- }
- return nil
-}
-func extractServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatioFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio) error {
- return nil
-}
-func extractServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut) error {
- vRange := o.Range
- if vRange == nil {
- // note: explicitly not the empty object.
- vRange = &ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRangeFields(r, vRange); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vRange) {
- o.Range = vRange
- }
- return nil
-}
-func extractServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRangeFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange) error {
- return nil
-}
-func extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorWindowsBased) error {
- vGoodTotalRatioThreshold := o.GoodTotalRatioThreshold
- if vGoodTotalRatioThreshold == nil {
- // note: explicitly not the empty object.
- vGoodTotalRatioThreshold = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdFields(r, vGoodTotalRatioThreshold); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGoodTotalRatioThreshold) {
- o.GoodTotalRatioThreshold = vGoodTotalRatioThreshold
- }
- vMetricMeanInRange := o.MetricMeanInRange
- if vMetricMeanInRange == nil {
- // note: explicitly not the empty object.
- vMetricMeanInRange = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeFields(r, vMetricMeanInRange); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vMetricMeanInRange) {
- o.MetricMeanInRange = vMetricMeanInRange
- }
- vMetricSumInRange := o.MetricSumInRange
- if vMetricSumInRange == nil {
- // note: explicitly not the empty object.
- vMetricSumInRange = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeFields(r, vMetricSumInRange); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vMetricSumInRange) {
- o.MetricSumInRange = vMetricSumInRange
- }
- return nil
-}
-func extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold) error {
- vPerformance := o.Performance
- if vPerformance == nil {
- // note: explicitly not the empty object.
- vPerformance = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceFields(r, vPerformance); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPerformance) {
- o.Performance = vPerformance
- }
- vBasicSliPerformance := o.BasicSliPerformance
- if vBasicSliPerformance == nil {
- // note: explicitly not the empty object.
- vBasicSliPerformance = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceFields(r, vBasicSliPerformance); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vBasicSliPerformance) {
- o.BasicSliPerformance = vBasicSliPerformance
- }
- return nil
-}
-func extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance) error {
- vGoodTotalRatio := o.GoodTotalRatio
- if vGoodTotalRatio == nil {
- // note: explicitly not the empty object.
- vGoodTotalRatio = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatioFields(r, vGoodTotalRatio); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGoodTotalRatio) {
- o.GoodTotalRatio = vGoodTotalRatio
- }
- vDistributionCut := o.DistributionCut
- if vDistributionCut == nil {
- // note: explicitly not the empty object.
- vDistributionCut = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutFields(r, vDistributionCut); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vDistributionCut) {
- o.DistributionCut = vDistributionCut
- }
- return nil
-}
-func extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatioFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio) error {
- return nil
-}
-func extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut) error {
- vRange := o.Range
- if vRange == nil {
- // note: explicitly not the empty object.
- vRange = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRangeFields(r, vRange); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vRange) {
- o.Range = vRange
- }
- return nil
-}
-func extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRangeFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange) error {
- return nil
-}
-func extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance) error {
- vAvailability := o.Availability
- if vAvailability == nil {
- // note: explicitly not the empty object.
- vAvailability = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailabilityFields(r, vAvailability); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAvailability) {
- o.Availability = vAvailability
- }
- vLatency := o.Latency
- if vLatency == nil {
- // note: explicitly not the empty object.
- vLatency = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyFields(r, vLatency); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vLatency) {
- o.Latency = vLatency
- }
- vOperationAvailability := o.OperationAvailability
- if vOperationAvailability == nil {
- // note: explicitly not the empty object.
- vOperationAvailability = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailabilityFields(r, vOperationAvailability); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vOperationAvailability) {
- o.OperationAvailability = vOperationAvailability
- }
- vOperationLatency := o.OperationLatency
- if vOperationLatency == nil {
- // note: explicitly not the empty object.
- vOperationLatency = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyFields(r, vOperationLatency); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vOperationLatency) {
- o.OperationLatency = vOperationLatency
- }
- return nil
-}
-func extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailabilityFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability) error {
- return nil
-}
-func extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency) error {
- return nil
-}
-func extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailabilityFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability) error {
- return nil
-}
-func extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency) error {
- return nil
-}
-func extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange) error {
- vRange := o.Range
- if vRange == nil {
- // note: explicitly not the empty object.
- vRange = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRangeFields(r, vRange); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vRange) {
- o.Range = vRange
- }
- return nil
-}
-func extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRangeFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange) error {
- return nil
-}
-func extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange) error {
- vRange := o.Range
- if vRange == nil {
- // note: explicitly not the empty object.
- vRange = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRangeFields(r, vRange); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vRange) {
- o.Range = vRange
- }
- return nil
-}
-func extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRangeFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange) error {
- return nil
-}
-
-func postReadExtractServiceLevelObjectiveFields(r *ServiceLevelObjective) error {
- vServiceLevelIndicator := r.ServiceLevelIndicator
- if vServiceLevelIndicator == nil {
- // note: explicitly not the empty object.
- vServiceLevelIndicator = &ServiceLevelObjectiveServiceLevelIndicator{}
- }
- if err := postReadExtractServiceLevelObjectiveServiceLevelIndicatorFields(r, vServiceLevelIndicator); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vServiceLevelIndicator) {
- r.ServiceLevelIndicator = vServiceLevelIndicator
- }
- return nil
-}
-func postReadExtractServiceLevelObjectiveServiceLevelIndicatorFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicator) error {
- vBasicSli := o.BasicSli
- if vBasicSli == nil {
- // note: explicitly not the empty object.
- vBasicSli = &ServiceLevelObjectiveServiceLevelIndicatorBasicSli{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorBasicSliFields(r, vBasicSli); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vBasicSli) {
- o.BasicSli = vBasicSli
- }
- vRequestBased := o.RequestBased
- if vRequestBased == nil {
- // note: explicitly not the empty object.
- vRequestBased = &ServiceLevelObjectiveServiceLevelIndicatorRequestBased{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorRequestBasedFields(r, vRequestBased); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vRequestBased) {
- o.RequestBased = vRequestBased
- }
- vWindowsBased := o.WindowsBased
- if vWindowsBased == nil {
- // note: explicitly not the empty object.
- vWindowsBased = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBased{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedFields(r, vWindowsBased); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vWindowsBased) {
- o.WindowsBased = vWindowsBased
- }
- return nil
-}
-func postReadExtractServiceLevelObjectiveServiceLevelIndicatorBasicSliFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorBasicSli) error {
- vAvailability := o.Availability
- if vAvailability == nil {
- // note: explicitly not the empty object.
- vAvailability = &ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailabilityFields(r, vAvailability); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAvailability) {
- o.Availability = vAvailability
- }
- vLatency := o.Latency
- if vLatency == nil {
- // note: explicitly not the empty object.
- vLatency = &ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyFields(r, vLatency); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vLatency) {
- o.Latency = vLatency
- }
- vOperationAvailability := o.OperationAvailability
- if vOperationAvailability == nil {
- // note: explicitly not the empty object.
- vOperationAvailability = &ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailabilityFields(r, vOperationAvailability); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vOperationAvailability) {
- o.OperationAvailability = vOperationAvailability
- }
- vOperationLatency := o.OperationLatency
- if vOperationLatency == nil {
- // note: explicitly not the empty object.
- vOperationLatency = &ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyFields(r, vOperationLatency); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vOperationLatency) {
- o.OperationLatency = vOperationLatency
- }
- return nil
-}
-func postReadExtractServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailabilityFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability) error {
- return nil
-}
-func postReadExtractServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency) error {
- return nil
-}
-func postReadExtractServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailabilityFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability) error {
- return nil
-}
-func postReadExtractServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency) error {
- return nil
-}
-func postReadExtractServiceLevelObjectiveServiceLevelIndicatorRequestBasedFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorRequestBased) error {
- vGoodTotalRatio := o.GoodTotalRatio
- if vGoodTotalRatio == nil {
- // note: explicitly not the empty object.
- vGoodTotalRatio = &ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatioFields(r, vGoodTotalRatio); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGoodTotalRatio) {
- o.GoodTotalRatio = vGoodTotalRatio
- }
- vDistributionCut := o.DistributionCut
- if vDistributionCut == nil {
- // note: explicitly not the empty object.
- vDistributionCut = &ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutFields(r, vDistributionCut); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vDistributionCut) {
- o.DistributionCut = vDistributionCut
- }
- return nil
-}
-func postReadExtractServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatioFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio) error {
- return nil
-}
-func postReadExtractServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut) error {
- vRange := o.Range
- if vRange == nil {
- // note: explicitly not the empty object.
- vRange = &ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRangeFields(r, vRange); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vRange) {
- o.Range = vRange
- }
- return nil
-}
-func postReadExtractServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRangeFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange) error {
- return nil
-}
-func postReadExtractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorWindowsBased) error {
- vGoodTotalRatioThreshold := o.GoodTotalRatioThreshold
- if vGoodTotalRatioThreshold == nil {
- // note: explicitly not the empty object.
- vGoodTotalRatioThreshold = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdFields(r, vGoodTotalRatioThreshold); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGoodTotalRatioThreshold) {
- o.GoodTotalRatioThreshold = vGoodTotalRatioThreshold
- }
- vMetricMeanInRange := o.MetricMeanInRange
- if vMetricMeanInRange == nil {
- // note: explicitly not the empty object.
- vMetricMeanInRange = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeFields(r, vMetricMeanInRange); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vMetricMeanInRange) {
- o.MetricMeanInRange = vMetricMeanInRange
- }
- vMetricSumInRange := o.MetricSumInRange
- if vMetricSumInRange == nil {
- // note: explicitly not the empty object.
- vMetricSumInRange = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeFields(r, vMetricSumInRange); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vMetricSumInRange) {
- o.MetricSumInRange = vMetricSumInRange
- }
- return nil
-}
-func postReadExtractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold) error {
- vPerformance := o.Performance
- if vPerformance == nil {
- // note: explicitly not the empty object.
- vPerformance = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceFields(r, vPerformance); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPerformance) {
- o.Performance = vPerformance
- }
- vBasicSliPerformance := o.BasicSliPerformance
- if vBasicSliPerformance == nil {
- // note: explicitly not the empty object.
- vBasicSliPerformance = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceFields(r, vBasicSliPerformance); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vBasicSliPerformance) {
- o.BasicSliPerformance = vBasicSliPerformance
- }
- return nil
-}
-func postReadExtractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance) error {
- vGoodTotalRatio := o.GoodTotalRatio
- if vGoodTotalRatio == nil {
- // note: explicitly not the empty object.
- vGoodTotalRatio = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatioFields(r, vGoodTotalRatio); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGoodTotalRatio) {
- o.GoodTotalRatio = vGoodTotalRatio
- }
- vDistributionCut := o.DistributionCut
- if vDistributionCut == nil {
- // note: explicitly not the empty object.
- vDistributionCut = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutFields(r, vDistributionCut); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vDistributionCut) {
- o.DistributionCut = vDistributionCut
- }
- return nil
-}
-func postReadExtractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatioFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio) error {
- return nil
-}
-func postReadExtractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut) error {
- vRange := o.Range
- if vRange == nil {
- // note: explicitly not the empty object.
- vRange = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRangeFields(r, vRange); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vRange) {
- o.Range = vRange
- }
- return nil
-}
-func postReadExtractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRangeFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange) error {
- return nil
-}
-func postReadExtractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance) error {
- vAvailability := o.Availability
- if vAvailability == nil {
- // note: explicitly not the empty object.
- vAvailability = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailabilityFields(r, vAvailability); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAvailability) {
- o.Availability = vAvailability
- }
- vLatency := o.Latency
- if vLatency == nil {
- // note: explicitly not the empty object.
- vLatency = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyFields(r, vLatency); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vLatency) {
- o.Latency = vLatency
- }
- vOperationAvailability := o.OperationAvailability
- if vOperationAvailability == nil {
- // note: explicitly not the empty object.
- vOperationAvailability = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailabilityFields(r, vOperationAvailability); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vOperationAvailability) {
- o.OperationAvailability = vOperationAvailability
- }
- vOperationLatency := o.OperationLatency
- if vOperationLatency == nil {
- // note: explicitly not the empty object.
- vOperationLatency = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyFields(r, vOperationLatency); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vOperationLatency) {
- o.OperationLatency = vOperationLatency
- }
- return nil
-}
-func postReadExtractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailabilityFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability) error {
- return nil
-}
-func postReadExtractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency) error {
- return nil
-}
-func postReadExtractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailabilityFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability) error {
- return nil
-}
-func postReadExtractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency) error {
- return nil
-}
-func postReadExtractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange) error {
- vRange := o.Range
- if vRange == nil {
- // note: explicitly not the empty object.
- vRange = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRangeFields(r, vRange); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vRange) {
- o.Range = vRange
- }
- return nil
-}
-func postReadExtractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRangeFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange) error {
- return nil
-}
-func postReadExtractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange) error {
- vRange := o.Range
- if vRange == nil {
- // note: explicitly not the empty object.
- vRange = &ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange{}
- }
- if err := extractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRangeFields(r, vRange); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vRange) {
- o.Range = vRange
- }
- return nil
-}
-func postReadExtractServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRangeFields(r *ServiceLevelObjective, o *ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange) error {
- return nil
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/service_level_objective_schema.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/service_level_objective_schema.go
deleted file mode 100644
index 6a38f1ff47..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/service_level_objective_schema.go
+++ /dev/null
@@ -1,755 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 monitoring
-
-import (
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-func DCLServiceLevelObjectiveSchema() *dcl.Schema {
- return &dcl.Schema{
- Info: &dcl.Info{
- Title: "Monitoring/ServiceLevelObjective",
- Description: "The Monitoring ServiceLevelObjective resource",
- StructName: "ServiceLevelObjective",
- },
- Paths: &dcl.Paths{
- Get: &dcl.Path{
- Description: "The function used to get information about a ServiceLevelObjective",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "serviceLevelObjective",
- Required: true,
- Description: "A full instance of a ServiceLevelObjective",
- },
- },
- },
- Apply: &dcl.Path{
- Description: "The function used to apply information about a ServiceLevelObjective",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "serviceLevelObjective",
- Required: true,
- Description: "A full instance of a ServiceLevelObjective",
- },
- },
- },
- Delete: &dcl.Path{
- Description: "The function used to delete a ServiceLevelObjective",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "serviceLevelObjective",
- Required: true,
- Description: "A full instance of a ServiceLevelObjective",
- },
- },
- },
- DeleteAll: &dcl.Path{
- Description: "The function used to delete all ServiceLevelObjective",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "project",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- dcl.PathParameters{
- Name: "service",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- },
- },
- List: &dcl.Path{
- Description: "The function used to list information about many ServiceLevelObjective",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "project",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- dcl.PathParameters{
- Name: "service",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- },
- },
- },
- Components: &dcl.Components{
- Schemas: map[string]*dcl.Component{
- "ServiceLevelObjective": &dcl.Component{
- Title: "ServiceLevelObjective",
- ID: "projects/{{project}}/services/{{service}}/serviceLevelObjectives/{{name}}",
- ParentContainer: "project",
- LabelsField: "userLabels",
- HasCreate: true,
- SchemaProperty: dcl.Property{
- Type: "object",
- Required: []string{
- "name",
- "goal",
- "project",
- "service",
- },
- Properties: map[string]*dcl.Property{
- "calendarPeriod": &dcl.Property{
- Type: "string",
- GoName: "CalendarPeriod",
- GoType: "ServiceLevelObjectiveCalendarPeriodEnum",
- Description: "A calendar period, semantically \"since the start of the current ``\". At this time, only `DAY`, `WEEK`, `FORTNIGHT`, and `MONTH` are supported. Possible values: CALENDAR_PERIOD_UNSPECIFIED, DAY, WEEK, FORTNIGHT, MONTH, QUARTER, HALF, YEAR",
- Conflicts: []string{
- "rollingPeriod",
- },
- Enum: []string{
- "CALENDAR_PERIOD_UNSPECIFIED",
- "DAY",
- "WEEK",
- "FORTNIGHT",
- "MONTH",
- "QUARTER",
- "HALF",
- "YEAR",
- },
- },
- "createTime": &dcl.Property{
- Type: "string",
- Format: "date-time",
- GoName: "CreateTime",
- ReadOnly: true,
- Description: "Time stamp of the `Create` or most recent `Update` command on this `Slo`.",
- Immutable: true,
- },
- "deleteTime": &dcl.Property{
- Type: "string",
- Format: "date-time",
- GoName: "DeleteTime",
- ReadOnly: true,
- Description: "Time stamp of the `Update` or `Delete` command that made this no longer a current `Slo`. This field is not populated in `ServiceLevelObjective`s returned from calls to `GetServiceLevelObjective` and `ListServiceLevelObjectives`, because it is always empty in the current version. It is populated in `ServiceLevelObjective`s representing previous versions in the output of `ListServiceLevelObjectiveVersions`. Because all old configuration versions are stored, `Update` operations mark the obsoleted version as deleted.",
- Immutable: true,
- },
- "displayName": &dcl.Property{
- Type: "string",
- GoName: "DisplayName",
- Description: "Name used for UI elements listing this SLO.",
- },
- "goal": &dcl.Property{
- Type: "number",
- Format: "double",
- GoName: "Goal",
- Description: "The fraction of service that must be good in order for this objective to be met. `0 < goal <= 0.999`.",
- },
- "name": &dcl.Property{
- Type: "string",
- GoName: "Name",
- Description: "Resource name for this `ServiceLevelObjective`. The format is: projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]",
- Immutable: true,
- },
- "project": &dcl.Property{
- Type: "string",
- GoName: "Project",
- Description: "The project for the resource",
- Immutable: true,
- ResourceReferences: []*dcl.PropertyResourceReference{
- &dcl.PropertyResourceReference{
- Resource: "Cloudresourcemanager/Project",
- Field: "name",
- Parent: true,
- },
- },
- },
- "rollingPeriod": &dcl.Property{
- Type: "string",
- GoName: "RollingPeriod",
- Description: "A rolling time period, semantically \"in the past ``\". Must be an integer multiple of 1 day no larger than 30 days.",
- Conflicts: []string{
- "calendarPeriod",
- },
- },
- "service": &dcl.Property{
- Type: "string",
- GoName: "Service",
- Description: "The service for the resource",
- Immutable: true,
- ResourceReferences: []*dcl.PropertyResourceReference{
- &dcl.PropertyResourceReference{
- Resource: "Monitoring/Service",
- Field: "name",
- Parent: true,
- },
- },
- },
- "serviceLevelIndicator": &dcl.Property{
- Type: "object",
- GoName: "ServiceLevelIndicator",
- GoType: "ServiceLevelObjectiveServiceLevelIndicator",
- Description: "The definition of good service, used to measure and calculate the quality of the `Service`'s performance with respect to a single aspect of service quality.",
- Properties: map[string]*dcl.Property{
- "basicSli": &dcl.Property{
- Type: "object",
- GoName: "BasicSli",
- GoType: "ServiceLevelObjectiveServiceLevelIndicatorBasicSli",
- Description: "Basic SLI on a well-known service type.",
- Conflicts: []string{
- "requestBased",
- "windowsBased",
- },
- Properties: map[string]*dcl.Property{
- "availability": &dcl.Property{
- Type: "object",
- GoName: "Availability",
- GoType: "ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability",
- Description: "Good service is defined to be the count of requests made to this service that return successfully.",
- Conflicts: []string{
- "latency",
- "operationAvailability",
- "operationLatency",
- },
- Properties: map[string]*dcl.Property{},
- },
- "latency": &dcl.Property{
- Type: "object",
- GoName: "Latency",
- GoType: "ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency",
- Description: "Good service is defined to be the count of requests made to this service that are fast enough with respect to `latency.threshold`.",
- Conflicts: []string{
- "availability",
- "operationAvailability",
- "operationLatency",
- },
- Properties: map[string]*dcl.Property{
- "experience": &dcl.Property{
- Type: "string",
- GoName: "Experience",
- GoType: "ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnum",
- Description: "A description of the experience associated with failing requests. Possible values: LATENCY_EXPERIENCE_UNSPECIFIED, DELIGHTING, SATISFYING, ANNOYING",
- Enum: []string{
- "LATENCY_EXPERIENCE_UNSPECIFIED",
- "DELIGHTING",
- "SATISFYING",
- "ANNOYING",
- },
- },
- "threshold": &dcl.Property{
- Type: "string",
- GoName: "Threshold",
- Description: "Good service is defined to be the count of requests made to this service that return in no more than `threshold`.",
- },
- },
- },
- "location": &dcl.Property{
- Type: "array",
- GoName: "Location",
- Description: "OPTIONAL: The set of locations to which this SLI is relevant. Telemetry from other locations will not be used to calculate performance for this SLI. If omitted, this SLI applies to all locations in which the Service has activity. For service types that don't support breaking down by location, setting this field will result in an error.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "method": &dcl.Property{
- Type: "array",
- GoName: "Method",
- Description: "OPTIONAL: The set of RPCs to which this SLI is relevant. Telemetry from other methods will not be used to calculate performance for this SLI. If omitted, this SLI applies to all the Service's methods. For service types that don't support breaking down by method, setting this field will result in an error.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "operationAvailability": &dcl.Property{
- Type: "object",
- GoName: "OperationAvailability",
- GoType: "ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability",
- Description: "Good service is defined to be the count of operations performed by this service that return successfully",
- Conflicts: []string{
- "availability",
- "latency",
- "operationLatency",
- },
- Properties: map[string]*dcl.Property{},
- },
- "operationLatency": &dcl.Property{
- Type: "object",
- GoName: "OperationLatency",
- GoType: "ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency",
- Description: "Good service is defined to be the count of operations performed by this service that are fast enough with respect to `operation_latency.threshold`.",
- Conflicts: []string{
- "availability",
- "latency",
- "operationAvailability",
- },
- Properties: map[string]*dcl.Property{
- "experience": &dcl.Property{
- Type: "string",
- GoName: "Experience",
- GoType: "ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnum",
- Description: "A description of the experience associated with failing requests. Possible values: LATENCY_EXPERIENCE_UNSPECIFIED, DELIGHTING, SATISFYING, ANNOYING",
- Enum: []string{
- "LATENCY_EXPERIENCE_UNSPECIFIED",
- "DELIGHTING",
- "SATISFYING",
- "ANNOYING",
- },
- },
- "threshold": &dcl.Property{
- Type: "string",
- GoName: "Threshold",
- Description: "Good service is defined to be the count of operations that are completed in no more than `threshold`.",
- },
- },
- },
- "version": &dcl.Property{
- Type: "array",
- GoName: "Version",
- Description: "OPTIONAL: The set of API versions to which this SLI is relevant. Telemetry from other API versions will not be used to calculate performance for this SLI. If omitted, this SLI applies to all API versions. For service types that don't support breaking down by version, setting this field will result in an error.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- },
- },
- "requestBased": &dcl.Property{
- Type: "object",
- GoName: "RequestBased",
- GoType: "ServiceLevelObjectiveServiceLevelIndicatorRequestBased",
- Description: "Request-based SLIs",
- Conflicts: []string{
- "basicSli",
- "windowsBased",
- },
- Properties: map[string]*dcl.Property{
- "distributionCut": &dcl.Property{
- Type: "object",
- GoName: "DistributionCut",
- GoType: "ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut",
- Description: "`distribution_cut` is used when `good_service` is a count of values aggregated in a `Distribution` that fall into a good range. The `total_service` is the total count of all values aggregated in the `Distribution`.",
- Conflicts: []string{
- "goodTotalRatio",
- },
- Properties: map[string]*dcl.Property{
- "distributionFilter": &dcl.Property{
- Type: "string",
- GoName: "DistributionFilter",
- Description: "A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) specifying a `TimeSeries` aggregating values. Must have `ValueType = DISTRIBUTION` and `MetricKind = DELTA` or `MetricKind = CUMULATIVE`.",
- },
- "range": &dcl.Property{
- Type: "object",
- GoName: "Range",
- GoType: "ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange",
- Description: "Range of values considered \"good.\" For a one-sided range, set one bound to an infinite value.",
- Properties: map[string]*dcl.Property{
- "max": &dcl.Property{
- Type: "number",
- Format: "double",
- GoName: "Max",
- Description: "Range maximum.",
- },
- "min": &dcl.Property{
- Type: "number",
- Format: "double",
- GoName: "Min",
- Description: "Range minimum.",
- },
- },
- },
- },
- },
- "goodTotalRatio": &dcl.Property{
- Type: "object",
- GoName: "GoodTotalRatio",
- GoType: "ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio",
- Description: "`good_total_ratio` is used when the ratio of `good_service` to `total_service` is computed from two `TimeSeries`.",
- Conflicts: []string{
- "distributionCut",
- },
- Properties: map[string]*dcl.Property{
- "badServiceFilter": &dcl.Property{
- Type: "string",
- GoName: "BadServiceFilter",
- Description: "A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) specifying a `TimeSeries` quantifying bad service, either demanded service that was not provided or demanded service that was of inadequate quality. Must have `ValueType = DOUBLE` or `ValueType = INT64` and must have `MetricKind = DELTA` or `MetricKind = CUMULATIVE`.",
- },
- "goodServiceFilter": &dcl.Property{
- Type: "string",
- GoName: "GoodServiceFilter",
- Description: "A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) specifying a `TimeSeries` quantifying good service provided. Must have `ValueType = DOUBLE` or `ValueType = INT64` and must have `MetricKind = DELTA` or `MetricKind = CUMULATIVE`.",
- },
- "totalServiceFilter": &dcl.Property{
- Type: "string",
- GoName: "TotalServiceFilter",
- Description: "A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) specifying a `TimeSeries` quantifying total demanded service. Must have `ValueType = DOUBLE` or `ValueType = INT64` and must have `MetricKind = DELTA` or `MetricKind = CUMULATIVE`.",
- },
- },
- },
- },
- },
- "windowsBased": &dcl.Property{
- Type: "object",
- GoName: "WindowsBased",
- GoType: "ServiceLevelObjectiveServiceLevelIndicatorWindowsBased",
- Description: "Windows-based SLIs",
- Conflicts: []string{
- "basicSli",
- "requestBased",
- },
- Properties: map[string]*dcl.Property{
- "goodBadMetricFilter": &dcl.Property{
- Type: "string",
- GoName: "GoodBadMetricFilter",
- Description: "A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) specifying a `TimeSeries` with `ValueType = BOOL`. The window is good if any `true` values appear in the window.",
- Conflicts: []string{
- "goodTotalRatioThreshold",
- "metricMeanInRange",
- "metricSumInRange",
- },
- },
- "goodTotalRatioThreshold": &dcl.Property{
- Type: "object",
- GoName: "GoodTotalRatioThreshold",
- GoType: "ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold",
- Description: "A window is good if its `performance` is high enough.",
- Conflicts: []string{
- "goodBadMetricFilter",
- "metricMeanInRange",
- "metricSumInRange",
- },
- Properties: map[string]*dcl.Property{
- "basicSliPerformance": &dcl.Property{
- Type: "object",
- GoName: "BasicSliPerformance",
- GoType: "ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance",
- Description: "`BasicSli` to evaluate to judge window quality.",
- Conflicts: []string{
- "performance",
- },
- Properties: map[string]*dcl.Property{
- "availability": &dcl.Property{
- Type: "object",
- GoName: "Availability",
- GoType: "ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability",
- Description: "Good service is defined to be the count of requests made to this service that return successfully.",
- Conflicts: []string{
- "latency",
- "operationAvailability",
- "operationLatency",
- },
- Properties: map[string]*dcl.Property{},
- },
- "latency": &dcl.Property{
- Type: "object",
- GoName: "Latency",
- GoType: "ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency",
- Description: "Good service is defined to be the count of requests made to this service that are fast enough with respect to `latency.threshold`.",
- Conflicts: []string{
- "availability",
- "operationAvailability",
- "operationLatency",
- },
- Properties: map[string]*dcl.Property{
- "experience": &dcl.Property{
- Type: "string",
- GoName: "Experience",
- GoType: "ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnum",
- Description: "A description of the experience associated with failing requests. Possible values: LATENCY_EXPERIENCE_UNSPECIFIED, DELIGHTING, SATISFYING, ANNOYING",
- Enum: []string{
- "LATENCY_EXPERIENCE_UNSPECIFIED",
- "DELIGHTING",
- "SATISFYING",
- "ANNOYING",
- },
- },
- "threshold": &dcl.Property{
- Type: "string",
- GoName: "Threshold",
- Description: "Good service is defined to be the count of requests made to this service that return in no more than `threshold`.",
- },
- },
- },
- "location": &dcl.Property{
- Type: "array",
- GoName: "Location",
- Description: "OPTIONAL: The set of locations to which this SLI is relevant. Telemetry from other locations will not be used to calculate performance for this SLI. If omitted, this SLI applies to all locations in which the Service has activity. For service types that don't support breaking down by location, setting this field will result in an error.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "method": &dcl.Property{
- Type: "array",
- GoName: "Method",
- Description: "OPTIONAL: The set of RPCs to which this SLI is relevant. Telemetry from other methods will not be used to calculate performance for this SLI. If omitted, this SLI applies to all the Service's methods. For service types that don't support breaking down by method, setting this field will result in an error.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "operationAvailability": &dcl.Property{
- Type: "object",
- GoName: "OperationAvailability",
- GoType: "ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability",
- Description: "Good service is defined to be the count of operations performed by this service that return successfully",
- Conflicts: []string{
- "availability",
- "latency",
- "operationLatency",
- },
- Properties: map[string]*dcl.Property{},
- },
- "operationLatency": &dcl.Property{
- Type: "object",
- GoName: "OperationLatency",
- GoType: "ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency",
- Description: "Good service is defined to be the count of operations performed by this service that are fast enough with respect to `operation_latency.threshold`.",
- Conflicts: []string{
- "availability",
- "latency",
- "operationAvailability",
- },
- Properties: map[string]*dcl.Property{
- "experience": &dcl.Property{
- Type: "string",
- GoName: "Experience",
- GoType: "ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnum",
- Description: "A description of the experience associated with failing requests. Possible values: LATENCY_EXPERIENCE_UNSPECIFIED, DELIGHTING, SATISFYING, ANNOYING",
- Enum: []string{
- "LATENCY_EXPERIENCE_UNSPECIFIED",
- "DELIGHTING",
- "SATISFYING",
- "ANNOYING",
- },
- },
- "threshold": &dcl.Property{
- Type: "string",
- GoName: "Threshold",
- Description: "Good service is defined to be the count of operations that are completed in no more than `threshold`.",
- },
- },
- },
- "version": &dcl.Property{
- Type: "array",
- GoName: "Version",
- Description: "OPTIONAL: The set of API versions to which this SLI is relevant. Telemetry from other API versions will not be used to calculate performance for this SLI. If omitted, this SLI applies to all API versions. For service types that don't support breaking down by version, setting this field will result in an error.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- },
- },
- "performance": &dcl.Property{
- Type: "object",
- GoName: "Performance",
- GoType: "ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance",
- Description: "`RequestBasedSli` to evaluate to judge window quality.",
- Conflicts: []string{
- "basicSliPerformance",
- },
- Properties: map[string]*dcl.Property{
- "distributionCut": &dcl.Property{
- Type: "object",
- GoName: "DistributionCut",
- GoType: "ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut",
- Description: "`distribution_cut` is used when `good_service` is a count of values aggregated in a `Distribution` that fall into a good range. The `total_service` is the total count of all values aggregated in the `Distribution`.",
- Conflicts: []string{
- "goodTotalRatio",
- },
- Properties: map[string]*dcl.Property{
- "distributionFilter": &dcl.Property{
- Type: "string",
- GoName: "DistributionFilter",
- Description: "A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) specifying a `TimeSeries` aggregating values. Must have `ValueType = DISTRIBUTION` and `MetricKind = DELTA` or `MetricKind = CUMULATIVE`.",
- },
- "range": &dcl.Property{
- Type: "object",
- GoName: "Range",
- GoType: "ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange",
- Description: "Range of values considered \"good.\" For a one-sided range, set one bound to an infinite value.",
- Properties: map[string]*dcl.Property{
- "max": &dcl.Property{
- Type: "number",
- Format: "double",
- GoName: "Max",
- Description: "Range maximum.",
- },
- "min": &dcl.Property{
- Type: "number",
- Format: "double",
- GoName: "Min",
- Description: "Range minimum.",
- },
- },
- },
- },
- },
- "goodTotalRatio": &dcl.Property{
- Type: "object",
- GoName: "GoodTotalRatio",
- GoType: "ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio",
- Description: "`good_total_ratio` is used when the ratio of `good_service` to `total_service` is computed from two `TimeSeries`.",
- Conflicts: []string{
- "distributionCut",
- },
- Properties: map[string]*dcl.Property{
- "badServiceFilter": &dcl.Property{
- Type: "string",
- GoName: "BadServiceFilter",
- Description: "A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) specifying a `TimeSeries` quantifying bad service, either demanded service that was not provided or demanded service that was of inadequate quality. Must have `ValueType = DOUBLE` or `ValueType = INT64` and must have `MetricKind = DELTA` or `MetricKind = CUMULATIVE`.",
- },
- "goodServiceFilter": &dcl.Property{
- Type: "string",
- GoName: "GoodServiceFilter",
- Description: "A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) specifying a `TimeSeries` quantifying good service provided. Must have `ValueType = DOUBLE` or `ValueType = INT64` and must have `MetricKind = DELTA` or `MetricKind = CUMULATIVE`.",
- },
- "totalServiceFilter": &dcl.Property{
- Type: "string",
- GoName: "TotalServiceFilter",
- Description: "A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) specifying a `TimeSeries` quantifying total demanded service. Must have `ValueType = DOUBLE` or `ValueType = INT64` and must have `MetricKind = DELTA` or `MetricKind = CUMULATIVE`.",
- },
- },
- },
- },
- },
- "threshold": &dcl.Property{
- Type: "number",
- Format: "double",
- GoName: "Threshold",
- Description: "If window `performance >= threshold`, the window is counted as good.",
- },
- },
- },
- "metricMeanInRange": &dcl.Property{
- Type: "object",
- GoName: "MetricMeanInRange",
- GoType: "ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange",
- Description: "A window is good if the metric's value is in a good range, averaged across returned streams.",
- Conflicts: []string{
- "goodBadMetricFilter",
- "goodTotalRatioThreshold",
- "metricSumInRange",
- },
- Properties: map[string]*dcl.Property{
- "range": &dcl.Property{
- Type: "object",
- GoName: "Range",
- GoType: "ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange",
- Description: "Range of values considered \"good.\" For a one-sided range, set one bound to an infinite value.",
- Properties: map[string]*dcl.Property{
- "max": &dcl.Property{
- Type: "number",
- Format: "double",
- GoName: "Max",
- Description: "Range maximum.",
- },
- "min": &dcl.Property{
- Type: "number",
- Format: "double",
- GoName: "Min",
- Description: "Range minimum.",
- },
- },
- },
- "timeSeries": &dcl.Property{
- Type: "string",
- GoName: "TimeSeries",
- Description: "A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) specifying the `TimeSeries` to use for evaluating window quality.",
- },
- },
- },
- "metricSumInRange": &dcl.Property{
- Type: "object",
- GoName: "MetricSumInRange",
- GoType: "ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange",
- Description: "A window is good if the metric's value is in a good range, summed across returned streams.",
- Conflicts: []string{
- "goodBadMetricFilter",
- "goodTotalRatioThreshold",
- "metricMeanInRange",
- },
- Properties: map[string]*dcl.Property{
- "range": &dcl.Property{
- Type: "object",
- GoName: "Range",
- GoType: "ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange",
- Description: "Range of values considered \"good.\" For a one-sided range, set one bound to an infinite value.",
- Properties: map[string]*dcl.Property{
- "max": &dcl.Property{
- Type: "number",
- Format: "double",
- GoName: "Max",
- Description: "Range maximum.",
- },
- "min": &dcl.Property{
- Type: "number",
- Format: "double",
- GoName: "Min",
- Description: "Range minimum.",
- },
- },
- },
- "timeSeries": &dcl.Property{
- Type: "string",
- GoName: "TimeSeries",
- Description: "A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) specifying the `TimeSeries` to use for evaluating window quality.",
- },
- },
- },
- "windowPeriod": &dcl.Property{
- Type: "string",
- GoName: "WindowPeriod",
- Description: "Duration over which window quality is evaluated. Must be an integer fraction of a day and at least `60s`.",
- },
- },
- },
- },
- },
- "serviceManagementOwned": &dcl.Property{
- Type: "boolean",
- GoName: "ServiceManagementOwned",
- ReadOnly: true,
- Description: "Output only. If set, this SLO is managed at the [Service Management](https://cloud.google.com/service-management/overview) level. Therefore the service yaml file is the source of truth for this SLO, and API `Update` and `Delete` operations are forbidden.",
- Immutable: true,
- },
- "userLabels": &dcl.Property{
- Type: "object",
- AdditionalProperties: &dcl.Property{
- Type: "string",
- },
- GoName: "UserLabels",
- Description: "Labels which have been used to annotate the service-level objective. Label keys must start with a letter. Label keys and values may contain lowercase letters, numbers, underscores, and dashes. Label keys and values have a maximum length of 63 characters, and must be less than 128 bytes in size. Up to 64 label entries may be stored. For labels which do not have a semantic value, the empty string may be supplied for the label value.",
- },
- },
- },
- },
- },
- },
- }
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/service_level_objective_yaml_embed.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/service_level_objective_yaml_embed.go
deleted file mode 100644
index d9a8167e3d..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/service_level_objective_yaml_embed.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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.
-// GENERATED BY gen_go_data.go
-// gen_go_data -package monitoring -var YAML_service_level_objective blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/monitoring/service_level_objective.yaml
-
-package monitoring
-
-// blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/monitoring/service_level_objective.yaml
-var YAML_service_level_objective = []byte("info:\n title: Monitoring/ServiceLevelObjective\n description: The Monitoring ServiceLevelObjective resource\n x-dcl-struct-name: ServiceLevelObjective\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a ServiceLevelObjective\n parameters:\n - name: serviceLevelObjective\n required: true\n description: A full instance of a ServiceLevelObjective\n apply:\n description: The function used to apply information about a ServiceLevelObjective\n parameters:\n - name: serviceLevelObjective\n required: true\n description: A full instance of a ServiceLevelObjective\n delete:\n description: The function used to delete a ServiceLevelObjective\n parameters:\n - name: serviceLevelObjective\n required: true\n description: A full instance of a ServiceLevelObjective\n deleteAll:\n description: The function used to delete all ServiceLevelObjective\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: service\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many ServiceLevelObjective\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: service\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n ServiceLevelObjective:\n title: ServiceLevelObjective\n x-dcl-id: projects/{{project}}/services/{{service}}/serviceLevelObjectives/{{name}}\n x-dcl-parent-container: project\n x-dcl-labels: userLabels\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - goal\n - project\n - service\n properties:\n calendarPeriod:\n type: string\n x-dcl-go-name: CalendarPeriod\n x-dcl-go-type: ServiceLevelObjectiveCalendarPeriodEnum\n description: 'A calendar period, semantically \"since the start of the current\n ``\". At this time, only `DAY`, `WEEK`, `FORTNIGHT`, and `MONTH` are supported.\n Possible values: CALENDAR_PERIOD_UNSPECIFIED, DAY, WEEK, FORTNIGHT, MONTH,\n QUARTER, HALF, YEAR'\n x-dcl-conflicts:\n - rollingPeriod\n enum:\n - CALENDAR_PERIOD_UNSPECIFIED\n - DAY\n - WEEK\n - FORTNIGHT\n - MONTH\n - QUARTER\n - HALF\n - YEAR\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Time stamp of the `Create` or most recent `Update` command\n on this `Slo`.\n x-kubernetes-immutable: true\n deleteTime:\n type: string\n format: date-time\n x-dcl-go-name: DeleteTime\n readOnly: true\n description: Time stamp of the `Update` or `Delete` command that made this\n no longer a current `Slo`. This field is not populated in `ServiceLevelObjective`s\n returned from calls to `GetServiceLevelObjective` and `ListServiceLevelObjectives`,\n because it is always empty in the current version. It is populated in\n `ServiceLevelObjective`s representing previous versions in the output\n of `ListServiceLevelObjectiveVersions`. Because all old configuration\n versions are stored, `Update` operations mark the obsoleted version as\n deleted.\n x-kubernetes-immutable: true\n displayName:\n type: string\n x-dcl-go-name: DisplayName\n description: Name used for UI elements listing this SLO.\n goal:\n type: number\n format: double\n x-dcl-go-name: Goal\n description: The fraction of service that must be good in order for this\n objective to be met. `0 < goal <= 0.999`.\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Resource name for this `ServiceLevelObjective`. The format\n is: projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]'\n x-kubernetes-immutable: true\n project:\n type: string\n x-dcl-go-name: Project\n description: The project for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n rollingPeriod:\n type: string\n x-dcl-go-name: RollingPeriod\n description: A rolling time period, semantically \"in the past ``\". Must\n be an integer multiple of 1 day no larger than 30 days.\n x-dcl-conflicts:\n - calendarPeriod\n service:\n type: string\n x-dcl-go-name: Service\n description: The service for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Monitoring/Service\n field: name\n parent: true\n serviceLevelIndicator:\n type: object\n x-dcl-go-name: ServiceLevelIndicator\n x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicator\n description: The definition of good service, used to measure and calculate\n the quality of the `Service`'s performance with respect to a single aspect\n of service quality.\n properties:\n basicSli:\n type: object\n x-dcl-go-name: BasicSli\n x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorBasicSli\n description: Basic SLI on a well-known service type.\n x-dcl-conflicts:\n - requestBased\n - windowsBased\n properties:\n availability:\n type: object\n x-dcl-go-name: Availability\n x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorBasicSliAvailability\n description: Good service is defined to be the count of requests\n made to this service that return successfully.\n x-dcl-conflicts:\n - latency\n - operationAvailability\n - operationLatency\n latency:\n type: object\n x-dcl-go-name: Latency\n x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatency\n description: Good service is defined to be the count of requests\n made to this service that are fast enough with respect to `latency.threshold`.\n x-dcl-conflicts:\n - availability\n - operationAvailability\n - operationLatency\n properties:\n experience:\n type: string\n x-dcl-go-name: Experience\n x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorBasicSliLatencyExperienceEnum\n description: 'A description of the experience associated with\n failing requests. Possible values: LATENCY_EXPERIENCE_UNSPECIFIED,\n DELIGHTING, SATISFYING, ANNOYING'\n enum:\n - LATENCY_EXPERIENCE_UNSPECIFIED\n - DELIGHTING\n - SATISFYING\n - ANNOYING\n threshold:\n type: string\n x-dcl-go-name: Threshold\n description: Good service is defined to be the count of requests\n made to this service that return in no more than `threshold`.\n location:\n type: array\n x-dcl-go-name: Location\n description: 'OPTIONAL: The set of locations to which this SLI is\n relevant. Telemetry from other locations will not be used to calculate\n performance for this SLI. If omitted, this SLI applies to all\n locations in which the Service has activity. For service types\n that don''t support breaking down by location, setting this field\n will result in an error.'\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n method:\n type: array\n x-dcl-go-name: Method\n description: 'OPTIONAL: The set of RPCs to which this SLI is relevant.\n Telemetry from other methods will not be used to calculate performance\n for this SLI. If omitted, this SLI applies to all the Service''s\n methods. For service types that don''t support breaking down by\n method, setting this field will result in an error.'\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n operationAvailability:\n type: object\n x-dcl-go-name: OperationAvailability\n x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationAvailability\n description: Good service is defined to be the count of operations\n performed by this service that return successfully\n x-dcl-conflicts:\n - availability\n - latency\n - operationLatency\n operationLatency:\n type: object\n x-dcl-go-name: OperationLatency\n x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatency\n description: Good service is defined to be the count of operations\n performed by this service that are fast enough with respect to\n `operation_latency.threshold`.\n x-dcl-conflicts:\n - availability\n - latency\n - operationAvailability\n properties:\n experience:\n type: string\n x-dcl-go-name: Experience\n x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorBasicSliOperationLatencyExperienceEnum\n description: 'A description of the experience associated with\n failing requests. Possible values: LATENCY_EXPERIENCE_UNSPECIFIED,\n DELIGHTING, SATISFYING, ANNOYING'\n enum:\n - LATENCY_EXPERIENCE_UNSPECIFIED\n - DELIGHTING\n - SATISFYING\n - ANNOYING\n threshold:\n type: string\n x-dcl-go-name: Threshold\n description: Good service is defined to be the count of operations\n that are completed in no more than `threshold`.\n version:\n type: array\n x-dcl-go-name: Version\n description: 'OPTIONAL: The set of API versions to which this SLI\n is relevant. Telemetry from other API versions will not be used\n to calculate performance for this SLI. If omitted, this SLI applies\n to all API versions. For service types that don''t support breaking\n down by version, setting this field will result in an error.'\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n requestBased:\n type: object\n x-dcl-go-name: RequestBased\n x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorRequestBased\n description: Request-based SLIs\n x-dcl-conflicts:\n - basicSli\n - windowsBased\n properties:\n distributionCut:\n type: object\n x-dcl-go-name: DistributionCut\n x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCut\n description: '`distribution_cut` is used when `good_service` is\n a count of values aggregated in a `Distribution` that fall into\n a good range. The `total_service` is the total count of all values\n aggregated in the `Distribution`.'\n x-dcl-conflicts:\n - goodTotalRatio\n properties:\n distributionFilter:\n type: string\n x-dcl-go-name: DistributionFilter\n description: A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n specifying a `TimeSeries` aggregating values. Must have `ValueType\n = DISTRIBUTION` and `MetricKind = DELTA` or `MetricKind =\n CUMULATIVE`.\n range:\n type: object\n x-dcl-go-name: Range\n x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorRequestBasedDistributionCutRange\n description: Range of values considered \"good.\" For a one-sided\n range, set one bound to an infinite value.\n properties:\n max:\n type: number\n format: double\n x-dcl-go-name: Max\n description: Range maximum.\n min:\n type: number\n format: double\n x-dcl-go-name: Min\n description: Range minimum.\n goodTotalRatio:\n type: object\n x-dcl-go-name: GoodTotalRatio\n x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorRequestBasedGoodTotalRatio\n description: '`good_total_ratio` is used when the ratio of `good_service`\n to `total_service` is computed from two `TimeSeries`.'\n x-dcl-conflicts:\n - distributionCut\n properties:\n badServiceFilter:\n type: string\n x-dcl-go-name: BadServiceFilter\n description: A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n specifying a `TimeSeries` quantifying bad service, either\n demanded service that was not provided or demanded service\n that was of inadequate quality. Must have `ValueType = DOUBLE`\n or `ValueType = INT64` and must have `MetricKind = DELTA`\n or `MetricKind = CUMULATIVE`.\n goodServiceFilter:\n type: string\n x-dcl-go-name: GoodServiceFilter\n description: A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n specifying a `TimeSeries` quantifying good service provided.\n Must have `ValueType = DOUBLE` or `ValueType = INT64` and\n must have `MetricKind = DELTA` or `MetricKind = CUMULATIVE`.\n totalServiceFilter:\n type: string\n x-dcl-go-name: TotalServiceFilter\n description: A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n specifying a `TimeSeries` quantifying total demanded service.\n Must have `ValueType = DOUBLE` or `ValueType = INT64` and\n must have `MetricKind = DELTA` or `MetricKind = CUMULATIVE`.\n windowsBased:\n type: object\n x-dcl-go-name: WindowsBased\n x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBased\n description: Windows-based SLIs\n x-dcl-conflicts:\n - basicSli\n - requestBased\n properties:\n goodBadMetricFilter:\n type: string\n x-dcl-go-name: GoodBadMetricFilter\n description: A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n specifying a `TimeSeries` with `ValueType = BOOL`. The window\n is good if any `true` values appear in the window.\n x-dcl-conflicts:\n - goodTotalRatioThreshold\n - metricMeanInRange\n - metricSumInRange\n goodTotalRatioThreshold:\n type: object\n x-dcl-go-name: GoodTotalRatioThreshold\n x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThreshold\n description: A window is good if its `performance` is high enough.\n x-dcl-conflicts:\n - goodBadMetricFilter\n - metricMeanInRange\n - metricSumInRange\n properties:\n basicSliPerformance:\n type: object\n x-dcl-go-name: BasicSliPerformance\n x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformance\n description: '`BasicSli` to evaluate to judge window quality.'\n x-dcl-conflicts:\n - performance\n properties:\n availability:\n type: object\n x-dcl-go-name: Availability\n x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceAvailability\n description: Good service is defined to be the count of\n requests made to this service that return successfully.\n x-dcl-conflicts:\n - latency\n - operationAvailability\n - operationLatency\n latency:\n type: object\n x-dcl-go-name: Latency\n x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatency\n description: Good service is defined to be the count of\n requests made to this service that are fast enough with\n respect to `latency.threshold`.\n x-dcl-conflicts:\n - availability\n - operationAvailability\n - operationLatency\n properties:\n experience:\n type: string\n x-dcl-go-name: Experience\n x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceLatencyExperienceEnum\n description: 'A description of the experience associated\n with failing requests. Possible values: LATENCY_EXPERIENCE_UNSPECIFIED,\n DELIGHTING, SATISFYING, ANNOYING'\n enum:\n - LATENCY_EXPERIENCE_UNSPECIFIED\n - DELIGHTING\n - SATISFYING\n - ANNOYING\n threshold:\n type: string\n x-dcl-go-name: Threshold\n description: Good service is defined to be the count\n of requests made to this service that return in no\n more than `threshold`.\n location:\n type: array\n x-dcl-go-name: Location\n description: 'OPTIONAL: The set of locations to which this\n SLI is relevant. Telemetry from other locations will not\n be used to calculate performance for this SLI. If omitted,\n this SLI applies to all locations in which the Service\n has activity. For service types that don''t support breaking\n down by location, setting this field will result in an\n error.'\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n method:\n type: array\n x-dcl-go-name: Method\n description: 'OPTIONAL: The set of RPCs to which this SLI\n is relevant. Telemetry from other methods will not be\n used to calculate performance for this SLI. If omitted,\n this SLI applies to all the Service''s methods. For service\n types that don''t support breaking down by method, setting\n this field will result in an error.'\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n operationAvailability:\n type: object\n x-dcl-go-name: OperationAvailability\n x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationAvailability\n description: Good service is defined to be the count of\n operations performed by this service that return successfully\n x-dcl-conflicts:\n - availability\n - latency\n - operationLatency\n operationLatency:\n type: object\n x-dcl-go-name: OperationLatency\n x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatency\n description: Good service is defined to be the count of\n operations performed by this service that are fast enough\n with respect to `operation_latency.threshold`.\n x-dcl-conflicts:\n - availability\n - latency\n - operationAvailability\n properties:\n experience:\n type: string\n x-dcl-go-name: Experience\n x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdBasicSliPerformanceOperationLatencyExperienceEnum\n description: 'A description of the experience associated\n with failing requests. Possible values: LATENCY_EXPERIENCE_UNSPECIFIED,\n DELIGHTING, SATISFYING, ANNOYING'\n enum:\n - LATENCY_EXPERIENCE_UNSPECIFIED\n - DELIGHTING\n - SATISFYING\n - ANNOYING\n threshold:\n type: string\n x-dcl-go-name: Threshold\n description: Good service is defined to be the count\n of operations that are completed in no more than `threshold`.\n version:\n type: array\n x-dcl-go-name: Version\n description: 'OPTIONAL: The set of API versions to which\n this SLI is relevant. Telemetry from other API versions\n will not be used to calculate performance for this SLI.\n If omitted, this SLI applies to all API versions. For\n service types that don''t support breaking down by version,\n setting this field will result in an error.'\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n performance:\n type: object\n x-dcl-go-name: Performance\n x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformance\n description: '`RequestBasedSli` to evaluate to judge window\n quality.'\n x-dcl-conflicts:\n - basicSliPerformance\n properties:\n distributionCut:\n type: object\n x-dcl-go-name: DistributionCut\n x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCut\n description: '`distribution_cut` is used when `good_service`\n is a count of values aggregated in a `Distribution` that\n fall into a good range. The `total_service` is the total\n count of all values aggregated in the `Distribution`.'\n x-dcl-conflicts:\n - goodTotalRatio\n properties:\n distributionFilter:\n type: string\n x-dcl-go-name: DistributionFilter\n description: A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n specifying a `TimeSeries` aggregating values. Must\n have `ValueType = DISTRIBUTION` and `MetricKind =\n DELTA` or `MetricKind = CUMULATIVE`.\n range:\n type: object\n x-dcl-go-name: Range\n x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceDistributionCutRange\n description: Range of values considered \"good.\" For\n a one-sided range, set one bound to an infinite value.\n properties:\n max:\n type: number\n format: double\n x-dcl-go-name: Max\n description: Range maximum.\n min:\n type: number\n format: double\n x-dcl-go-name: Min\n description: Range minimum.\n goodTotalRatio:\n type: object\n x-dcl-go-name: GoodTotalRatio\n x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedGoodTotalRatioThresholdPerformanceGoodTotalRatio\n description: '`good_total_ratio` is used when the ratio\n of `good_service` to `total_service` is computed from\n two `TimeSeries`.'\n x-dcl-conflicts:\n - distributionCut\n properties:\n badServiceFilter:\n type: string\n x-dcl-go-name: BadServiceFilter\n description: A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n specifying a `TimeSeries` quantifying bad service,\n either demanded service that was not provided or demanded\n service that was of inadequate quality. Must have\n `ValueType = DOUBLE` or `ValueType = INT64` and must\n have `MetricKind = DELTA` or `MetricKind = CUMULATIVE`.\n goodServiceFilter:\n type: string\n x-dcl-go-name: GoodServiceFilter\n description: A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n specifying a `TimeSeries` quantifying good service\n provided. Must have `ValueType = DOUBLE` or `ValueType\n = INT64` and must have `MetricKind = DELTA` or `MetricKind\n = CUMULATIVE`.\n totalServiceFilter:\n type: string\n x-dcl-go-name: TotalServiceFilter\n description: A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n specifying a `TimeSeries` quantifying total demanded\n service. Must have `ValueType = DOUBLE` or `ValueType\n = INT64` and must have `MetricKind = DELTA` or `MetricKind\n = CUMULATIVE`.\n threshold:\n type: number\n format: double\n x-dcl-go-name: Threshold\n description: If window `performance >= threshold`, the window\n is counted as good.\n metricMeanInRange:\n type: object\n x-dcl-go-name: MetricMeanInRange\n x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRange\n description: A window is good if the metric's value is in a good\n range, averaged across returned streams.\n x-dcl-conflicts:\n - goodBadMetricFilter\n - goodTotalRatioThreshold\n - metricSumInRange\n properties:\n range:\n type: object\n x-dcl-go-name: Range\n x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricMeanInRangeRange\n description: Range of values considered \"good.\" For a one-sided\n range, set one bound to an infinite value.\n properties:\n max:\n type: number\n format: double\n x-dcl-go-name: Max\n description: Range maximum.\n min:\n type: number\n format: double\n x-dcl-go-name: Min\n description: Range minimum.\n timeSeries:\n type: string\n x-dcl-go-name: TimeSeries\n description: A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n specifying the `TimeSeries` to use for evaluating window quality.\n metricSumInRange:\n type: object\n x-dcl-go-name: MetricSumInRange\n x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRange\n description: A window is good if the metric's value is in a good\n range, summed across returned streams.\n x-dcl-conflicts:\n - goodBadMetricFilter\n - goodTotalRatioThreshold\n - metricMeanInRange\n properties:\n range:\n type: object\n x-dcl-go-name: Range\n x-dcl-go-type: ServiceLevelObjectiveServiceLevelIndicatorWindowsBasedMetricSumInRangeRange\n description: Range of values considered \"good.\" For a one-sided\n range, set one bound to an infinite value.\n properties:\n max:\n type: number\n format: double\n x-dcl-go-name: Max\n description: Range maximum.\n min:\n type: number\n format: double\n x-dcl-go-name: Min\n description: Range minimum.\n timeSeries:\n type: string\n x-dcl-go-name: TimeSeries\n description: A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n specifying the `TimeSeries` to use for evaluating window quality.\n windowPeriod:\n type: string\n x-dcl-go-name: WindowPeriod\n description: Duration over which window quality is evaluated. Must\n be an integer fraction of a day and at least `60s`.\n serviceManagementOwned:\n type: boolean\n x-dcl-go-name: ServiceManagementOwned\n readOnly: true\n description: Output only. If set, this SLO is managed at the [Service Management](https://cloud.google.com/service-management/overview)\n level. Therefore the service yaml file is the source of truth for this\n SLO, and API `Update` and `Delete` operations are forbidden.\n x-kubernetes-immutable: true\n userLabels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: UserLabels\n description: Labels which have been used to annotate the service-level objective.\n Label keys must start with a letter. Label keys and values may contain\n lowercase letters, numbers, underscores, and dashes. Label keys and values\n have a maximum length of 63 characters, and must be less than 128 bytes\n in size. Up to 64 label entries may be stored. For labels which do not\n have a semantic value, the empty string may be supplied for the label\n value.\n")
-
-// 35986 bytes
-// MD5: 5b8759abf4bffde4575272089d73685b
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/service_schema.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/service_schema.go
deleted file mode 100644
index 8134ac4b88..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/service_schema.go
+++ /dev/null
@@ -1,149 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 monitoring
-
-import (
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-func DCLServiceSchema() *dcl.Schema {
- return &dcl.Schema{
- Info: &dcl.Info{
- Title: "Monitoring/Service",
- Description: "The Monitoring Service resource",
- StructName: "Service",
- },
- Paths: &dcl.Paths{
- Get: &dcl.Path{
- Description: "The function used to get information about a Service",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "service",
- Required: true,
- Description: "A full instance of a Service",
- },
- },
- },
- Apply: &dcl.Path{
- Description: "The function used to apply information about a Service",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "service",
- Required: true,
- Description: "A full instance of a Service",
- },
- },
- },
- Delete: &dcl.Path{
- Description: "The function used to delete a Service",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "service",
- Required: true,
- Description: "A full instance of a Service",
- },
- },
- },
- DeleteAll: &dcl.Path{
- Description: "The function used to delete all Service",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "project",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- },
- },
- List: &dcl.Path{
- Description: "The function used to list information about many Service",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "project",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- },
- },
- },
- Components: &dcl.Components{
- Schemas: map[string]*dcl.Component{
- "Service": &dcl.Component{
- Title: "Service",
- ID: "projects/{{project}}/services/{{name}}",
- ParentContainer: "project",
- LabelsField: "userLabels",
- HasCreate: true,
- SchemaProperty: dcl.Property{
- Type: "object",
- Required: []string{
- "name",
- "project",
- },
- Properties: map[string]*dcl.Property{
- "displayName": &dcl.Property{
- Type: "string",
- GoName: "DisplayName",
- Description: "Name used for UI elements listing this Service.",
- },
- "name": &dcl.Property{
- Type: "string",
- GoName: "Name",
- Description: "Resource name for this Service. The format is: projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]",
- Immutable: true,
- },
- "project": &dcl.Property{
- Type: "string",
- GoName: "Project",
- Description: "The project for the resource",
- Immutable: true,
- ResourceReferences: []*dcl.PropertyResourceReference{
- &dcl.PropertyResourceReference{
- Resource: "Cloudresourcemanager/Project",
- Field: "name",
- Parent: true,
- },
- },
- },
- "telemetry": &dcl.Property{
- Type: "object",
- GoName: "Telemetry",
- GoType: "ServiceTelemetry",
- Description: "Configuration for how to query telemetry on a Service.",
- Properties: map[string]*dcl.Property{
- "resourceName": &dcl.Property{
- Type: "string",
- GoName: "ResourceName",
- Description: "The full name of the resource that defines this service. Formatted as described in https://cloud.google.com/apis/design/resource_names.",
- },
- },
- },
- "userLabels": &dcl.Property{
- Type: "object",
- AdditionalProperties: &dcl.Property{
- Type: "string",
- },
- GoName: "UserLabels",
- Description: "Labels which have been used to annotate the service. Label keys must start with a letter. Label keys and values may contain lowercase letters, numbers, underscores, and dashes. Label keys and values have a maximum length of 63 characters, and must be less than 128 bytes in size. Up to 64 label entries may be stored. For labels which do not have a semantic value, the empty string may be supplied for the label value.",
- },
- },
- },
- },
- },
- },
- }
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/service_yaml_embed.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/service_yaml_embed.go
deleted file mode 100644
index 4049fe9e4f..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/service_yaml_embed.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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.
-// GENERATED BY gen_go_data.go
-// gen_go_data -package monitoring -var YAML_service blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/monitoring/service.yaml
-
-package monitoring
-
-// blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/monitoring/service.yaml
-var YAML_service = []byte("info:\n title: Monitoring/Service\n description: The Monitoring Service resource\n x-dcl-struct-name: Service\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a Service\n parameters:\n - name: service\n required: true\n description: A full instance of a Service\n apply:\n description: The function used to apply information about a Service\n parameters:\n - name: service\n required: true\n description: A full instance of a Service\n delete:\n description: The function used to delete a Service\n parameters:\n - name: service\n required: true\n description: A full instance of a Service\n deleteAll:\n description: The function used to delete all Service\n parameters:\n - name: project\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many Service\n parameters:\n - name: project\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n Service:\n title: Service\n x-dcl-id: projects/{{project}}/services/{{name}}\n x-dcl-parent-container: project\n x-dcl-labels: userLabels\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - project\n properties:\n displayName:\n type: string\n x-dcl-go-name: DisplayName\n description: Name used for UI elements listing this Service.\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Resource name for this Service. The format is: projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]'\n x-kubernetes-immutable: true\n project:\n type: string\n x-dcl-go-name: Project\n description: The project for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n telemetry:\n type: object\n x-dcl-go-name: Telemetry\n x-dcl-go-type: ServiceTelemetry\n description: Configuration for how to query telemetry on a Service.\n properties:\n resourceName:\n type: string\n x-dcl-go-name: ResourceName\n description: The full name of the resource that defines this service.\n Formatted as described in https://cloud.google.com/apis/design/resource_names.\n userLabels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: UserLabels\n description: Labels which have been used to annotate the service. Label\n keys must start with a letter. Label keys and values may contain lowercase\n letters, numbers, underscores, and dashes. Label keys and values have\n a maximum length of 63 characters, and must be less than 128 bytes in\n size. Up to 64 label entries may be stored. For labels which do not have\n a semantic value, the empty string may be supplied for the label value.\n")
-
-// 3227 bytes
-// MD5: 53c127549fe3c40be3319b17193e3d5c
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/uptime_check_config.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/uptime_check_config.go
deleted file mode 100644
index d01d9e112f..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/uptime_check_config.go
+++ /dev/null
@@ -1,807 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 monitoring
-
-import (
- "context"
- "crypto/sha256"
- "encoding/json"
- "fmt"
- "time"
-
- "google.golang.org/api/googleapi"
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-type UptimeCheckConfig struct {
- Name *string `json:"name"`
- DisplayName *string `json:"displayName"`
- MonitoredResource *UptimeCheckConfigMonitoredResource `json:"monitoredResource"`
- ResourceGroup *UptimeCheckConfigResourceGroup `json:"resourceGroup"`
- HttpCheck *UptimeCheckConfigHttpCheck `json:"httpCheck"`
- TcpCheck *UptimeCheckConfigTcpCheck `json:"tcpCheck"`
- Period *string `json:"period"`
- Timeout *string `json:"timeout"`
- ContentMatchers []UptimeCheckConfigContentMatchers `json:"contentMatchers"`
- SelectedRegions []string `json:"selectedRegions"`
- Project *string `json:"project"`
-}
-
-func (r *UptimeCheckConfig) String() string {
- return dcl.SprintResource(r)
-}
-
-// The enum UptimeCheckConfigResourceGroupResourceTypeEnum.
-type UptimeCheckConfigResourceGroupResourceTypeEnum string
-
-// UptimeCheckConfigResourceGroupResourceTypeEnumRef returns a *UptimeCheckConfigResourceGroupResourceTypeEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func UptimeCheckConfigResourceGroupResourceTypeEnumRef(s string) *UptimeCheckConfigResourceGroupResourceTypeEnum {
- v := UptimeCheckConfigResourceGroupResourceTypeEnum(s)
- return &v
-}
-
-func (v UptimeCheckConfigResourceGroupResourceTypeEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"RESOURCE_TYPE_UNSPECIFIED", "INSTANCE", "AWS_ELB_LOAD_BALANCER"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "UptimeCheckConfigResourceGroupResourceTypeEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum UptimeCheckConfigHttpCheckRequestMethodEnum.
-type UptimeCheckConfigHttpCheckRequestMethodEnum string
-
-// UptimeCheckConfigHttpCheckRequestMethodEnumRef returns a *UptimeCheckConfigHttpCheckRequestMethodEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func UptimeCheckConfigHttpCheckRequestMethodEnumRef(s string) *UptimeCheckConfigHttpCheckRequestMethodEnum {
- v := UptimeCheckConfigHttpCheckRequestMethodEnum(s)
- return &v
-}
-
-func (v UptimeCheckConfigHttpCheckRequestMethodEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"METHOD_UNSPECIFIED", "GET", "POST"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "UptimeCheckConfigHttpCheckRequestMethodEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum UptimeCheckConfigHttpCheckContentTypeEnum.
-type UptimeCheckConfigHttpCheckContentTypeEnum string
-
-// UptimeCheckConfigHttpCheckContentTypeEnumRef returns a *UptimeCheckConfigHttpCheckContentTypeEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func UptimeCheckConfigHttpCheckContentTypeEnumRef(s string) *UptimeCheckConfigHttpCheckContentTypeEnum {
- v := UptimeCheckConfigHttpCheckContentTypeEnum(s)
- return &v
-}
-
-func (v UptimeCheckConfigHttpCheckContentTypeEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"TYPE_UNSPECIFIED", "URL_ENCODED"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "UptimeCheckConfigHttpCheckContentTypeEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum UptimeCheckConfigContentMatchersMatcherEnum.
-type UptimeCheckConfigContentMatchersMatcherEnum string
-
-// UptimeCheckConfigContentMatchersMatcherEnumRef returns a *UptimeCheckConfigContentMatchersMatcherEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func UptimeCheckConfigContentMatchersMatcherEnumRef(s string) *UptimeCheckConfigContentMatchersMatcherEnum {
- v := UptimeCheckConfigContentMatchersMatcherEnum(s)
- return &v
-}
-
-func (v UptimeCheckConfigContentMatchersMatcherEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"CONTENT_MATCHER_OPTION_UNSPECIFIED", "CONTAINS_STRING", "NOT_CONTAINS_STRING", "MATCHES_REGEX", "NOT_MATCHES_REGEX"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "UptimeCheckConfigContentMatchersMatcherEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-type UptimeCheckConfigMonitoredResource struct {
- empty bool `json:"-"`
- Type *string `json:"type"`
- FilterLabels map[string]string `json:"filterLabels"`
-}
-
-type jsonUptimeCheckConfigMonitoredResource UptimeCheckConfigMonitoredResource
-
-func (r *UptimeCheckConfigMonitoredResource) UnmarshalJSON(data []byte) error {
- var res jsonUptimeCheckConfigMonitoredResource
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyUptimeCheckConfigMonitoredResource
- } else {
-
- r.Type = res.Type
-
- r.FilterLabels = res.FilterLabels
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this UptimeCheckConfigMonitoredResource is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyUptimeCheckConfigMonitoredResource *UptimeCheckConfigMonitoredResource = &UptimeCheckConfigMonitoredResource{empty: true}
-
-func (r *UptimeCheckConfigMonitoredResource) Empty() bool {
- return r.empty
-}
-
-func (r *UptimeCheckConfigMonitoredResource) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *UptimeCheckConfigMonitoredResource) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type UptimeCheckConfigResourceGroup struct {
- empty bool `json:"-"`
- GroupId *string `json:"groupId"`
- ResourceType *UptimeCheckConfigResourceGroupResourceTypeEnum `json:"resourceType"`
-}
-
-type jsonUptimeCheckConfigResourceGroup UptimeCheckConfigResourceGroup
-
-func (r *UptimeCheckConfigResourceGroup) UnmarshalJSON(data []byte) error {
- var res jsonUptimeCheckConfigResourceGroup
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyUptimeCheckConfigResourceGroup
- } else {
-
- r.GroupId = res.GroupId
-
- r.ResourceType = res.ResourceType
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this UptimeCheckConfigResourceGroup is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyUptimeCheckConfigResourceGroup *UptimeCheckConfigResourceGroup = &UptimeCheckConfigResourceGroup{empty: true}
-
-func (r *UptimeCheckConfigResourceGroup) Empty() bool {
- return r.empty
-}
-
-func (r *UptimeCheckConfigResourceGroup) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *UptimeCheckConfigResourceGroup) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type UptimeCheckConfigHttpCheck struct {
- empty bool `json:"-"`
- RequestMethod *UptimeCheckConfigHttpCheckRequestMethodEnum `json:"requestMethod"`
- UseSsl *bool `json:"useSsl"`
- Path *string `json:"path"`
- Port *int64 `json:"port"`
- AuthInfo *UptimeCheckConfigHttpCheckAuthInfo `json:"authInfo"`
- MaskHeaders *bool `json:"maskHeaders"`
- Headers map[string]string `json:"headers"`
- ContentType *UptimeCheckConfigHttpCheckContentTypeEnum `json:"contentType"`
- ValidateSsl *bool `json:"validateSsl"`
- Body *string `json:"body"`
-}
-
-type jsonUptimeCheckConfigHttpCheck UptimeCheckConfigHttpCheck
-
-func (r *UptimeCheckConfigHttpCheck) UnmarshalJSON(data []byte) error {
- var res jsonUptimeCheckConfigHttpCheck
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyUptimeCheckConfigHttpCheck
- } else {
-
- r.RequestMethod = res.RequestMethod
-
- r.UseSsl = res.UseSsl
-
- r.Path = res.Path
-
- r.Port = res.Port
-
- r.AuthInfo = res.AuthInfo
-
- r.MaskHeaders = res.MaskHeaders
-
- r.Headers = res.Headers
-
- r.ContentType = res.ContentType
-
- r.ValidateSsl = res.ValidateSsl
-
- r.Body = res.Body
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this UptimeCheckConfigHttpCheck is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyUptimeCheckConfigHttpCheck *UptimeCheckConfigHttpCheck = &UptimeCheckConfigHttpCheck{empty: true}
-
-func (r *UptimeCheckConfigHttpCheck) Empty() bool {
- return r.empty
-}
-
-func (r *UptimeCheckConfigHttpCheck) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *UptimeCheckConfigHttpCheck) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type UptimeCheckConfigHttpCheckAuthInfo struct {
- empty bool `json:"-"`
- Username *string `json:"username"`
- Password *string `json:"password"`
-}
-
-type jsonUptimeCheckConfigHttpCheckAuthInfo UptimeCheckConfigHttpCheckAuthInfo
-
-func (r *UptimeCheckConfigHttpCheckAuthInfo) UnmarshalJSON(data []byte) error {
- var res jsonUptimeCheckConfigHttpCheckAuthInfo
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyUptimeCheckConfigHttpCheckAuthInfo
- } else {
-
- r.Username = res.Username
-
- r.Password = res.Password
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this UptimeCheckConfigHttpCheckAuthInfo is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyUptimeCheckConfigHttpCheckAuthInfo *UptimeCheckConfigHttpCheckAuthInfo = &UptimeCheckConfigHttpCheckAuthInfo{empty: true}
-
-func (r *UptimeCheckConfigHttpCheckAuthInfo) Empty() bool {
- return r.empty
-}
-
-func (r *UptimeCheckConfigHttpCheckAuthInfo) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *UptimeCheckConfigHttpCheckAuthInfo) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type UptimeCheckConfigTcpCheck struct {
- empty bool `json:"-"`
- Port *int64 `json:"port"`
-}
-
-type jsonUptimeCheckConfigTcpCheck UptimeCheckConfigTcpCheck
-
-func (r *UptimeCheckConfigTcpCheck) UnmarshalJSON(data []byte) error {
- var res jsonUptimeCheckConfigTcpCheck
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyUptimeCheckConfigTcpCheck
- } else {
-
- r.Port = res.Port
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this UptimeCheckConfigTcpCheck is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyUptimeCheckConfigTcpCheck *UptimeCheckConfigTcpCheck = &UptimeCheckConfigTcpCheck{empty: true}
-
-func (r *UptimeCheckConfigTcpCheck) Empty() bool {
- return r.empty
-}
-
-func (r *UptimeCheckConfigTcpCheck) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *UptimeCheckConfigTcpCheck) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type UptimeCheckConfigContentMatchers struct {
- empty bool `json:"-"`
- Content *string `json:"content"`
- Matcher *UptimeCheckConfigContentMatchersMatcherEnum `json:"matcher"`
-}
-
-type jsonUptimeCheckConfigContentMatchers UptimeCheckConfigContentMatchers
-
-func (r *UptimeCheckConfigContentMatchers) UnmarshalJSON(data []byte) error {
- var res jsonUptimeCheckConfigContentMatchers
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyUptimeCheckConfigContentMatchers
- } else {
-
- r.Content = res.Content
-
- r.Matcher = res.Matcher
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this UptimeCheckConfigContentMatchers is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyUptimeCheckConfigContentMatchers *UptimeCheckConfigContentMatchers = &UptimeCheckConfigContentMatchers{empty: true}
-
-func (r *UptimeCheckConfigContentMatchers) Empty() bool {
- return r.empty
-}
-
-func (r *UptimeCheckConfigContentMatchers) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *UptimeCheckConfigContentMatchers) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-// Describe returns a simple description of this resource to ensure that automated tools
-// can identify it.
-func (r *UptimeCheckConfig) Describe() dcl.ServiceTypeVersion {
- return dcl.ServiceTypeVersion{
- Service: "monitoring",
- Type: "UptimeCheckConfig",
- Version: "monitoring",
- }
-}
-
-func (r *UptimeCheckConfig) ID() (string, error) {
- if err := extractUptimeCheckConfigFields(r); err != nil {
- return "", err
- }
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "name": dcl.ValueOrEmptyString(nr.Name),
- "display_name": dcl.ValueOrEmptyString(nr.DisplayName),
- "monitored_resource": dcl.ValueOrEmptyString(nr.MonitoredResource),
- "resource_group": dcl.ValueOrEmptyString(nr.ResourceGroup),
- "http_check": dcl.ValueOrEmptyString(nr.HttpCheck),
- "tcp_check": dcl.ValueOrEmptyString(nr.TcpCheck),
- "period": dcl.ValueOrEmptyString(nr.Period),
- "timeout": dcl.ValueOrEmptyString(nr.Timeout),
- "content_matchers": dcl.ValueOrEmptyString(nr.ContentMatchers),
- "selected_regions": dcl.ValueOrEmptyString(nr.SelectedRegions),
- "project": dcl.ValueOrEmptyString(nr.Project),
- }
- return dcl.Nprintf("projects/{{project}}/uptimeCheckConfigs/{{name}}", params), nil
-}
-
-const UptimeCheckConfigMaxPage = -1
-
-type UptimeCheckConfigList struct {
- Items []*UptimeCheckConfig
-
- nextToken string
-
- pageSize int32
-
- resource *UptimeCheckConfig
-}
-
-func (l *UptimeCheckConfigList) HasNext() bool {
- return l.nextToken != ""
-}
-
-func (l *UptimeCheckConfigList) Next(ctx context.Context, c *Client) error {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- if !l.HasNext() {
- return fmt.Errorf("no next page")
- }
- items, token, err := c.listUptimeCheckConfig(ctx, l.resource, l.nextToken, l.pageSize)
- if err != nil {
- return err
- }
- l.Items = items
- l.nextToken = token
- return err
-}
-
-func (c *Client) ListUptimeCheckConfig(ctx context.Context, project string) (*UptimeCheckConfigList, error) {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- return c.ListUptimeCheckConfigWithMaxResults(ctx, project, UptimeCheckConfigMaxPage)
-
-}
-
-func (c *Client) ListUptimeCheckConfigWithMaxResults(ctx context.Context, project string, pageSize int32) (*UptimeCheckConfigList, error) {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- // Create a resource object so that we can use proper url normalization methods.
- r := &UptimeCheckConfig{
- Project: &project,
- }
- items, token, err := c.listUptimeCheckConfig(ctx, r, "", pageSize)
- if err != nil {
- return nil, err
- }
- return &UptimeCheckConfigList{
- Items: items,
- nextToken: token,
- pageSize: pageSize,
- resource: r,
- }, nil
-}
-
-func (c *Client) GetUptimeCheckConfig(ctx context.Context, r *UptimeCheckConfig) (*UptimeCheckConfig, error) {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- // This is *purposefully* supressing errors.
- // This function is used with url-normalized values + not URL normalized values.
- // URL Normalized values will throw unintentional errors, since those values are not of the proper parent form.
- extractUptimeCheckConfigFields(r)
-
- b, err := c.getUptimeCheckConfigRaw(ctx, r)
- if err != nil {
- if dcl.IsNotFound(err) {
- return nil, &googleapi.Error{
- Code: 404,
- Message: err.Error(),
- }
- }
- return nil, err
- }
- result, err := unmarshalUptimeCheckConfig(b, c, r)
- if err != nil {
- return nil, err
- }
- result.Project = r.Project
- result.Name = r.Name
- if dcl.IsZeroValue(result.Period) {
- result.Period = dcl.String("60s")
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Retrieved raw result state: %v", result)
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalizing with specified state: %v", r)
- result, err = canonicalizeUptimeCheckConfigNewState(c, result, r)
- if err != nil {
- return nil, err
- }
- if err := postReadExtractUptimeCheckConfigFields(result); err != nil {
- return result, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Created result state: %v", result)
-
- return result, nil
-}
-
-func (c *Client) DeleteUptimeCheckConfig(ctx context.Context, r *UptimeCheckConfig) error {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- if r == nil {
- return fmt.Errorf("UptimeCheckConfig resource is nil")
- }
- c.Config.Logger.InfoWithContext(ctx, "Deleting UptimeCheckConfig...")
- deleteOp := deleteUptimeCheckConfigOperation{}
- return deleteOp.do(ctx, r, c)
-}
-
-// DeleteAllUptimeCheckConfig deletes all resources that the filter functions returns true on.
-func (c *Client) DeleteAllUptimeCheckConfig(ctx context.Context, project string, filter func(*UptimeCheckConfig) bool) error {
- listObj, err := c.ListUptimeCheckConfig(ctx, project)
- if err != nil {
- return err
- }
-
- err = c.deleteAllUptimeCheckConfig(ctx, filter, listObj.Items)
- if err != nil {
- return err
- }
- for listObj.HasNext() {
- err = listObj.Next(ctx, c)
- if err != nil {
- return nil
- }
- err = c.deleteAllUptimeCheckConfig(ctx, filter, listObj.Items)
- if err != nil {
- return err
- }
- }
- return nil
-}
-
-func (c *Client) ApplyUptimeCheckConfig(ctx context.Context, rawDesired *UptimeCheckConfig, opts ...dcl.ApplyOption) (*UptimeCheckConfig, error) {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- ctx = dcl.ContextWithRequestID(ctx)
- var resultNewState *UptimeCheckConfig
- err := dcl.Do(ctx, func(ctx context.Context) (*dcl.RetryDetails, error) {
- newState, err := applyUptimeCheckConfigHelper(c, ctx, rawDesired, opts...)
- resultNewState = newState
- if err != nil {
- // If the error is 409, there is conflict in resource update.
- // Here we want to apply changes based on latest state.
- if dcl.IsConflictError(err) {
- return &dcl.RetryDetails{}, dcl.OperationNotDone{Err: err}
- }
- return nil, err
- }
- return nil, nil
- }, c.Config.RetryProvider)
- return resultNewState, err
-}
-
-func applyUptimeCheckConfigHelper(c *Client, ctx context.Context, rawDesired *UptimeCheckConfig, opts ...dcl.ApplyOption) (*UptimeCheckConfig, error) {
- c.Config.Logger.InfoWithContext(ctx, "Beginning ApplyUptimeCheckConfig...")
- c.Config.Logger.InfoWithContextf(ctx, "User specified desired state: %v", rawDesired)
-
- // 1.1: Validation of user-specified fields in desired state.
- if err := rawDesired.validate(); err != nil {
- return nil, err
- }
-
- if err := extractUptimeCheckConfigFields(rawDesired); err != nil {
- return nil, err
- }
-
- initial, desired, fieldDiffs, err := c.uptimeCheckConfigDiffsForRawDesired(ctx, rawDesired, opts...)
- if err != nil {
- return nil, fmt.Errorf("failed to create a diff: %w", err)
- }
-
- diffs, err := convertFieldDiffsToUptimeCheckConfigDiffs(c.Config, fieldDiffs, opts)
- if err != nil {
- return nil, err
- }
-
- // TODO(magic-modules-eng): 2.2 Feasibility check (all updates are feasible so far).
-
- // 2.3: Lifecycle Directive Check
- var create bool
- lp := dcl.FetchLifecycleParams(opts)
- if initial == nil {
- if dcl.HasLifecycleParam(lp, dcl.BlockCreation) {
- return nil, dcl.ApplyInfeasibleError{Message: fmt.Sprintf("Creation blocked by lifecycle params: %#v.", desired)}
- }
- create = true
- } else if dcl.HasLifecycleParam(lp, dcl.BlockAcquire) {
- return nil, dcl.ApplyInfeasibleError{
- Message: fmt.Sprintf("Resource already exists - apply blocked by lifecycle params: %#v.", initial),
- }
- } else {
- for _, d := range diffs {
- if d.RequiresRecreate {
- return nil, dcl.ApplyInfeasibleError{
- Message: fmt.Sprintf("infeasible update: (%v) would require recreation", d),
- }
- }
- if dcl.HasLifecycleParam(lp, dcl.BlockModification) {
- return nil, dcl.ApplyInfeasibleError{Message: fmt.Sprintf("Modification blocked, diff (%v) unresolvable.", d)}
- }
- }
- }
-
- // 2.4 Imperative Request Planning
- var ops []uptimeCheckConfigApiOperation
- if create {
- ops = append(ops, &createUptimeCheckConfigOperation{})
- } else {
- for _, d := range diffs {
- ops = append(ops, d.UpdateOp)
- }
- }
- c.Config.Logger.InfoWithContextf(ctx, "Created plan: %#v", ops)
-
- // 2.5 Request Actuation
- for _, op := range ops {
- c.Config.Logger.InfoWithContextf(ctx, "Performing operation %T %+v", op, op)
- if err := op.do(ctx, desired, c); err != nil {
- c.Config.Logger.InfoWithContextf(ctx, "Failed operation %T %+v: %v", op, op, err)
- return nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Finished operation %T %+v", op, op)
- }
- return applyUptimeCheckConfigDiff(c, ctx, desired, rawDesired, ops, opts...)
-}
-
-func applyUptimeCheckConfigDiff(c *Client, ctx context.Context, desired *UptimeCheckConfig, rawDesired *UptimeCheckConfig, ops []uptimeCheckConfigApiOperation, opts ...dcl.ApplyOption) (*UptimeCheckConfig, error) {
- // 3.1, 3.2a Retrieval of raw new state & canonicalization with desired state
- c.Config.Logger.InfoWithContext(ctx, "Retrieving raw new state...")
- rawNew, err := c.GetUptimeCheckConfig(ctx, desired)
- if err != nil {
- return nil, err
- }
- // Get additional values from the first response.
- // These values should be merged into the newState above.
- if len(ops) > 0 {
- lastOp := ops[len(ops)-1]
- if o, ok := lastOp.(*createUptimeCheckConfigOperation); ok {
- if r, hasR := o.FirstResponse(); hasR {
-
- c.Config.Logger.InfoWithContext(ctx, "Retrieving raw new state from operation...")
-
- fullResp, err := unmarshalMapUptimeCheckConfig(r, c, rawDesired)
- if err != nil {
- return nil, err
- }
-
- rawNew, err = canonicalizeUptimeCheckConfigNewState(c, rawNew, fullResp)
- if err != nil {
- return nil, err
- }
- }
- }
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalizing with raw desired state: %v", rawDesired)
- // 3.2b Canonicalization of raw new state using raw desired state
- newState, err := canonicalizeUptimeCheckConfigNewState(c, rawNew, rawDesired)
- if err != nil {
- return rawNew, err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Created canonical new state: %v", newState)
- // 3.3 Comparison of the new state and raw desired state.
- // TODO(magic-modules-eng): EVENTUALLY_CONSISTENT_UPDATE
- newDesired, err := canonicalizeUptimeCheckConfigDesiredState(rawDesired, newState)
- if err != nil {
- return newState, err
- }
-
- if err := postReadExtractUptimeCheckConfigFields(newState); err != nil {
- return newState, err
- }
-
- // Need to ensure any transformations made here match acceptably in differ.
- if err := postReadExtractUptimeCheckConfigFields(newDesired); err != nil {
- return newState, err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Diffing using canonicalized desired state: %v", newDesired)
- newDiffs, err := diffUptimeCheckConfig(c, newDesired, newState)
- if err != nil {
- return newState, err
- }
-
- if len(newDiffs) == 0 {
- c.Config.Logger.InfoWithContext(ctx, "No diffs found. Apply was successful.")
- } else {
- c.Config.Logger.InfoWithContextf(ctx, "Found diffs: %v", newDiffs)
- diffMessages := make([]string, len(newDiffs))
- for i, d := range newDiffs {
- diffMessages[i] = fmt.Sprintf("%v", d)
- }
- return newState, dcl.DiffAfterApplyError{Diffs: diffMessages}
- }
- c.Config.Logger.InfoWithContext(ctx, "Done Apply.")
- return newState, nil
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/uptime_check_config.yaml b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/uptime_check_config.yaml
deleted file mode 100644
index 5bcc3b41db..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/uptime_check_config.yaml
+++ /dev/null
@@ -1,332 +0,0 @@
-# Copyright 2023 Google LLC. All Rights Reserved.
-#
-# 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.
-info:
- title: Monitoring/UptimeCheckConfig
- description: The Monitoring UptimeCheckConfig resource
- x-dcl-struct-name: UptimeCheckConfig
- x-dcl-has-iam: false
-paths:
- get:
- description: The function used to get information about a UptimeCheckConfig
- parameters:
- - name: uptimeCheckConfig
- required: true
- description: A full instance of a UptimeCheckConfig
- apply:
- description: The function used to apply information about a UptimeCheckConfig
- parameters:
- - name: uptimeCheckConfig
- required: true
- description: A full instance of a UptimeCheckConfig
- delete:
- description: The function used to delete a UptimeCheckConfig
- parameters:
- - name: uptimeCheckConfig
- required: true
- description: A full instance of a UptimeCheckConfig
- deleteAll:
- description: The function used to delete all UptimeCheckConfig
- parameters:
- - name: project
- required: true
- schema:
- type: string
- list:
- description: The function used to list information about many UptimeCheckConfig
- parameters:
- - name: project
- required: true
- schema:
- type: string
-components:
- schemas:
- UptimeCheckConfig:
- title: UptimeCheckConfig
- x-dcl-id: projects/{{project}}/uptimeCheckConfigs/{{name}}
- x-dcl-uses-state-hint: true
- x-dcl-parent-container: project
- x-dcl-has-create: true
- x-dcl-has-iam: false
- x-dcl-read-timeout: 0
- x-dcl-apply-timeout: 0
- x-dcl-delete-timeout: 0
- type: object
- required:
- - displayName
- - timeout
- properties:
- contentMatchers:
- type: array
- x-dcl-go-name: ContentMatchers
- description: The content that is expected to appear in the data returned
- by the target server against which the check is run. Currently, only
- the first entry in the `content_matchers` list is supported, and additional
- entries will be ignored. This field is optional and should only be specified
- if a content match is required as part of the/ Uptime check.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: object
- x-dcl-go-type: UptimeCheckConfigContentMatchers
- required:
- - content
- properties:
- content:
- type: string
- x-dcl-go-name: Content
- matcher:
- type: string
- x-dcl-go-name: Matcher
- x-dcl-go-type: UptimeCheckConfigContentMatchersMatcherEnum
- description: ' Possible values: CONTENT_MATCHER_OPTION_UNSPECIFIED,
- CONTAINS_STRING, NOT_CONTAINS_STRING, MATCHES_REGEX, NOT_MATCHES_REGEX'
- default: CONTAINS_STRING
- enum:
- - CONTENT_MATCHER_OPTION_UNSPECIFIED
- - CONTAINS_STRING
- - NOT_CONTAINS_STRING
- - MATCHES_REGEX
- - NOT_MATCHES_REGEX
- displayName:
- type: string
- x-dcl-go-name: DisplayName
- description: A human-friendly name for the Uptime check configuration. The
- display name should be unique within a Stackdriver Workspace in order
- to make it easier to identify; however, uniqueness is not enforced. Required.
- httpCheck:
- type: object
- x-dcl-go-name: HttpCheck
- x-dcl-go-type: UptimeCheckConfigHttpCheck
- description: Contains information needed to make an HTTP or HTTPS check.
- x-dcl-conflicts:
- - tcpCheck
- properties:
- authInfo:
- type: object
- x-dcl-go-name: AuthInfo
- x-dcl-go-type: UptimeCheckConfigHttpCheckAuthInfo
- description: The authentication information. Optional when creating
- an HTTP check; defaults to empty.
- required:
- - username
- - password
- properties:
- password:
- type: string
- x-dcl-go-name: Password
- x-dcl-sensitive: true
- x-dcl-mutable-unreadable: true
- username:
- type: string
- x-dcl-go-name: Username
- body:
- type: string
- x-dcl-go-name: Body
- description: 'The request body associated with the HTTP POST request.
- If `content_type` is `URL_ENCODED`, the body passed in must be URL-encoded.
- Users can provide a `Content-Length` header via the `headers` field
- or the API will do so. If the `request_method` is `GET` and `body`
- is not empty, the API will return an error. The maximum byte size
- is 1 megabyte. Note: As with all `bytes` fields JSON representations
- are base64 encoded. e.g.: "foo=bar" in URL-encoded form is "foo%3Dbar"
- and in base64 encoding is "Zm9vJTI1M0RiYXI=".'
- contentType:
- type: string
- x-dcl-go-name: ContentType
- x-dcl-go-type: UptimeCheckConfigHttpCheckContentTypeEnum
- description: 'The content type to use for the check. Possible values:
- TYPE_UNSPECIFIED, URL_ENCODED'
- x-kubernetes-immutable: true
- enum:
- - TYPE_UNSPECIFIED
- - URL_ENCODED
- headers:
- type: object
- additionalProperties:
- type: string
- x-dcl-go-name: Headers
- description: The list of headers to send as part of the Uptime check
- request. If two headers have the same key and different values, they
- should be entered as a single header, with the value being a comma-separated
- list of all the desired values as described at https://www.w3.org/Protocols/rfc2616/rfc2616.txt
- (page 31). Entering two separate headers with the same key in a Create
- call will cause the first to be overwritten by the second. The maximum
- number of headers allowed is 100.
- x-dcl-server-default: true
- x-dcl-mutable-unreadable: true
- maskHeaders:
- type: boolean
- x-dcl-go-name: MaskHeaders
- description: Boolean specifying whether to encrypt the header information.
- Encryption should be specified for any headers related to authentication
- that you do not wish to be seen when retrieving the configuration.
- The server will be responsible for encrypting the headers. On Get/List
- calls, if `mask_headers` is set to `true` then the headers will be
- obscured with `******.`
- x-kubernetes-immutable: true
- path:
- type: string
- x-dcl-go-name: Path
- description: Optional (defaults to "/"). The path to the page against
- which to run the check. Will be combined with the `host` (specified
- within the `monitored_resource`) and `port` to construct the full
- URL. If the provided path does not begin with "/", a "/" will be prepended
- automatically.
- default: /
- port:
- type: integer
- format: int64
- x-dcl-go-name: Port
- description: Optional (defaults to 80 when `use_ssl` is `false`, and
- 443 when `use_ssl` is `true`). The TCP port on the HTTP server against
- which to run the check. Will be combined with host (specified within
- the `monitored_resource`) and `path` to construct the full URL.
- x-dcl-server-default: true
- requestMethod:
- type: string
- x-dcl-go-name: RequestMethod
- x-dcl-go-type: UptimeCheckConfigHttpCheckRequestMethodEnum
- description: The HTTP request method to use for the check. If set to
- `METHOD_UNSPECIFIED` then `request_method` defaults to `GET`.
- x-kubernetes-immutable: true
- default: GET
- enum:
- - METHOD_UNSPECIFIED
- - GET
- - POST
- useSsl:
- type: boolean
- x-dcl-go-name: UseSsl
- description: If `true`, use HTTPS instead of HTTP to run the check.
- validateSsl:
- type: boolean
- x-dcl-go-name: ValidateSsl
- description: Boolean specifying whether to include SSL certificate validation
- as a part of the Uptime check. Only applies to checks where `monitored_resource`
- is set to `uptime_url`. If `use_ssl` is `false`, setting `validate_ssl`
- to `true` has no effect.
- monitoredResource:
- type: object
- x-dcl-go-name: MonitoredResource
- x-dcl-go-type: UptimeCheckConfigMonitoredResource
- description: 'The [monitored resource](https://cloud.google.com/monitoring/api/resources)
- associated with the configuration. The following monitored resource types
- are supported for Uptime checks: `uptime_url`, `gce_instance`, `gae_app`, `aws_ec2_instance`, `aws_elb_load_balancer`'
- x-kubernetes-immutable: true
- x-dcl-conflicts:
- - resourceGroup
- required:
- - type
- - filterLabels
- properties:
- filterLabels:
- type: object
- additionalProperties:
- type: string
- x-dcl-go-name: FilterLabels
- x-kubernetes-immutable: true
- type:
- type: string
- x-dcl-go-name: Type
- x-kubernetes-immutable: true
- name:
- type: string
- x-dcl-go-name: Name
- description: 'A unique resource name for this Uptime check configuration.
- The format is: projects/[PROJECT_ID_OR_NUMBER]/uptimeCheckConfigs/[UPTIME_CHECK_ID]
- This field should be omitted when creating the Uptime check configuration;
- on create, the resource name is assigned by the server and included in
- the response.'
- x-kubernetes-immutable: true
- x-dcl-server-generated-parameter: true
- period:
- type: string
- x-dcl-go-name: Period
- description: How often, in seconds, the Uptime check is performed. Currently,
- the only supported values are `60s` (1 minute), `300s` (5 minutes), `600s`
- (10 minutes), and `900s` (15 minutes). Optional, defaults to `60s`.
- default: 60s
- project:
- type: string
- x-dcl-go-name: Project
- description: The project for this uptime check config.
- x-kubernetes-immutable: true
- x-dcl-references:
- - resource: Cloudresourcemanager/Project
- field: name
- parent: true
- resourceGroup:
- type: object
- x-dcl-go-name: ResourceGroup
- x-dcl-go-type: UptimeCheckConfigResourceGroup
- description: The group resource associated with the configuration.
- x-kubernetes-immutable: true
- x-dcl-conflicts:
- - monitoredResource
- properties:
- groupId:
- type: string
- x-dcl-go-name: GroupId
- description: The group of resources being monitored. Should be only
- the `[GROUP_ID]`, and not the full-path `projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID]`.
- x-kubernetes-immutable: true
- x-dcl-references:
- - resource: Monitoring/Group
- field: name
- resourceType:
- type: string
- x-dcl-go-name: ResourceType
- x-dcl-go-type: UptimeCheckConfigResourceGroupResourceTypeEnum
- description: 'The resource type of the group members. Possible values:
- RESOURCE_TYPE_UNSPECIFIED, INSTANCE, AWS_ELB_LOAD_BALANCER'
- x-kubernetes-immutable: true
- enum:
- - RESOURCE_TYPE_UNSPECIFIED
- - INSTANCE
- - AWS_ELB_LOAD_BALANCER
- selectedRegions:
- type: array
- x-dcl-go-name: SelectedRegions
- description: The list of regions from which the check will be run. Some
- regions contain one location, and others contain more than one. If this
- field is specified, enough regions must be provided to include a minimum
- of 3 locations. Not specifying this field will result in Uptime checks
- running from all available regions.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- tcpCheck:
- type: object
- x-dcl-go-name: TcpCheck
- x-dcl-go-type: UptimeCheckConfigTcpCheck
- description: Contains information needed to make a TCP check.
- x-dcl-conflicts:
- - httpCheck
- required:
- - port
- properties:
- port:
- type: integer
- format: int64
- x-dcl-go-name: Port
- description: The TCP port on the server against which to run the check.
- Will be combined with host (specified within the `monitored_resource`)
- to construct the full URL. Required.
- timeout:
- type: string
- x-dcl-go-name: Timeout
- description: The maximum amount of time to wait for the request to complete
- (must be between 1 and 60 seconds). Required.
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/uptime_check_config_internal.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/uptime_check_config_internal.go
deleted file mode 100644
index 1f7dcf942f..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/uptime_check_config_internal.go
+++ /dev/null
@@ -1,3200 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 monitoring
-
-import (
- "bytes"
- "context"
- "encoding/json"
- "fmt"
- "io/ioutil"
- "strings"
-
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-func (r *UptimeCheckConfig) validate() error {
-
- if err := dcl.ValidateExactlyOneOfFieldsSet([]string{"MonitoredResource", "ResourceGroup"}, r.MonitoredResource, r.ResourceGroup); err != nil {
- return err
- }
- if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"HttpCheck", "TcpCheck"}, r.HttpCheck, r.TcpCheck); err != nil {
- return err
- }
- if err := dcl.Required(r, "displayName"); err != nil {
- return err
- }
- if err := dcl.Required(r, "timeout"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.MonitoredResource) {
- if err := r.MonitoredResource.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.ResourceGroup) {
- if err := r.ResourceGroup.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.HttpCheck) {
- if err := r.HttpCheck.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.TcpCheck) {
- if err := r.TcpCheck.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *UptimeCheckConfigMonitoredResource) validate() error {
- if err := dcl.Required(r, "type"); err != nil {
- return err
- }
- if err := dcl.Required(r, "filterLabels"); err != nil {
- return err
- }
- return nil
-}
-func (r *UptimeCheckConfigResourceGroup) validate() error {
- return nil
-}
-func (r *UptimeCheckConfigHttpCheck) validate() error {
- if !dcl.IsEmptyValueIndirect(r.AuthInfo) {
- if err := r.AuthInfo.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *UptimeCheckConfigHttpCheckAuthInfo) validate() error {
- if err := dcl.Required(r, "username"); err != nil {
- return err
- }
- if err := dcl.Required(r, "password"); err != nil {
- return err
- }
- return nil
-}
-func (r *UptimeCheckConfigTcpCheck) validate() error {
- if err := dcl.Required(r, "port"); err != nil {
- return err
- }
- return nil
-}
-func (r *UptimeCheckConfigContentMatchers) validate() error {
- if err := dcl.Required(r, "content"); err != nil {
- return err
- }
- return nil
-}
-func (r *UptimeCheckConfig) basePath() string {
- params := map[string]interface{}{}
- return dcl.Nprintf("https://monitoring.googleapis.com/v3/", params)
-}
-
-func (r *UptimeCheckConfig) getURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("projects/{{project}}/uptimeCheckConfigs/{{name}}", nr.basePath(), userBasePath, params), nil
-}
-
-func (r *UptimeCheckConfig) listURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- }
- return dcl.URL("projects/{{project}}/uptimeCheckConfigs", nr.basePath(), userBasePath, params), nil
-
-}
-
-func (r *UptimeCheckConfig) createURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- }
- return dcl.URL("projects/{{project}}/uptimeCheckConfigs", nr.basePath(), userBasePath, params), nil
-
-}
-
-func (r *UptimeCheckConfig) deleteURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("projects/{{project}}/uptimeCheckConfigs/{{name}}", nr.basePath(), userBasePath, params), nil
-}
-
-// uptimeCheckConfigApiOperation represents a mutable operation in the underlying REST
-// API such as Create, Update, or Delete.
-type uptimeCheckConfigApiOperation interface {
- do(context.Context, *UptimeCheckConfig, *Client) error
-}
-
-// newUpdateUptimeCheckConfigUpdateUptimeCheckConfigRequest creates a request for an
-// UptimeCheckConfig resource's UpdateUptimeCheckConfig update type by filling in the update
-// fields based on the intended state of the resource.
-func newUpdateUptimeCheckConfigUpdateUptimeCheckConfigRequest(ctx context.Context, f *UptimeCheckConfig, c *Client) (map[string]interface{}, error) {
- req := map[string]interface{}{}
- res := f
- _ = res
-
- if v := f.DisplayName; !dcl.IsEmptyValueIndirect(v) {
- req["displayName"] = v
- }
- if v, err := expandUptimeCheckConfigHttpCheck(c, f.HttpCheck, res); err != nil {
- return nil, fmt.Errorf("error expanding HttpCheck into httpCheck: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- req["httpCheck"] = v
- }
- if v, err := expandUptimeCheckConfigTcpCheck(c, f.TcpCheck, res); err != nil {
- return nil, fmt.Errorf("error expanding TcpCheck into tcpCheck: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- req["tcpCheck"] = v
- }
- if v := f.Period; !dcl.IsEmptyValueIndirect(v) {
- req["period"] = v
- }
- if v := f.Timeout; !dcl.IsEmptyValueIndirect(v) {
- req["timeout"] = v
- }
- if v, err := expandUptimeCheckConfigContentMatchersSlice(c, f.ContentMatchers, res); err != nil {
- return nil, fmt.Errorf("error expanding ContentMatchers into contentMatchers: %w", err)
- } else if v != nil {
- req["contentMatchers"] = v
- }
- if v := f.SelectedRegions; v != nil {
- req["selectedRegions"] = v
- }
- req["name"] = fmt.Sprintf("projects/%s/uptimeCheckConfigs/%s", *f.Project, *f.Name)
-
- return req, nil
-}
-
-// marshalUpdateUptimeCheckConfigUpdateUptimeCheckConfigRequest converts the update into
-// the final JSON request body.
-func marshalUpdateUptimeCheckConfigUpdateUptimeCheckConfigRequest(c *Client, m map[string]interface{}) ([]byte, error) {
-
- return json.Marshal(m)
-}
-
-type updateUptimeCheckConfigUpdateUptimeCheckConfigOperation struct {
- // If the update operation has the REQUIRES_APPLY_OPTIONS trait, this will be populated.
- // Usually it will be nil - this is to prevent us from accidentally depending on apply
- // options, which should usually be unnecessary.
- ApplyOptions []dcl.ApplyOption
- FieldDiffs []*dcl.FieldDiff
-}
-
-// do creates a request and sends it to the appropriate URL. In most operations,
-// do will transcribe a subset of the resource into a request object and send a
-// PUT request to a single URL.
-
-func (op *updateUptimeCheckConfigUpdateUptimeCheckConfigOperation) do(ctx context.Context, r *UptimeCheckConfig, c *Client) error {
- _, err := c.GetUptimeCheckConfig(ctx, r)
- if err != nil {
- return err
- }
-
- u, err := r.updateURL(c.Config.BasePath, "UpdateUptimeCheckConfig")
- if err != nil {
- return err
- }
- mask := dcl.UpdateMask(op.FieldDiffs)
- u, err = dcl.AddQueryParams(u, map[string]string{"updateMask": mask})
- if err != nil {
- return err
- }
-
- req, err := newUpdateUptimeCheckConfigUpdateUptimeCheckConfigRequest(ctx, r, c)
- if err != nil {
- return err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Created update: %#v", req)
- body, err := marshalUpdateUptimeCheckConfigUpdateUptimeCheckConfigRequest(c, req)
- if err != nil {
- return err
- }
- _, err = dcl.SendRequest(ctx, c.Config, "PATCH", u, bytes.NewBuffer(body), c.Config.RetryProvider)
- if err != nil {
- return err
- }
-
- return nil
-}
-
-func (c *Client) listUptimeCheckConfigRaw(ctx context.Context, r *UptimeCheckConfig, pageToken string, pageSize int32) ([]byte, error) {
- u, err := r.urlNormalized().listURL(c.Config.BasePath)
- if err != nil {
- return nil, err
- }
-
- m := make(map[string]string)
- if pageToken != "" {
- m["pageToken"] = pageToken
- }
-
- if pageSize != UptimeCheckConfigMaxPage {
- m["pageSize"] = fmt.Sprintf("%v", pageSize)
- }
-
- u, err = dcl.AddQueryParams(u, m)
- if err != nil {
- return nil, err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
- if err != nil {
- return nil, err
- }
- defer resp.Response.Body.Close()
- return ioutil.ReadAll(resp.Response.Body)
-}
-
-type listUptimeCheckConfigOperation struct {
- UptimeCheckConfigs []map[string]interface{} `json:"uptimeCheckConfigs"`
- Token string `json:"nextPageToken"`
-}
-
-func (c *Client) listUptimeCheckConfig(ctx context.Context, r *UptimeCheckConfig, pageToken string, pageSize int32) ([]*UptimeCheckConfig, string, error) {
- b, err := c.listUptimeCheckConfigRaw(ctx, r, pageToken, pageSize)
- if err != nil {
- return nil, "", err
- }
-
- var m listUptimeCheckConfigOperation
- if err := json.Unmarshal(b, &m); err != nil {
- return nil, "", err
- }
-
- var l []*UptimeCheckConfig
- for _, v := range m.UptimeCheckConfigs {
- res, err := unmarshalMapUptimeCheckConfig(v, c, r)
- if err != nil {
- return nil, m.Token, err
- }
- res.Project = r.Project
- l = append(l, res)
- }
-
- return l, m.Token, nil
-}
-
-func (c *Client) deleteAllUptimeCheckConfig(ctx context.Context, f func(*UptimeCheckConfig) bool, resources []*UptimeCheckConfig) error {
- var errors []string
- for _, res := range resources {
- if f(res) {
- // We do not want deleteAll to fail on a deletion or else it will stop deleting other resources.
- err := c.DeleteUptimeCheckConfig(ctx, res)
- if err != nil {
- errors = append(errors, err.Error())
- }
- }
- }
- if len(errors) > 0 {
- return fmt.Errorf("%v", strings.Join(errors, "\n"))
- } else {
- return nil
- }
-}
-
-type deleteUptimeCheckConfigOperation struct{}
-
-func (op *deleteUptimeCheckConfigOperation) do(ctx context.Context, r *UptimeCheckConfig, c *Client) error {
- r, err := c.GetUptimeCheckConfig(ctx, r)
- if err != nil {
- if dcl.IsNotFound(err) {
- c.Config.Logger.InfoWithContextf(ctx, "UptimeCheckConfig not found, returning. Original error: %v", err)
- return nil
- }
- c.Config.Logger.WarningWithContextf(ctx, "GetUptimeCheckConfig checking for existence. error: %v", err)
- return err
- }
-
- u, err := r.deleteURL(c.Config.BasePath)
- if err != nil {
- return err
- }
-
- // Delete should never have a body
- body := &bytes.Buffer{}
- _, err = dcl.SendRequest(ctx, c.Config, "DELETE", u, body, c.Config.RetryProvider)
- if err != nil {
- return fmt.Errorf("failed to delete UptimeCheckConfig: %w", err)
- }
-
- // We saw a race condition where for some successful delete operation, the Get calls returned resources for a short duration.
- // This is the reason we are adding retry to handle that case.
- retriesRemaining := 10
- dcl.Do(ctx, func(ctx context.Context) (*dcl.RetryDetails, error) {
- _, err := c.GetUptimeCheckConfig(ctx, r)
- if dcl.IsNotFound(err) {
- return nil, nil
- }
- if retriesRemaining > 0 {
- retriesRemaining--
- return &dcl.RetryDetails{}, dcl.OperationNotDone{}
- }
- return nil, dcl.NotDeletedError{ExistingResource: r}
- }, c.Config.RetryProvider)
- return nil
-}
-
-// Create operations are similar to Update operations, although they do not have
-// specific request objects. The Create request object is the json encoding of
-// the resource, which is modified by res.marshal to form the base request body.
-type createUptimeCheckConfigOperation struct {
- response map[string]interface{}
-}
-
-func (op *createUptimeCheckConfigOperation) FirstResponse() (map[string]interface{}, bool) {
- return op.response, len(op.response) > 0
-}
-
-func (op *createUptimeCheckConfigOperation) do(ctx context.Context, r *UptimeCheckConfig, c *Client) error {
- c.Config.Logger.InfoWithContextf(ctx, "Attempting to create %v", r)
- u, err := r.createURL(c.Config.BasePath)
- if err != nil {
- return err
- }
-
- req, err := r.marshal(c)
- if err != nil {
- return err
- }
- if r.Name != nil {
- // Allowing creation to continue with Name set could result in a UptimeCheckConfig with the wrong Name.
- return fmt.Errorf("server-generated parameter Name was specified by user as %v, should be unspecified", dcl.ValueOrEmptyString(r.Name))
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "POST", u, bytes.NewBuffer(req), c.Config.RetryProvider)
- if err != nil {
- return err
- }
-
- o, err := dcl.ResponseBodyAsJSON(resp)
- if err != nil {
- return fmt.Errorf("error decoding response body into JSON: %w", err)
- }
- op.response = o
-
- // Include Name in URL substitution for initial GET request.
- m := op.response
- r.Name = dcl.SelfLinkToName(dcl.FlattenString(m["name"]))
-
- if _, err := c.GetUptimeCheckConfig(ctx, r); err != nil {
- c.Config.Logger.WarningWithContextf(ctx, "get returned error: %v", err)
- return err
- }
-
- return nil
-}
-
-func (c *Client) getUptimeCheckConfigRaw(ctx context.Context, r *UptimeCheckConfig) ([]byte, error) {
- if dcl.IsZeroValue(r.Period) {
- r.Period = dcl.String("60s")
- }
-
- u, err := r.getURL(c.Config.BasePath)
- if err != nil {
- return nil, err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
- if err != nil {
- return nil, err
- }
- defer resp.Response.Body.Close()
- b, err := ioutil.ReadAll(resp.Response.Body)
- if err != nil {
- return nil, err
- }
-
- return b, nil
-}
-
-func (c *Client) uptimeCheckConfigDiffsForRawDesired(ctx context.Context, rawDesired *UptimeCheckConfig, opts ...dcl.ApplyOption) (initial, desired *UptimeCheckConfig, diffs []*dcl.FieldDiff, err error) {
- c.Config.Logger.InfoWithContext(ctx, "Fetching initial state...")
- // First, let us see if the user provided a state hint. If they did, we will start fetching based on that.
- var fetchState *UptimeCheckConfig
- if sh := dcl.FetchStateHint(opts); sh != nil {
- if r, ok := sh.(*UptimeCheckConfig); !ok {
- c.Config.Logger.WarningWithContextf(ctx, "Initial state hint was of the wrong type; expected UptimeCheckConfig, got %T", sh)
- } else {
- fetchState = r
- }
- }
- if fetchState == nil {
- fetchState = rawDesired
- }
-
- if fetchState.Name == nil {
- // We cannot perform a get because of lack of information. We have to assume
- // that this is being created for the first time.
- desired, err := canonicalizeUptimeCheckConfigDesiredState(rawDesired, nil)
- return nil, desired, nil, err
- }
- // 1.2: Retrieval of raw initial state from API
- rawInitial, err := c.GetUptimeCheckConfig(ctx, fetchState)
- if rawInitial == nil {
- if !dcl.IsNotFound(err) {
- c.Config.Logger.WarningWithContextf(ctx, "Failed to retrieve whether a UptimeCheckConfig resource already exists: %s", err)
- return nil, nil, nil, fmt.Errorf("failed to retrieve UptimeCheckConfig resource: %v", err)
- }
- c.Config.Logger.InfoWithContext(ctx, "Found that UptimeCheckConfig resource did not exist.")
- // Perform canonicalization to pick up defaults.
- desired, err = canonicalizeUptimeCheckConfigDesiredState(rawDesired, rawInitial)
- return nil, desired, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Found initial state for UptimeCheckConfig: %v", rawInitial)
- c.Config.Logger.InfoWithContextf(ctx, "Initial desired state for UptimeCheckConfig: %v", rawDesired)
-
- // The Get call applies postReadExtract and so the result may contain fields that are not part of API version.
- if err := extractUptimeCheckConfigFields(rawInitial); err != nil {
- return nil, nil, nil, err
- }
-
- // 1.3: Canonicalize raw initial state into initial state.
- initial, err = canonicalizeUptimeCheckConfigInitialState(rawInitial, rawDesired)
- if err != nil {
- return nil, nil, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalized initial state for UptimeCheckConfig: %v", initial)
-
- // 1.4: Canonicalize raw desired state into desired state.
- desired, err = canonicalizeUptimeCheckConfigDesiredState(rawDesired, rawInitial, opts...)
- if err != nil {
- return nil, nil, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalized desired state for UptimeCheckConfig: %v", desired)
-
- // 2.1: Comparison of initial and desired state.
- diffs, err = diffUptimeCheckConfig(c, desired, initial, opts...)
- return initial, desired, diffs, err
-}
-
-func canonicalizeUptimeCheckConfigInitialState(rawInitial, rawDesired *UptimeCheckConfig) (*UptimeCheckConfig, error) {
- // TODO(magic-modules-eng): write canonicalizer once relevant traits are added.
-
- if !dcl.IsZeroValue(rawInitial.MonitoredResource) {
- // Check if anything else is set.
- if dcl.AnySet(rawInitial.ResourceGroup) {
- rawInitial.MonitoredResource = EmptyUptimeCheckConfigMonitoredResource
- }
- }
-
- if !dcl.IsZeroValue(rawInitial.ResourceGroup) {
- // Check if anything else is set.
- if dcl.AnySet(rawInitial.MonitoredResource) {
- rawInitial.ResourceGroup = EmptyUptimeCheckConfigResourceGroup
- }
- }
-
- if !dcl.IsZeroValue(rawInitial.HttpCheck) {
- // Check if anything else is set.
- if dcl.AnySet(rawInitial.TcpCheck) {
- rawInitial.HttpCheck = EmptyUptimeCheckConfigHttpCheck
- }
- }
-
- if !dcl.IsZeroValue(rawInitial.TcpCheck) {
- // Check if anything else is set.
- if dcl.AnySet(rawInitial.HttpCheck) {
- rawInitial.TcpCheck = EmptyUptimeCheckConfigTcpCheck
- }
- }
-
- return rawInitial, nil
-}
-
-/*
-* Canonicalizers
-*
-* These are responsible for converting either a user-specified config or a
-* GCP API response to a standard format that can be used for difference checking.
-* */
-
-func canonicalizeUptimeCheckConfigDesiredState(rawDesired, rawInitial *UptimeCheckConfig, opts ...dcl.ApplyOption) (*UptimeCheckConfig, error) {
-
- if dcl.IsZeroValue(rawDesired.Period) {
- rawDesired.Period = dcl.String("60s")
- }
-
- if rawInitial == nil {
- // Since the initial state is empty, the desired state is all we have.
- // We canonicalize the remaining nested objects with nil to pick up defaults.
- rawDesired.MonitoredResource = canonicalizeUptimeCheckConfigMonitoredResource(rawDesired.MonitoredResource, nil, opts...)
- rawDesired.ResourceGroup = canonicalizeUptimeCheckConfigResourceGroup(rawDesired.ResourceGroup, nil, opts...)
- rawDesired.HttpCheck = canonicalizeUptimeCheckConfigHttpCheck(rawDesired.HttpCheck, nil, opts...)
- rawDesired.TcpCheck = canonicalizeUptimeCheckConfigTcpCheck(rawDesired.TcpCheck, nil, opts...)
-
- return rawDesired, nil
- }
- canonicalDesired := &UptimeCheckConfig{}
- if dcl.IsZeroValue(rawDesired.Name) || (dcl.IsEmptyValueIndirect(rawDesired.Name) && dcl.IsEmptyValueIndirect(rawInitial.Name)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- canonicalDesired.Name = rawInitial.Name
- } else {
- canonicalDesired.Name = rawDesired.Name
- }
- if dcl.StringCanonicalize(rawDesired.DisplayName, rawInitial.DisplayName) {
- canonicalDesired.DisplayName = rawInitial.DisplayName
- } else {
- canonicalDesired.DisplayName = rawDesired.DisplayName
- }
- canonicalDesired.MonitoredResource = canonicalizeUptimeCheckConfigMonitoredResource(rawDesired.MonitoredResource, rawInitial.MonitoredResource, opts...)
- canonicalDesired.ResourceGroup = canonicalizeUptimeCheckConfigResourceGroup(rawDesired.ResourceGroup, rawInitial.ResourceGroup, opts...)
- canonicalDesired.HttpCheck = canonicalizeUptimeCheckConfigHttpCheck(rawDesired.HttpCheck, rawInitial.HttpCheck, opts...)
- canonicalDesired.TcpCheck = canonicalizeUptimeCheckConfigTcpCheck(rawDesired.TcpCheck, rawInitial.TcpCheck, opts...)
- if dcl.StringCanonicalize(rawDesired.Period, rawInitial.Period) {
- canonicalDesired.Period = rawInitial.Period
- } else {
- canonicalDesired.Period = rawDesired.Period
- }
- if dcl.StringCanonicalize(rawDesired.Timeout, rawInitial.Timeout) {
- canonicalDesired.Timeout = rawInitial.Timeout
- } else {
- canonicalDesired.Timeout = rawDesired.Timeout
- }
- canonicalDesired.ContentMatchers = canonicalizeUptimeCheckConfigContentMatchersSlice(rawDesired.ContentMatchers, rawInitial.ContentMatchers, opts...)
- if dcl.StringArrayCanonicalize(rawDesired.SelectedRegions, rawInitial.SelectedRegions) {
- canonicalDesired.SelectedRegions = rawInitial.SelectedRegions
- } else {
- canonicalDesired.SelectedRegions = rawDesired.SelectedRegions
- }
- if dcl.NameToSelfLink(rawDesired.Project, rawInitial.Project) {
- canonicalDesired.Project = rawInitial.Project
- } else {
- canonicalDesired.Project = rawDesired.Project
- }
-
- if canonicalDesired.MonitoredResource != nil {
- // Check if anything else is set.
- if dcl.AnySet(rawDesired.ResourceGroup) {
- canonicalDesired.MonitoredResource = EmptyUptimeCheckConfigMonitoredResource
- }
- }
-
- if canonicalDesired.ResourceGroup != nil {
- // Check if anything else is set.
- if dcl.AnySet(rawDesired.MonitoredResource) {
- canonicalDesired.ResourceGroup = EmptyUptimeCheckConfigResourceGroup
- }
- }
-
- if canonicalDesired.HttpCheck != nil {
- // Check if anything else is set.
- if dcl.AnySet(rawDesired.TcpCheck) {
- canonicalDesired.HttpCheck = EmptyUptimeCheckConfigHttpCheck
- }
- }
-
- if canonicalDesired.TcpCheck != nil {
- // Check if anything else is set.
- if dcl.AnySet(rawDesired.HttpCheck) {
- canonicalDesired.TcpCheck = EmptyUptimeCheckConfigTcpCheck
- }
- }
-
- return canonicalDesired, nil
-}
-
-func canonicalizeUptimeCheckConfigNewState(c *Client, rawNew, rawDesired *UptimeCheckConfig) (*UptimeCheckConfig, error) {
-
- if dcl.IsEmptyValueIndirect(rawNew.Name) && dcl.IsEmptyValueIndirect(rawDesired.Name) {
- rawNew.Name = rawDesired.Name
- } else {
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.DisplayName) && dcl.IsEmptyValueIndirect(rawDesired.DisplayName) {
- rawNew.DisplayName = rawDesired.DisplayName
- } else {
- if dcl.StringCanonicalize(rawDesired.DisplayName, rawNew.DisplayName) {
- rawNew.DisplayName = rawDesired.DisplayName
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.MonitoredResource) && dcl.IsEmptyValueIndirect(rawDesired.MonitoredResource) {
- rawNew.MonitoredResource = rawDesired.MonitoredResource
- } else {
- rawNew.MonitoredResource = canonicalizeNewUptimeCheckConfigMonitoredResource(c, rawDesired.MonitoredResource, rawNew.MonitoredResource)
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.ResourceGroup) && dcl.IsEmptyValueIndirect(rawDesired.ResourceGroup) {
- rawNew.ResourceGroup = rawDesired.ResourceGroup
- } else {
- rawNew.ResourceGroup = canonicalizeNewUptimeCheckConfigResourceGroup(c, rawDesired.ResourceGroup, rawNew.ResourceGroup)
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.HttpCheck) && dcl.IsEmptyValueIndirect(rawDesired.HttpCheck) {
- rawNew.HttpCheck = rawDesired.HttpCheck
- } else {
- rawNew.HttpCheck = canonicalizeNewUptimeCheckConfigHttpCheck(c, rawDesired.HttpCheck, rawNew.HttpCheck)
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.TcpCheck) && dcl.IsEmptyValueIndirect(rawDesired.TcpCheck) {
- rawNew.TcpCheck = rawDesired.TcpCheck
- } else {
- rawNew.TcpCheck = canonicalizeNewUptimeCheckConfigTcpCheck(c, rawDesired.TcpCheck, rawNew.TcpCheck)
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Period) && dcl.IsEmptyValueIndirect(rawDesired.Period) {
- rawNew.Period = rawDesired.Period
- } else {
- if dcl.StringCanonicalize(rawDesired.Period, rawNew.Period) {
- rawNew.Period = rawDesired.Period
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Timeout) && dcl.IsEmptyValueIndirect(rawDesired.Timeout) {
- rawNew.Timeout = rawDesired.Timeout
- } else {
- if dcl.StringCanonicalize(rawDesired.Timeout, rawNew.Timeout) {
- rawNew.Timeout = rawDesired.Timeout
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.ContentMatchers) && dcl.IsEmptyValueIndirect(rawDesired.ContentMatchers) {
- rawNew.ContentMatchers = rawDesired.ContentMatchers
- } else {
- rawNew.ContentMatchers = canonicalizeNewUptimeCheckConfigContentMatchersSlice(c, rawDesired.ContentMatchers, rawNew.ContentMatchers)
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.SelectedRegions) && dcl.IsEmptyValueIndirect(rawDesired.SelectedRegions) {
- rawNew.SelectedRegions = rawDesired.SelectedRegions
- } else {
- if dcl.StringArrayCanonicalize(rawDesired.SelectedRegions, rawNew.SelectedRegions) {
- rawNew.SelectedRegions = rawDesired.SelectedRegions
- }
- }
-
- rawNew.Project = rawDesired.Project
-
- return rawNew, nil
-}
-
-func canonicalizeUptimeCheckConfigMonitoredResource(des, initial *UptimeCheckConfigMonitoredResource, opts ...dcl.ApplyOption) *UptimeCheckConfigMonitoredResource {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &UptimeCheckConfigMonitoredResource{}
-
- if dcl.StringCanonicalize(des.Type, initial.Type) || dcl.IsZeroValue(des.Type) {
- cDes.Type = initial.Type
- } else {
- cDes.Type = des.Type
- }
- if dcl.IsZeroValue(des.FilterLabels) || (dcl.IsEmptyValueIndirect(des.FilterLabels) && dcl.IsEmptyValueIndirect(initial.FilterLabels)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.FilterLabels = initial.FilterLabels
- } else {
- cDes.FilterLabels = des.FilterLabels
- }
-
- return cDes
-}
-
-func canonicalizeUptimeCheckConfigMonitoredResourceSlice(des, initial []UptimeCheckConfigMonitoredResource, opts ...dcl.ApplyOption) []UptimeCheckConfigMonitoredResource {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]UptimeCheckConfigMonitoredResource, 0, len(des))
- for _, d := range des {
- cd := canonicalizeUptimeCheckConfigMonitoredResource(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]UptimeCheckConfigMonitoredResource, 0, len(des))
- for i, d := range des {
- cd := canonicalizeUptimeCheckConfigMonitoredResource(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewUptimeCheckConfigMonitoredResource(c *Client, des, nw *UptimeCheckConfigMonitoredResource) *UptimeCheckConfigMonitoredResource {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for UptimeCheckConfigMonitoredResource while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Type, nw.Type) {
- nw.Type = des.Type
- }
-
- return nw
-}
-
-func canonicalizeNewUptimeCheckConfigMonitoredResourceSet(c *Client, des, nw []UptimeCheckConfigMonitoredResource) []UptimeCheckConfigMonitoredResource {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []UptimeCheckConfigMonitoredResource
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareUptimeCheckConfigMonitoredResourceNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewUptimeCheckConfigMonitoredResource(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewUptimeCheckConfigMonitoredResourceSlice(c *Client, des, nw []UptimeCheckConfigMonitoredResource) []UptimeCheckConfigMonitoredResource {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []UptimeCheckConfigMonitoredResource
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewUptimeCheckConfigMonitoredResource(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeUptimeCheckConfigResourceGroup(des, initial *UptimeCheckConfigResourceGroup, opts ...dcl.ApplyOption) *UptimeCheckConfigResourceGroup {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &UptimeCheckConfigResourceGroup{}
-
- if dcl.IsZeroValue(des.GroupId) || (dcl.IsEmptyValueIndirect(des.GroupId) && dcl.IsEmptyValueIndirect(initial.GroupId)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.GroupId = initial.GroupId
- } else {
- cDes.GroupId = des.GroupId
- }
- if dcl.IsZeroValue(des.ResourceType) || (dcl.IsEmptyValueIndirect(des.ResourceType) && dcl.IsEmptyValueIndirect(initial.ResourceType)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.ResourceType = initial.ResourceType
- } else {
- cDes.ResourceType = des.ResourceType
- }
-
- return cDes
-}
-
-func canonicalizeUptimeCheckConfigResourceGroupSlice(des, initial []UptimeCheckConfigResourceGroup, opts ...dcl.ApplyOption) []UptimeCheckConfigResourceGroup {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]UptimeCheckConfigResourceGroup, 0, len(des))
- for _, d := range des {
- cd := canonicalizeUptimeCheckConfigResourceGroup(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]UptimeCheckConfigResourceGroup, 0, len(des))
- for i, d := range des {
- cd := canonicalizeUptimeCheckConfigResourceGroup(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewUptimeCheckConfigResourceGroup(c *Client, des, nw *UptimeCheckConfigResourceGroup) *UptimeCheckConfigResourceGroup {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for UptimeCheckConfigResourceGroup while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewUptimeCheckConfigResourceGroupSet(c *Client, des, nw []UptimeCheckConfigResourceGroup) []UptimeCheckConfigResourceGroup {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []UptimeCheckConfigResourceGroup
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareUptimeCheckConfigResourceGroupNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewUptimeCheckConfigResourceGroup(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewUptimeCheckConfigResourceGroupSlice(c *Client, des, nw []UptimeCheckConfigResourceGroup) []UptimeCheckConfigResourceGroup {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []UptimeCheckConfigResourceGroup
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewUptimeCheckConfigResourceGroup(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeUptimeCheckConfigHttpCheck(des, initial *UptimeCheckConfigHttpCheck, opts ...dcl.ApplyOption) *UptimeCheckConfigHttpCheck {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if dcl.IsZeroValue(des.RequestMethod) {
- des.RequestMethod = UptimeCheckConfigHttpCheckRequestMethodEnumRef("GET")
- }
-
- if dcl.IsZeroValue(des.Path) {
- des.Path = dcl.String("/")
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &UptimeCheckConfigHttpCheck{}
-
- if dcl.IsZeroValue(des.RequestMethod) || (dcl.IsEmptyValueIndirect(des.RequestMethod) && dcl.IsEmptyValueIndirect(initial.RequestMethod)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.RequestMethod = initial.RequestMethod
- } else {
- cDes.RequestMethod = des.RequestMethod
- }
- if dcl.BoolCanonicalize(des.UseSsl, initial.UseSsl) || dcl.IsZeroValue(des.UseSsl) {
- cDes.UseSsl = initial.UseSsl
- } else {
- cDes.UseSsl = des.UseSsl
- }
- if dcl.StringCanonicalize(des.Path, initial.Path) || dcl.IsZeroValue(des.Path) {
- cDes.Path = initial.Path
- } else {
- cDes.Path = des.Path
- }
- if dcl.IsZeroValue(des.Port) || (dcl.IsEmptyValueIndirect(des.Port) && dcl.IsEmptyValueIndirect(initial.Port)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Port = initial.Port
- } else {
- cDes.Port = des.Port
- }
- cDes.AuthInfo = canonicalizeUptimeCheckConfigHttpCheckAuthInfo(des.AuthInfo, initial.AuthInfo, opts...)
- if dcl.BoolCanonicalize(des.MaskHeaders, initial.MaskHeaders) || dcl.IsZeroValue(des.MaskHeaders) {
- cDes.MaskHeaders = initial.MaskHeaders
- } else {
- cDes.MaskHeaders = des.MaskHeaders
- }
- if dcl.IsZeroValue(des.Headers) || (dcl.IsEmptyValueIndirect(des.Headers) && dcl.IsEmptyValueIndirect(initial.Headers)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Headers = initial.Headers
- } else {
- cDes.Headers = des.Headers
- }
- if dcl.IsZeroValue(des.ContentType) || (dcl.IsEmptyValueIndirect(des.ContentType) && dcl.IsEmptyValueIndirect(initial.ContentType)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.ContentType = initial.ContentType
- } else {
- cDes.ContentType = des.ContentType
- }
- if dcl.BoolCanonicalize(des.ValidateSsl, initial.ValidateSsl) || dcl.IsZeroValue(des.ValidateSsl) {
- cDes.ValidateSsl = initial.ValidateSsl
- } else {
- cDes.ValidateSsl = des.ValidateSsl
- }
- if dcl.StringCanonicalize(des.Body, initial.Body) || dcl.IsZeroValue(des.Body) {
- cDes.Body = initial.Body
- } else {
- cDes.Body = des.Body
- }
-
- return cDes
-}
-
-func canonicalizeUptimeCheckConfigHttpCheckSlice(des, initial []UptimeCheckConfigHttpCheck, opts ...dcl.ApplyOption) []UptimeCheckConfigHttpCheck {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]UptimeCheckConfigHttpCheck, 0, len(des))
- for _, d := range des {
- cd := canonicalizeUptimeCheckConfigHttpCheck(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]UptimeCheckConfigHttpCheck, 0, len(des))
- for i, d := range des {
- cd := canonicalizeUptimeCheckConfigHttpCheck(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewUptimeCheckConfigHttpCheck(c *Client, des, nw *UptimeCheckConfigHttpCheck) *UptimeCheckConfigHttpCheck {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for UptimeCheckConfigHttpCheck while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.IsZeroValue(nw.RequestMethod) {
- nw.RequestMethod = UptimeCheckConfigHttpCheckRequestMethodEnumRef("GET")
- }
-
- if dcl.IsZeroValue(nw.Path) {
- nw.Path = dcl.String("/")
- }
-
- if dcl.BoolCanonicalize(des.UseSsl, nw.UseSsl) {
- nw.UseSsl = des.UseSsl
- }
- if dcl.StringCanonicalize(des.Path, nw.Path) {
- nw.Path = des.Path
- }
- nw.AuthInfo = canonicalizeNewUptimeCheckConfigHttpCheckAuthInfo(c, des.AuthInfo, nw.AuthInfo)
- if dcl.BoolCanonicalize(des.MaskHeaders, nw.MaskHeaders) {
- nw.MaskHeaders = des.MaskHeaders
- }
- nw.Headers = des.Headers
- if dcl.BoolCanonicalize(des.ValidateSsl, nw.ValidateSsl) {
- nw.ValidateSsl = des.ValidateSsl
- }
- if dcl.StringCanonicalize(des.Body, nw.Body) {
- nw.Body = des.Body
- }
-
- return nw
-}
-
-func canonicalizeNewUptimeCheckConfigHttpCheckSet(c *Client, des, nw []UptimeCheckConfigHttpCheck) []UptimeCheckConfigHttpCheck {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []UptimeCheckConfigHttpCheck
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareUptimeCheckConfigHttpCheckNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewUptimeCheckConfigHttpCheck(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewUptimeCheckConfigHttpCheckSlice(c *Client, des, nw []UptimeCheckConfigHttpCheck) []UptimeCheckConfigHttpCheck {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []UptimeCheckConfigHttpCheck
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewUptimeCheckConfigHttpCheck(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeUptimeCheckConfigHttpCheckAuthInfo(des, initial *UptimeCheckConfigHttpCheckAuthInfo, opts ...dcl.ApplyOption) *UptimeCheckConfigHttpCheckAuthInfo {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &UptimeCheckConfigHttpCheckAuthInfo{}
-
- if dcl.StringCanonicalize(des.Username, initial.Username) || dcl.IsZeroValue(des.Username) {
- cDes.Username = initial.Username
- } else {
- cDes.Username = des.Username
- }
- if dcl.StringCanonicalize(des.Password, initial.Password) || dcl.IsZeroValue(des.Password) {
- cDes.Password = initial.Password
- } else {
- cDes.Password = des.Password
- }
-
- return cDes
-}
-
-func canonicalizeUptimeCheckConfigHttpCheckAuthInfoSlice(des, initial []UptimeCheckConfigHttpCheckAuthInfo, opts ...dcl.ApplyOption) []UptimeCheckConfigHttpCheckAuthInfo {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]UptimeCheckConfigHttpCheckAuthInfo, 0, len(des))
- for _, d := range des {
- cd := canonicalizeUptimeCheckConfigHttpCheckAuthInfo(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]UptimeCheckConfigHttpCheckAuthInfo, 0, len(des))
- for i, d := range des {
- cd := canonicalizeUptimeCheckConfigHttpCheckAuthInfo(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewUptimeCheckConfigHttpCheckAuthInfo(c *Client, des, nw *UptimeCheckConfigHttpCheckAuthInfo) *UptimeCheckConfigHttpCheckAuthInfo {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for UptimeCheckConfigHttpCheckAuthInfo while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Username, nw.Username) {
- nw.Username = des.Username
- }
- nw.Password = des.Password
-
- return nw
-}
-
-func canonicalizeNewUptimeCheckConfigHttpCheckAuthInfoSet(c *Client, des, nw []UptimeCheckConfigHttpCheckAuthInfo) []UptimeCheckConfigHttpCheckAuthInfo {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []UptimeCheckConfigHttpCheckAuthInfo
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareUptimeCheckConfigHttpCheckAuthInfoNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewUptimeCheckConfigHttpCheckAuthInfo(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewUptimeCheckConfigHttpCheckAuthInfoSlice(c *Client, des, nw []UptimeCheckConfigHttpCheckAuthInfo) []UptimeCheckConfigHttpCheckAuthInfo {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []UptimeCheckConfigHttpCheckAuthInfo
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewUptimeCheckConfigHttpCheckAuthInfo(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeUptimeCheckConfigTcpCheck(des, initial *UptimeCheckConfigTcpCheck, opts ...dcl.ApplyOption) *UptimeCheckConfigTcpCheck {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &UptimeCheckConfigTcpCheck{}
-
- if dcl.IsZeroValue(des.Port) || (dcl.IsEmptyValueIndirect(des.Port) && dcl.IsEmptyValueIndirect(initial.Port)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Port = initial.Port
- } else {
- cDes.Port = des.Port
- }
-
- return cDes
-}
-
-func canonicalizeUptimeCheckConfigTcpCheckSlice(des, initial []UptimeCheckConfigTcpCheck, opts ...dcl.ApplyOption) []UptimeCheckConfigTcpCheck {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]UptimeCheckConfigTcpCheck, 0, len(des))
- for _, d := range des {
- cd := canonicalizeUptimeCheckConfigTcpCheck(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]UptimeCheckConfigTcpCheck, 0, len(des))
- for i, d := range des {
- cd := canonicalizeUptimeCheckConfigTcpCheck(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewUptimeCheckConfigTcpCheck(c *Client, des, nw *UptimeCheckConfigTcpCheck) *UptimeCheckConfigTcpCheck {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for UptimeCheckConfigTcpCheck while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewUptimeCheckConfigTcpCheckSet(c *Client, des, nw []UptimeCheckConfigTcpCheck) []UptimeCheckConfigTcpCheck {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []UptimeCheckConfigTcpCheck
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareUptimeCheckConfigTcpCheckNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewUptimeCheckConfigTcpCheck(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewUptimeCheckConfigTcpCheckSlice(c *Client, des, nw []UptimeCheckConfigTcpCheck) []UptimeCheckConfigTcpCheck {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []UptimeCheckConfigTcpCheck
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewUptimeCheckConfigTcpCheck(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeUptimeCheckConfigContentMatchers(des, initial *UptimeCheckConfigContentMatchers, opts ...dcl.ApplyOption) *UptimeCheckConfigContentMatchers {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if dcl.IsZeroValue(des.Matcher) {
- des.Matcher = UptimeCheckConfigContentMatchersMatcherEnumRef("CONTAINS_STRING")
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &UptimeCheckConfigContentMatchers{}
-
- if dcl.StringCanonicalize(des.Content, initial.Content) || dcl.IsZeroValue(des.Content) {
- cDes.Content = initial.Content
- } else {
- cDes.Content = des.Content
- }
- if dcl.IsZeroValue(des.Matcher) || (dcl.IsEmptyValueIndirect(des.Matcher) && dcl.IsEmptyValueIndirect(initial.Matcher)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Matcher = initial.Matcher
- } else {
- cDes.Matcher = des.Matcher
- }
-
- return cDes
-}
-
-func canonicalizeUptimeCheckConfigContentMatchersSlice(des, initial []UptimeCheckConfigContentMatchers, opts ...dcl.ApplyOption) []UptimeCheckConfigContentMatchers {
- if des == nil {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]UptimeCheckConfigContentMatchers, 0, len(des))
- for _, d := range des {
- cd := canonicalizeUptimeCheckConfigContentMatchers(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]UptimeCheckConfigContentMatchers, 0, len(des))
- for i, d := range des {
- cd := canonicalizeUptimeCheckConfigContentMatchers(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewUptimeCheckConfigContentMatchers(c *Client, des, nw *UptimeCheckConfigContentMatchers) *UptimeCheckConfigContentMatchers {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for UptimeCheckConfigContentMatchers while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.IsZeroValue(nw.Matcher) {
- nw.Matcher = UptimeCheckConfigContentMatchersMatcherEnumRef("CONTAINS_STRING")
- }
-
- if dcl.StringCanonicalize(des.Content, nw.Content) {
- nw.Content = des.Content
- }
-
- return nw
-}
-
-func canonicalizeNewUptimeCheckConfigContentMatchersSet(c *Client, des, nw []UptimeCheckConfigContentMatchers) []UptimeCheckConfigContentMatchers {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []UptimeCheckConfigContentMatchers
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareUptimeCheckConfigContentMatchersNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewUptimeCheckConfigContentMatchers(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewUptimeCheckConfigContentMatchersSlice(c *Client, des, nw []UptimeCheckConfigContentMatchers) []UptimeCheckConfigContentMatchers {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []UptimeCheckConfigContentMatchers
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewUptimeCheckConfigContentMatchers(c, &d, &n))
- }
-
- return items
-}
-
-// The differ returns a list of diffs, along with a list of operations that should be taken
-// to remedy them. Right now, it does not attempt to consolidate operations - if several
-// fields can be fixed with a patch update, it will perform the patch several times.
-// Diffs on some fields will be ignored if the `desired` state has an empty (nil)
-// value. This empty value indicates that the user does not care about the state for
-// the field. Empty fields on the actual object will cause diffs.
-// TODO(magic-modules-eng): for efficiency in some resources, add batching.
-func diffUptimeCheckConfig(c *Client, desired, actual *UptimeCheckConfig, opts ...dcl.ApplyOption) ([]*dcl.FieldDiff, error) {
- if desired == nil || actual == nil {
- return nil, fmt.Errorf("nil resource passed to diff - always a programming error: %#v, %#v", desired, actual)
- }
-
- c.Config.Logger.Infof("Diff function called with desired state: %v", desired)
- c.Config.Logger.Infof("Diff function called with actual state: %v", actual)
-
- var fn dcl.FieldName
- var newDiffs []*dcl.FieldDiff
- // New style diffs.
- if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Name")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.DisplayName, actual.DisplayName, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateUptimeCheckConfigUpdateUptimeCheckConfigOperation")}, fn.AddNest("DisplayName")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.MonitoredResource, actual.MonitoredResource, dcl.DiffInfo{ObjectFunction: compareUptimeCheckConfigMonitoredResourceNewStyle, EmptyObject: EmptyUptimeCheckConfigMonitoredResource, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MonitoredResource")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.ResourceGroup, actual.ResourceGroup, dcl.DiffInfo{ObjectFunction: compareUptimeCheckConfigResourceGroupNewStyle, EmptyObject: EmptyUptimeCheckConfigResourceGroup, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ResourceGroup")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.HttpCheck, actual.HttpCheck, dcl.DiffInfo{ObjectFunction: compareUptimeCheckConfigHttpCheckNewStyle, EmptyObject: EmptyUptimeCheckConfigHttpCheck, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("HttpCheck")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.TcpCheck, actual.TcpCheck, dcl.DiffInfo{ObjectFunction: compareUptimeCheckConfigTcpCheckNewStyle, EmptyObject: EmptyUptimeCheckConfigTcpCheck, OperationSelector: dcl.TriggersOperation("updateUptimeCheckConfigUpdateUptimeCheckConfigOperation")}, fn.AddNest("TcpCheck")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Period, actual.Period, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateUptimeCheckConfigUpdateUptimeCheckConfigOperation")}, fn.AddNest("Period")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Timeout, actual.Timeout, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateUptimeCheckConfigUpdateUptimeCheckConfigOperation")}, fn.AddNest("Timeout")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.ContentMatchers, actual.ContentMatchers, dcl.DiffInfo{ObjectFunction: compareUptimeCheckConfigContentMatchersNewStyle, EmptyObject: EmptyUptimeCheckConfigContentMatchers, OperationSelector: dcl.TriggersOperation("updateUptimeCheckConfigUpdateUptimeCheckConfigOperation")}, fn.AddNest("ContentMatchers")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.SelectedRegions, actual.SelectedRegions, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateUptimeCheckConfigUpdateUptimeCheckConfigOperation")}, fn.AddNest("SelectedRegions")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Project, actual.Project, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Project")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if len(newDiffs) > 0 {
- c.Config.Logger.Infof("Diff function found diffs: %v", newDiffs)
- }
- return newDiffs, nil
-}
-func compareUptimeCheckConfigMonitoredResourceNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*UptimeCheckConfigMonitoredResource)
- if !ok {
- desiredNotPointer, ok := d.(UptimeCheckConfigMonitoredResource)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a UptimeCheckConfigMonitoredResource or *UptimeCheckConfigMonitoredResource", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*UptimeCheckConfigMonitoredResource)
- if !ok {
- actualNotPointer, ok := a.(UptimeCheckConfigMonitoredResource)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a UptimeCheckConfigMonitoredResource", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Type, actual.Type, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Type")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.FilterLabels, actual.FilterLabels, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Labels")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareUptimeCheckConfigResourceGroupNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*UptimeCheckConfigResourceGroup)
- if !ok {
- desiredNotPointer, ok := d.(UptimeCheckConfigResourceGroup)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a UptimeCheckConfigResourceGroup or *UptimeCheckConfigResourceGroup", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*UptimeCheckConfigResourceGroup)
- if !ok {
- actualNotPointer, ok := a.(UptimeCheckConfigResourceGroup)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a UptimeCheckConfigResourceGroup", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.GroupId, actual.GroupId, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("GroupId")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.ResourceType, actual.ResourceType, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ResourceType")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareUptimeCheckConfigHttpCheckNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*UptimeCheckConfigHttpCheck)
- if !ok {
- desiredNotPointer, ok := d.(UptimeCheckConfigHttpCheck)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a UptimeCheckConfigHttpCheck or *UptimeCheckConfigHttpCheck", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*UptimeCheckConfigHttpCheck)
- if !ok {
- actualNotPointer, ok := a.(UptimeCheckConfigHttpCheck)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a UptimeCheckConfigHttpCheck", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.RequestMethod, actual.RequestMethod, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("RequestMethod")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.UseSsl, actual.UseSsl, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateUptimeCheckConfigUpdateUptimeCheckConfigOperation")}, fn.AddNest("UseSsl")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Path, actual.Path, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateUptimeCheckConfigUpdateUptimeCheckConfigOperation")}, fn.AddNest("Path")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Port, actual.Port, dcl.DiffInfo{ServerDefault: true, OperationSelector: dcl.TriggersOperation("updateUptimeCheckConfigUpdateUptimeCheckConfigOperation")}, fn.AddNest("Port")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.AuthInfo, actual.AuthInfo, dcl.DiffInfo{ObjectFunction: compareUptimeCheckConfigHttpCheckAuthInfoNewStyle, EmptyObject: EmptyUptimeCheckConfigHttpCheckAuthInfo, OperationSelector: dcl.TriggersOperation("updateUptimeCheckConfigUpdateUptimeCheckConfigOperation")}, fn.AddNest("AuthInfo")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.MaskHeaders, actual.MaskHeaders, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MaskHeaders")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Headers, actual.Headers, dcl.DiffInfo{ServerDefault: true, OperationSelector: dcl.TriggersOperation("updateUptimeCheckConfigUpdateUptimeCheckConfigOperation")}, fn.AddNest("Headers")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.ContentType, actual.ContentType, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ContentType")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.ValidateSsl, actual.ValidateSsl, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateUptimeCheckConfigUpdateUptimeCheckConfigOperation")}, fn.AddNest("ValidateSsl")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Body, actual.Body, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateUptimeCheckConfigUpdateUptimeCheckConfigOperation")}, fn.AddNest("Body")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareUptimeCheckConfigHttpCheckAuthInfoNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*UptimeCheckConfigHttpCheckAuthInfo)
- if !ok {
- desiredNotPointer, ok := d.(UptimeCheckConfigHttpCheckAuthInfo)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a UptimeCheckConfigHttpCheckAuthInfo or *UptimeCheckConfigHttpCheckAuthInfo", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*UptimeCheckConfigHttpCheckAuthInfo)
- if !ok {
- actualNotPointer, ok := a.(UptimeCheckConfigHttpCheckAuthInfo)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a UptimeCheckConfigHttpCheckAuthInfo", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Username, actual.Username, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateUptimeCheckConfigUpdateUptimeCheckConfigOperation")}, fn.AddNest("Username")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Password, actual.Password, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateUptimeCheckConfigUpdateUptimeCheckConfigOperation")}, fn.AddNest("Password")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareUptimeCheckConfigTcpCheckNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*UptimeCheckConfigTcpCheck)
- if !ok {
- desiredNotPointer, ok := d.(UptimeCheckConfigTcpCheck)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a UptimeCheckConfigTcpCheck or *UptimeCheckConfigTcpCheck", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*UptimeCheckConfigTcpCheck)
- if !ok {
- actualNotPointer, ok := a.(UptimeCheckConfigTcpCheck)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a UptimeCheckConfigTcpCheck", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Port, actual.Port, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Port")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareUptimeCheckConfigContentMatchersNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*UptimeCheckConfigContentMatchers)
- if !ok {
- desiredNotPointer, ok := d.(UptimeCheckConfigContentMatchers)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a UptimeCheckConfigContentMatchers or *UptimeCheckConfigContentMatchers", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*UptimeCheckConfigContentMatchers)
- if !ok {
- actualNotPointer, ok := a.(UptimeCheckConfigContentMatchers)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a UptimeCheckConfigContentMatchers", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Content, actual.Content, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Content")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Matcher, actual.Matcher, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Matcher")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-// urlNormalized returns a copy of the resource struct with values normalized
-// for URL substitutions. For instance, it converts long-form self-links to
-// short-form so they can be substituted in.
-func (r *UptimeCheckConfig) urlNormalized() *UptimeCheckConfig {
- normalized := dcl.Copy(*r).(UptimeCheckConfig)
- normalized.Name = dcl.SelfLinkToName(r.Name)
- normalized.DisplayName = dcl.SelfLinkToName(r.DisplayName)
- normalized.Period = dcl.SelfLinkToName(r.Period)
- normalized.Timeout = dcl.SelfLinkToName(r.Timeout)
- normalized.Project = dcl.SelfLinkToName(r.Project)
- return &normalized
-}
-
-func (r *UptimeCheckConfig) updateURL(userBasePath, updateName string) (string, error) {
- nr := r.urlNormalized()
- if updateName == "UpdateUptimeCheckConfig" {
- fields := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("projects/{{project}}/uptimeCheckConfigs/{{name}}", nr.basePath(), userBasePath, fields), nil
-
- }
-
- return "", fmt.Errorf("unknown update name: %s", updateName)
-}
-
-// marshal encodes the UptimeCheckConfig resource into JSON for a Create request, and
-// performs transformations from the resource schema to the API schema if
-// necessary.
-func (r *UptimeCheckConfig) marshal(c *Client) ([]byte, error) {
- m, err := expandUptimeCheckConfig(c, r)
- if err != nil {
- return nil, fmt.Errorf("error marshalling UptimeCheckConfig: %w", err)
- }
-
- return json.Marshal(m)
-}
-
-// unmarshalUptimeCheckConfig decodes JSON responses into the UptimeCheckConfig resource schema.
-func unmarshalUptimeCheckConfig(b []byte, c *Client, res *UptimeCheckConfig) (*UptimeCheckConfig, error) {
- var m map[string]interface{}
- if err := json.Unmarshal(b, &m); err != nil {
- return nil, err
- }
- return unmarshalMapUptimeCheckConfig(m, c, res)
-}
-
-func unmarshalMapUptimeCheckConfig(m map[string]interface{}, c *Client, res *UptimeCheckConfig) (*UptimeCheckConfig, error) {
-
- flattened := flattenUptimeCheckConfig(c, m, res)
- if flattened == nil {
- return nil, fmt.Errorf("attempted to flatten empty json object")
- }
- return flattened, nil
-}
-
-// expandUptimeCheckConfig expands UptimeCheckConfig into a JSON request object.
-func expandUptimeCheckConfig(c *Client, f *UptimeCheckConfig) (map[string]interface{}, error) {
- m := make(map[string]interface{})
- res := f
- _ = res
- if v := f.Name; dcl.ValueShouldBeSent(v) {
- m["name"] = v
- }
- if v := f.DisplayName; dcl.ValueShouldBeSent(v) {
- m["displayName"] = v
- }
- if v, err := expandUptimeCheckConfigMonitoredResource(c, f.MonitoredResource, res); err != nil {
- return nil, fmt.Errorf("error expanding MonitoredResource into monitoredResource: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["monitoredResource"] = v
- }
- if v, err := expandUptimeCheckConfigResourceGroup(c, f.ResourceGroup, res); err != nil {
- return nil, fmt.Errorf("error expanding ResourceGroup into resourceGroup: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["resourceGroup"] = v
- }
- if v, err := expandUptimeCheckConfigHttpCheck(c, f.HttpCheck, res); err != nil {
- return nil, fmt.Errorf("error expanding HttpCheck into httpCheck: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["httpCheck"] = v
- }
- if v, err := expandUptimeCheckConfigTcpCheck(c, f.TcpCheck, res); err != nil {
- return nil, fmt.Errorf("error expanding TcpCheck into tcpCheck: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["tcpCheck"] = v
- }
- if v := f.Period; dcl.ValueShouldBeSent(v) {
- m["period"] = v
- }
- if v := f.Timeout; dcl.ValueShouldBeSent(v) {
- m["timeout"] = v
- }
- if v, err := expandUptimeCheckConfigContentMatchersSlice(c, f.ContentMatchers, res); err != nil {
- return nil, fmt.Errorf("error expanding ContentMatchers into contentMatchers: %w", err)
- } else if v != nil {
- m["contentMatchers"] = v
- }
- if v := f.SelectedRegions; v != nil {
- m["selectedRegions"] = v
- }
- if v, err := dcl.EmptyValue(); err != nil {
- return nil, fmt.Errorf("error expanding Project into project: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["project"] = v
- }
-
- return m, nil
-}
-
-// flattenUptimeCheckConfig flattens UptimeCheckConfig from a JSON request object into the
-// UptimeCheckConfig type.
-func flattenUptimeCheckConfig(c *Client, i interface{}, res *UptimeCheckConfig) *UptimeCheckConfig {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
- if len(m) == 0 {
- return nil
- }
-
- resultRes := &UptimeCheckConfig{}
- resultRes.Name = dcl.SelfLinkToName(dcl.FlattenString(m["name"]))
- resultRes.DisplayName = dcl.FlattenString(m["displayName"])
- resultRes.MonitoredResource = flattenUptimeCheckConfigMonitoredResource(c, m["monitoredResource"], res)
- resultRes.ResourceGroup = flattenUptimeCheckConfigResourceGroup(c, m["resourceGroup"], res)
- resultRes.HttpCheck = flattenUptimeCheckConfigHttpCheck(c, m["httpCheck"], res)
- resultRes.TcpCheck = flattenUptimeCheckConfigTcpCheck(c, m["tcpCheck"], res)
- resultRes.Period = dcl.FlattenString(m["period"])
- if _, ok := m["period"]; !ok {
- c.Config.Logger.Info("Using default value for period")
- resultRes.Period = dcl.String("60s")
- }
- resultRes.Timeout = dcl.FlattenString(m["timeout"])
- resultRes.ContentMatchers = flattenUptimeCheckConfigContentMatchersSlice(c, m["contentMatchers"], res)
- resultRes.SelectedRegions = dcl.FlattenStringSlice(m["selectedRegions"])
- resultRes.Project = dcl.FlattenString(m["project"])
-
- return resultRes
-}
-
-// expandUptimeCheckConfigMonitoredResourceMap expands the contents of UptimeCheckConfigMonitoredResource into a JSON
-// request object.
-func expandUptimeCheckConfigMonitoredResourceMap(c *Client, f map[string]UptimeCheckConfigMonitoredResource, res *UptimeCheckConfig) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandUptimeCheckConfigMonitoredResource(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandUptimeCheckConfigMonitoredResourceSlice expands the contents of UptimeCheckConfigMonitoredResource into a JSON
-// request object.
-func expandUptimeCheckConfigMonitoredResourceSlice(c *Client, f []UptimeCheckConfigMonitoredResource, res *UptimeCheckConfig) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandUptimeCheckConfigMonitoredResource(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenUptimeCheckConfigMonitoredResourceMap flattens the contents of UptimeCheckConfigMonitoredResource from a JSON
-// response object.
-func flattenUptimeCheckConfigMonitoredResourceMap(c *Client, i interface{}, res *UptimeCheckConfig) map[string]UptimeCheckConfigMonitoredResource {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]UptimeCheckConfigMonitoredResource{}
- }
-
- if len(a) == 0 {
- return map[string]UptimeCheckConfigMonitoredResource{}
- }
-
- items := make(map[string]UptimeCheckConfigMonitoredResource)
- for k, item := range a {
- items[k] = *flattenUptimeCheckConfigMonitoredResource(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenUptimeCheckConfigMonitoredResourceSlice flattens the contents of UptimeCheckConfigMonitoredResource from a JSON
-// response object.
-func flattenUptimeCheckConfigMonitoredResourceSlice(c *Client, i interface{}, res *UptimeCheckConfig) []UptimeCheckConfigMonitoredResource {
- a, ok := i.([]interface{})
- if !ok {
- return []UptimeCheckConfigMonitoredResource{}
- }
-
- if len(a) == 0 {
- return []UptimeCheckConfigMonitoredResource{}
- }
-
- items := make([]UptimeCheckConfigMonitoredResource, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenUptimeCheckConfigMonitoredResource(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandUptimeCheckConfigMonitoredResource expands an instance of UptimeCheckConfigMonitoredResource into a JSON
-// request object.
-func expandUptimeCheckConfigMonitoredResource(c *Client, f *UptimeCheckConfigMonitoredResource, res *UptimeCheckConfig) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Type; !dcl.IsEmptyValueIndirect(v) {
- m["type"] = v
- }
- if v := f.FilterLabels; !dcl.IsEmptyValueIndirect(v) {
- m["labels"] = v
- }
-
- return m, nil
-}
-
-// flattenUptimeCheckConfigMonitoredResource flattens an instance of UptimeCheckConfigMonitoredResource from a JSON
-// response object.
-func flattenUptimeCheckConfigMonitoredResource(c *Client, i interface{}, res *UptimeCheckConfig) *UptimeCheckConfigMonitoredResource {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &UptimeCheckConfigMonitoredResource{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyUptimeCheckConfigMonitoredResource
- }
- r.Type = dcl.FlattenString(m["type"])
- r.FilterLabels = dcl.FlattenKeyValuePairs(m["labels"])
-
- return r
-}
-
-// expandUptimeCheckConfigResourceGroupMap expands the contents of UptimeCheckConfigResourceGroup into a JSON
-// request object.
-func expandUptimeCheckConfigResourceGroupMap(c *Client, f map[string]UptimeCheckConfigResourceGroup, res *UptimeCheckConfig) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandUptimeCheckConfigResourceGroup(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandUptimeCheckConfigResourceGroupSlice expands the contents of UptimeCheckConfigResourceGroup into a JSON
-// request object.
-func expandUptimeCheckConfigResourceGroupSlice(c *Client, f []UptimeCheckConfigResourceGroup, res *UptimeCheckConfig) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandUptimeCheckConfigResourceGroup(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenUptimeCheckConfigResourceGroupMap flattens the contents of UptimeCheckConfigResourceGroup from a JSON
-// response object.
-func flattenUptimeCheckConfigResourceGroupMap(c *Client, i interface{}, res *UptimeCheckConfig) map[string]UptimeCheckConfigResourceGroup {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]UptimeCheckConfigResourceGroup{}
- }
-
- if len(a) == 0 {
- return map[string]UptimeCheckConfigResourceGroup{}
- }
-
- items := make(map[string]UptimeCheckConfigResourceGroup)
- for k, item := range a {
- items[k] = *flattenUptimeCheckConfigResourceGroup(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenUptimeCheckConfigResourceGroupSlice flattens the contents of UptimeCheckConfigResourceGroup from a JSON
-// response object.
-func flattenUptimeCheckConfigResourceGroupSlice(c *Client, i interface{}, res *UptimeCheckConfig) []UptimeCheckConfigResourceGroup {
- a, ok := i.([]interface{})
- if !ok {
- return []UptimeCheckConfigResourceGroup{}
- }
-
- if len(a) == 0 {
- return []UptimeCheckConfigResourceGroup{}
- }
-
- items := make([]UptimeCheckConfigResourceGroup, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenUptimeCheckConfigResourceGroup(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandUptimeCheckConfigResourceGroup expands an instance of UptimeCheckConfigResourceGroup into a JSON
-// request object.
-func expandUptimeCheckConfigResourceGroup(c *Client, f *UptimeCheckConfigResourceGroup, res *UptimeCheckConfig) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := dcl.SelfLinkToNameExpander(f.GroupId); err != nil {
- return nil, fmt.Errorf("error expanding GroupId into groupId: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["groupId"] = v
- }
- if v := f.ResourceType; !dcl.IsEmptyValueIndirect(v) {
- m["resourceType"] = v
- }
-
- return m, nil
-}
-
-// flattenUptimeCheckConfigResourceGroup flattens an instance of UptimeCheckConfigResourceGroup from a JSON
-// response object.
-func flattenUptimeCheckConfigResourceGroup(c *Client, i interface{}, res *UptimeCheckConfig) *UptimeCheckConfigResourceGroup {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &UptimeCheckConfigResourceGroup{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyUptimeCheckConfigResourceGroup
- }
- r.GroupId = dcl.FlattenString(m["groupId"])
- r.ResourceType = flattenUptimeCheckConfigResourceGroupResourceTypeEnum(m["resourceType"])
-
- return r
-}
-
-// expandUptimeCheckConfigHttpCheckMap expands the contents of UptimeCheckConfigHttpCheck into a JSON
-// request object.
-func expandUptimeCheckConfigHttpCheckMap(c *Client, f map[string]UptimeCheckConfigHttpCheck, res *UptimeCheckConfig) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandUptimeCheckConfigHttpCheck(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandUptimeCheckConfigHttpCheckSlice expands the contents of UptimeCheckConfigHttpCheck into a JSON
-// request object.
-func expandUptimeCheckConfigHttpCheckSlice(c *Client, f []UptimeCheckConfigHttpCheck, res *UptimeCheckConfig) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandUptimeCheckConfigHttpCheck(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenUptimeCheckConfigHttpCheckMap flattens the contents of UptimeCheckConfigHttpCheck from a JSON
-// response object.
-func flattenUptimeCheckConfigHttpCheckMap(c *Client, i interface{}, res *UptimeCheckConfig) map[string]UptimeCheckConfigHttpCheck {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]UptimeCheckConfigHttpCheck{}
- }
-
- if len(a) == 0 {
- return map[string]UptimeCheckConfigHttpCheck{}
- }
-
- items := make(map[string]UptimeCheckConfigHttpCheck)
- for k, item := range a {
- items[k] = *flattenUptimeCheckConfigHttpCheck(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenUptimeCheckConfigHttpCheckSlice flattens the contents of UptimeCheckConfigHttpCheck from a JSON
-// response object.
-func flattenUptimeCheckConfigHttpCheckSlice(c *Client, i interface{}, res *UptimeCheckConfig) []UptimeCheckConfigHttpCheck {
- a, ok := i.([]interface{})
- if !ok {
- return []UptimeCheckConfigHttpCheck{}
- }
-
- if len(a) == 0 {
- return []UptimeCheckConfigHttpCheck{}
- }
-
- items := make([]UptimeCheckConfigHttpCheck, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenUptimeCheckConfigHttpCheck(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandUptimeCheckConfigHttpCheck expands an instance of UptimeCheckConfigHttpCheck into a JSON
-// request object.
-func expandUptimeCheckConfigHttpCheck(c *Client, f *UptimeCheckConfigHttpCheck, res *UptimeCheckConfig) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.RequestMethod; !dcl.IsEmptyValueIndirect(v) {
- m["requestMethod"] = v
- }
- if v := f.UseSsl; !dcl.IsEmptyValueIndirect(v) {
- m["useSsl"] = v
- }
- if v := f.Path; !dcl.IsEmptyValueIndirect(v) {
- m["path"] = v
- }
- if v := f.Port; !dcl.IsEmptyValueIndirect(v) {
- m["port"] = v
- }
- if v, err := expandUptimeCheckConfigHttpCheckAuthInfo(c, f.AuthInfo, res); err != nil {
- return nil, fmt.Errorf("error expanding AuthInfo into authInfo: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["authInfo"] = v
- }
- if v := f.MaskHeaders; !dcl.IsEmptyValueIndirect(v) {
- m["maskHeaders"] = v
- }
- if v := f.Headers; !dcl.IsEmptyValueIndirect(v) {
- m["headers"] = v
- }
- if v := f.ContentType; !dcl.IsEmptyValueIndirect(v) {
- m["contentType"] = v
- }
- if v := f.ValidateSsl; !dcl.IsEmptyValueIndirect(v) {
- m["validateSsl"] = v
- }
- if v := f.Body; !dcl.IsEmptyValueIndirect(v) {
- m["body"] = v
- }
-
- return m, nil
-}
-
-// flattenUptimeCheckConfigHttpCheck flattens an instance of UptimeCheckConfigHttpCheck from a JSON
-// response object.
-func flattenUptimeCheckConfigHttpCheck(c *Client, i interface{}, res *UptimeCheckConfig) *UptimeCheckConfigHttpCheck {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &UptimeCheckConfigHttpCheck{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyUptimeCheckConfigHttpCheck
- }
- r.RequestMethod = flattenUptimeCheckConfigHttpCheckRequestMethodEnum(m["requestMethod"])
- if dcl.IsEmptyValueIndirect(m["requestMethod"]) {
- c.Config.Logger.Info("Using default value for requestMethod.")
- r.RequestMethod = UptimeCheckConfigHttpCheckRequestMethodEnumRef("GET")
- }
- r.UseSsl = dcl.FlattenBool(m["useSsl"])
- r.Path = dcl.FlattenString(m["path"])
- if dcl.IsEmptyValueIndirect(m["path"]) {
- c.Config.Logger.Info("Using default value for path.")
- r.Path = dcl.String("/")
- }
- r.Port = dcl.FlattenInteger(m["port"])
- r.AuthInfo = flattenUptimeCheckConfigHttpCheckAuthInfo(c, m["authInfo"], res)
- r.MaskHeaders = dcl.FlattenBool(m["maskHeaders"])
- r.Headers = dcl.FlattenKeyValuePairs(m["headers"])
- r.ContentType = flattenUptimeCheckConfigHttpCheckContentTypeEnum(m["contentType"])
- r.ValidateSsl = dcl.FlattenBool(m["validateSsl"])
- r.Body = dcl.FlattenString(m["body"])
-
- return r
-}
-
-// expandUptimeCheckConfigHttpCheckAuthInfoMap expands the contents of UptimeCheckConfigHttpCheckAuthInfo into a JSON
-// request object.
-func expandUptimeCheckConfigHttpCheckAuthInfoMap(c *Client, f map[string]UptimeCheckConfigHttpCheckAuthInfo, res *UptimeCheckConfig) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandUptimeCheckConfigHttpCheckAuthInfo(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandUptimeCheckConfigHttpCheckAuthInfoSlice expands the contents of UptimeCheckConfigHttpCheckAuthInfo into a JSON
-// request object.
-func expandUptimeCheckConfigHttpCheckAuthInfoSlice(c *Client, f []UptimeCheckConfigHttpCheckAuthInfo, res *UptimeCheckConfig) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandUptimeCheckConfigHttpCheckAuthInfo(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenUptimeCheckConfigHttpCheckAuthInfoMap flattens the contents of UptimeCheckConfigHttpCheckAuthInfo from a JSON
-// response object.
-func flattenUptimeCheckConfigHttpCheckAuthInfoMap(c *Client, i interface{}, res *UptimeCheckConfig) map[string]UptimeCheckConfigHttpCheckAuthInfo {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]UptimeCheckConfigHttpCheckAuthInfo{}
- }
-
- if len(a) == 0 {
- return map[string]UptimeCheckConfigHttpCheckAuthInfo{}
- }
-
- items := make(map[string]UptimeCheckConfigHttpCheckAuthInfo)
- for k, item := range a {
- items[k] = *flattenUptimeCheckConfigHttpCheckAuthInfo(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenUptimeCheckConfigHttpCheckAuthInfoSlice flattens the contents of UptimeCheckConfigHttpCheckAuthInfo from a JSON
-// response object.
-func flattenUptimeCheckConfigHttpCheckAuthInfoSlice(c *Client, i interface{}, res *UptimeCheckConfig) []UptimeCheckConfigHttpCheckAuthInfo {
- a, ok := i.([]interface{})
- if !ok {
- return []UptimeCheckConfigHttpCheckAuthInfo{}
- }
-
- if len(a) == 0 {
- return []UptimeCheckConfigHttpCheckAuthInfo{}
- }
-
- items := make([]UptimeCheckConfigHttpCheckAuthInfo, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenUptimeCheckConfigHttpCheckAuthInfo(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandUptimeCheckConfigHttpCheckAuthInfo expands an instance of UptimeCheckConfigHttpCheckAuthInfo into a JSON
-// request object.
-func expandUptimeCheckConfigHttpCheckAuthInfo(c *Client, f *UptimeCheckConfigHttpCheckAuthInfo, res *UptimeCheckConfig) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Username; !dcl.IsEmptyValueIndirect(v) {
- m["username"] = v
- }
- if v := f.Password; !dcl.IsEmptyValueIndirect(v) {
- m["password"] = v
- }
-
- return m, nil
-}
-
-// flattenUptimeCheckConfigHttpCheckAuthInfo flattens an instance of UptimeCheckConfigHttpCheckAuthInfo from a JSON
-// response object.
-func flattenUptimeCheckConfigHttpCheckAuthInfo(c *Client, i interface{}, res *UptimeCheckConfig) *UptimeCheckConfigHttpCheckAuthInfo {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &UptimeCheckConfigHttpCheckAuthInfo{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyUptimeCheckConfigHttpCheckAuthInfo
- }
- r.Username = dcl.FlattenString(m["username"])
- r.Password = dcl.FlattenString(m["password"])
-
- return r
-}
-
-// expandUptimeCheckConfigTcpCheckMap expands the contents of UptimeCheckConfigTcpCheck into a JSON
-// request object.
-func expandUptimeCheckConfigTcpCheckMap(c *Client, f map[string]UptimeCheckConfigTcpCheck, res *UptimeCheckConfig) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandUptimeCheckConfigTcpCheck(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandUptimeCheckConfigTcpCheckSlice expands the contents of UptimeCheckConfigTcpCheck into a JSON
-// request object.
-func expandUptimeCheckConfigTcpCheckSlice(c *Client, f []UptimeCheckConfigTcpCheck, res *UptimeCheckConfig) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandUptimeCheckConfigTcpCheck(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenUptimeCheckConfigTcpCheckMap flattens the contents of UptimeCheckConfigTcpCheck from a JSON
-// response object.
-func flattenUptimeCheckConfigTcpCheckMap(c *Client, i interface{}, res *UptimeCheckConfig) map[string]UptimeCheckConfigTcpCheck {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]UptimeCheckConfigTcpCheck{}
- }
-
- if len(a) == 0 {
- return map[string]UptimeCheckConfigTcpCheck{}
- }
-
- items := make(map[string]UptimeCheckConfigTcpCheck)
- for k, item := range a {
- items[k] = *flattenUptimeCheckConfigTcpCheck(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenUptimeCheckConfigTcpCheckSlice flattens the contents of UptimeCheckConfigTcpCheck from a JSON
-// response object.
-func flattenUptimeCheckConfigTcpCheckSlice(c *Client, i interface{}, res *UptimeCheckConfig) []UptimeCheckConfigTcpCheck {
- a, ok := i.([]interface{})
- if !ok {
- return []UptimeCheckConfigTcpCheck{}
- }
-
- if len(a) == 0 {
- return []UptimeCheckConfigTcpCheck{}
- }
-
- items := make([]UptimeCheckConfigTcpCheck, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenUptimeCheckConfigTcpCheck(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandUptimeCheckConfigTcpCheck expands an instance of UptimeCheckConfigTcpCheck into a JSON
-// request object.
-func expandUptimeCheckConfigTcpCheck(c *Client, f *UptimeCheckConfigTcpCheck, res *UptimeCheckConfig) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Port; !dcl.IsEmptyValueIndirect(v) {
- m["port"] = v
- }
-
- return m, nil
-}
-
-// flattenUptimeCheckConfigTcpCheck flattens an instance of UptimeCheckConfigTcpCheck from a JSON
-// response object.
-func flattenUptimeCheckConfigTcpCheck(c *Client, i interface{}, res *UptimeCheckConfig) *UptimeCheckConfigTcpCheck {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &UptimeCheckConfigTcpCheck{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyUptimeCheckConfigTcpCheck
- }
- r.Port = dcl.FlattenInteger(m["port"])
-
- return r
-}
-
-// expandUptimeCheckConfigContentMatchersMap expands the contents of UptimeCheckConfigContentMatchers into a JSON
-// request object.
-func expandUptimeCheckConfigContentMatchersMap(c *Client, f map[string]UptimeCheckConfigContentMatchers, res *UptimeCheckConfig) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandUptimeCheckConfigContentMatchers(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandUptimeCheckConfigContentMatchersSlice expands the contents of UptimeCheckConfigContentMatchers into a JSON
-// request object.
-func expandUptimeCheckConfigContentMatchersSlice(c *Client, f []UptimeCheckConfigContentMatchers, res *UptimeCheckConfig) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandUptimeCheckConfigContentMatchers(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenUptimeCheckConfigContentMatchersMap flattens the contents of UptimeCheckConfigContentMatchers from a JSON
-// response object.
-func flattenUptimeCheckConfigContentMatchersMap(c *Client, i interface{}, res *UptimeCheckConfig) map[string]UptimeCheckConfigContentMatchers {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]UptimeCheckConfigContentMatchers{}
- }
-
- if len(a) == 0 {
- return map[string]UptimeCheckConfigContentMatchers{}
- }
-
- items := make(map[string]UptimeCheckConfigContentMatchers)
- for k, item := range a {
- items[k] = *flattenUptimeCheckConfigContentMatchers(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenUptimeCheckConfigContentMatchersSlice flattens the contents of UptimeCheckConfigContentMatchers from a JSON
-// response object.
-func flattenUptimeCheckConfigContentMatchersSlice(c *Client, i interface{}, res *UptimeCheckConfig) []UptimeCheckConfigContentMatchers {
- a, ok := i.([]interface{})
- if !ok {
- return []UptimeCheckConfigContentMatchers{}
- }
-
- if len(a) == 0 {
- return []UptimeCheckConfigContentMatchers{}
- }
-
- items := make([]UptimeCheckConfigContentMatchers, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenUptimeCheckConfigContentMatchers(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandUptimeCheckConfigContentMatchers expands an instance of UptimeCheckConfigContentMatchers into a JSON
-// request object.
-func expandUptimeCheckConfigContentMatchers(c *Client, f *UptimeCheckConfigContentMatchers, res *UptimeCheckConfig) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Content; !dcl.IsEmptyValueIndirect(v) {
- m["content"] = v
- }
- if v := f.Matcher; !dcl.IsEmptyValueIndirect(v) {
- m["matcher"] = v
- }
-
- return m, nil
-}
-
-// flattenUptimeCheckConfigContentMatchers flattens an instance of UptimeCheckConfigContentMatchers from a JSON
-// response object.
-func flattenUptimeCheckConfigContentMatchers(c *Client, i interface{}, res *UptimeCheckConfig) *UptimeCheckConfigContentMatchers {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &UptimeCheckConfigContentMatchers{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyUptimeCheckConfigContentMatchers
- }
- r.Content = dcl.FlattenString(m["content"])
- r.Matcher = flattenUptimeCheckConfigContentMatchersMatcherEnum(m["matcher"])
- if dcl.IsEmptyValueIndirect(m["matcher"]) {
- c.Config.Logger.Info("Using default value for matcher.")
- r.Matcher = UptimeCheckConfigContentMatchersMatcherEnumRef("CONTAINS_STRING")
- }
-
- return r
-}
-
-// flattenUptimeCheckConfigResourceGroupResourceTypeEnumMap flattens the contents of UptimeCheckConfigResourceGroupResourceTypeEnum from a JSON
-// response object.
-func flattenUptimeCheckConfigResourceGroupResourceTypeEnumMap(c *Client, i interface{}, res *UptimeCheckConfig) map[string]UptimeCheckConfigResourceGroupResourceTypeEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]UptimeCheckConfigResourceGroupResourceTypeEnum{}
- }
-
- if len(a) == 0 {
- return map[string]UptimeCheckConfigResourceGroupResourceTypeEnum{}
- }
-
- items := make(map[string]UptimeCheckConfigResourceGroupResourceTypeEnum)
- for k, item := range a {
- items[k] = *flattenUptimeCheckConfigResourceGroupResourceTypeEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenUptimeCheckConfigResourceGroupResourceTypeEnumSlice flattens the contents of UptimeCheckConfigResourceGroupResourceTypeEnum from a JSON
-// response object.
-func flattenUptimeCheckConfigResourceGroupResourceTypeEnumSlice(c *Client, i interface{}, res *UptimeCheckConfig) []UptimeCheckConfigResourceGroupResourceTypeEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []UptimeCheckConfigResourceGroupResourceTypeEnum{}
- }
-
- if len(a) == 0 {
- return []UptimeCheckConfigResourceGroupResourceTypeEnum{}
- }
-
- items := make([]UptimeCheckConfigResourceGroupResourceTypeEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenUptimeCheckConfigResourceGroupResourceTypeEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenUptimeCheckConfigResourceGroupResourceTypeEnum asserts that an interface is a string, and returns a
-// pointer to a *UptimeCheckConfigResourceGroupResourceTypeEnum with the same value as that string.
-func flattenUptimeCheckConfigResourceGroupResourceTypeEnum(i interface{}) *UptimeCheckConfigResourceGroupResourceTypeEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return UptimeCheckConfigResourceGroupResourceTypeEnumRef(s)
-}
-
-// flattenUptimeCheckConfigHttpCheckRequestMethodEnumMap flattens the contents of UptimeCheckConfigHttpCheckRequestMethodEnum from a JSON
-// response object.
-func flattenUptimeCheckConfigHttpCheckRequestMethodEnumMap(c *Client, i interface{}, res *UptimeCheckConfig) map[string]UptimeCheckConfigHttpCheckRequestMethodEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]UptimeCheckConfigHttpCheckRequestMethodEnum{}
- }
-
- if len(a) == 0 {
- return map[string]UptimeCheckConfigHttpCheckRequestMethodEnum{}
- }
-
- items := make(map[string]UptimeCheckConfigHttpCheckRequestMethodEnum)
- for k, item := range a {
- items[k] = *flattenUptimeCheckConfigHttpCheckRequestMethodEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenUptimeCheckConfigHttpCheckRequestMethodEnumSlice flattens the contents of UptimeCheckConfigHttpCheckRequestMethodEnum from a JSON
-// response object.
-func flattenUptimeCheckConfigHttpCheckRequestMethodEnumSlice(c *Client, i interface{}, res *UptimeCheckConfig) []UptimeCheckConfigHttpCheckRequestMethodEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []UptimeCheckConfigHttpCheckRequestMethodEnum{}
- }
-
- if len(a) == 0 {
- return []UptimeCheckConfigHttpCheckRequestMethodEnum{}
- }
-
- items := make([]UptimeCheckConfigHttpCheckRequestMethodEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenUptimeCheckConfigHttpCheckRequestMethodEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenUptimeCheckConfigHttpCheckRequestMethodEnum asserts that an interface is a string, and returns a
-// pointer to a *UptimeCheckConfigHttpCheckRequestMethodEnum with the same value as that string.
-func flattenUptimeCheckConfigHttpCheckRequestMethodEnum(i interface{}) *UptimeCheckConfigHttpCheckRequestMethodEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return UptimeCheckConfigHttpCheckRequestMethodEnumRef(s)
-}
-
-// flattenUptimeCheckConfigHttpCheckContentTypeEnumMap flattens the contents of UptimeCheckConfigHttpCheckContentTypeEnum from a JSON
-// response object.
-func flattenUptimeCheckConfigHttpCheckContentTypeEnumMap(c *Client, i interface{}, res *UptimeCheckConfig) map[string]UptimeCheckConfigHttpCheckContentTypeEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]UptimeCheckConfigHttpCheckContentTypeEnum{}
- }
-
- if len(a) == 0 {
- return map[string]UptimeCheckConfigHttpCheckContentTypeEnum{}
- }
-
- items := make(map[string]UptimeCheckConfigHttpCheckContentTypeEnum)
- for k, item := range a {
- items[k] = *flattenUptimeCheckConfigHttpCheckContentTypeEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenUptimeCheckConfigHttpCheckContentTypeEnumSlice flattens the contents of UptimeCheckConfigHttpCheckContentTypeEnum from a JSON
-// response object.
-func flattenUptimeCheckConfigHttpCheckContentTypeEnumSlice(c *Client, i interface{}, res *UptimeCheckConfig) []UptimeCheckConfigHttpCheckContentTypeEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []UptimeCheckConfigHttpCheckContentTypeEnum{}
- }
-
- if len(a) == 0 {
- return []UptimeCheckConfigHttpCheckContentTypeEnum{}
- }
-
- items := make([]UptimeCheckConfigHttpCheckContentTypeEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenUptimeCheckConfigHttpCheckContentTypeEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenUptimeCheckConfigHttpCheckContentTypeEnum asserts that an interface is a string, and returns a
-// pointer to a *UptimeCheckConfigHttpCheckContentTypeEnum with the same value as that string.
-func flattenUptimeCheckConfigHttpCheckContentTypeEnum(i interface{}) *UptimeCheckConfigHttpCheckContentTypeEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return UptimeCheckConfigHttpCheckContentTypeEnumRef(s)
-}
-
-// flattenUptimeCheckConfigContentMatchersMatcherEnumMap flattens the contents of UptimeCheckConfigContentMatchersMatcherEnum from a JSON
-// response object.
-func flattenUptimeCheckConfigContentMatchersMatcherEnumMap(c *Client, i interface{}, res *UptimeCheckConfig) map[string]UptimeCheckConfigContentMatchersMatcherEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]UptimeCheckConfigContentMatchersMatcherEnum{}
- }
-
- if len(a) == 0 {
- return map[string]UptimeCheckConfigContentMatchersMatcherEnum{}
- }
-
- items := make(map[string]UptimeCheckConfigContentMatchersMatcherEnum)
- for k, item := range a {
- items[k] = *flattenUptimeCheckConfigContentMatchersMatcherEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenUptimeCheckConfigContentMatchersMatcherEnumSlice flattens the contents of UptimeCheckConfigContentMatchersMatcherEnum from a JSON
-// response object.
-func flattenUptimeCheckConfigContentMatchersMatcherEnumSlice(c *Client, i interface{}, res *UptimeCheckConfig) []UptimeCheckConfigContentMatchersMatcherEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []UptimeCheckConfigContentMatchersMatcherEnum{}
- }
-
- if len(a) == 0 {
- return []UptimeCheckConfigContentMatchersMatcherEnum{}
- }
-
- items := make([]UptimeCheckConfigContentMatchersMatcherEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenUptimeCheckConfigContentMatchersMatcherEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenUptimeCheckConfigContentMatchersMatcherEnum asserts that an interface is a string, and returns a
-// pointer to a *UptimeCheckConfigContentMatchersMatcherEnum with the same value as that string.
-func flattenUptimeCheckConfigContentMatchersMatcherEnum(i interface{}) *UptimeCheckConfigContentMatchersMatcherEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return UptimeCheckConfigContentMatchersMatcherEnumRef(s)
-}
-
-// This function returns a matcher that checks whether a serialized resource matches this resource
-// in its parameters (as defined by the fields in a Get, which definitionally define resource
-// identity). This is useful in extracting the element from a List call.
-func (r *UptimeCheckConfig) matcher(c *Client) func([]byte) bool {
- return func(b []byte) bool {
- cr, err := unmarshalUptimeCheckConfig(b, c, r)
- if err != nil {
- c.Config.Logger.Warning("failed to unmarshal provided resource in matcher.")
- return false
- }
- nr := r.urlNormalized()
- ncr := cr.urlNormalized()
- c.Config.Logger.Infof("looking for %v\nin %v", nr, ncr)
-
- if nr.Project == nil && ncr.Project == nil {
- c.Config.Logger.Info("Both Project fields null - considering equal.")
- } else if nr.Project == nil || ncr.Project == nil {
- c.Config.Logger.Info("Only one Project field is null - considering unequal.")
- return false
- } else if *nr.Project != *ncr.Project {
- return false
- }
- if nr.Name == nil && ncr.Name == nil {
- c.Config.Logger.Info("Both Name fields null - considering equal.")
- } else if nr.Name == nil || ncr.Name == nil {
- c.Config.Logger.Info("Only one Name field is null - considering unequal.")
- return false
- } else if *nr.Name != *ncr.Name {
- return false
- }
- return true
- }
-}
-
-type uptimeCheckConfigDiff struct {
- // The diff should include one or the other of RequiresRecreate or UpdateOp.
- RequiresRecreate bool
- UpdateOp uptimeCheckConfigApiOperation
- FieldName string // used for error logging
-}
-
-func convertFieldDiffsToUptimeCheckConfigDiffs(config *dcl.Config, fds []*dcl.FieldDiff, opts []dcl.ApplyOption) ([]uptimeCheckConfigDiff, error) {
- opNamesToFieldDiffs := make(map[string][]*dcl.FieldDiff)
- // Map each operation name to the field diffs associated with it.
- for _, fd := range fds {
- for _, ro := range fd.ResultingOperation {
- if fieldDiffs, ok := opNamesToFieldDiffs[ro]; ok {
- fieldDiffs = append(fieldDiffs, fd)
- opNamesToFieldDiffs[ro] = fieldDiffs
- } else {
- config.Logger.Infof("%s required due to diff: %v", ro, fd)
- opNamesToFieldDiffs[ro] = []*dcl.FieldDiff{fd}
- }
- }
- }
- var diffs []uptimeCheckConfigDiff
- // For each operation name, create a uptimeCheckConfigDiff which contains the operation.
- for opName, fieldDiffs := range opNamesToFieldDiffs {
- // Use the first field diff's field name for logging required recreate error.
- diff := uptimeCheckConfigDiff{FieldName: fieldDiffs[0].FieldName}
- if opName == "Recreate" {
- diff.RequiresRecreate = true
- } else {
- apiOp, err := convertOpNameToUptimeCheckConfigApiOperation(opName, fieldDiffs, opts...)
- if err != nil {
- return diffs, err
- }
- diff.UpdateOp = apiOp
- }
- diffs = append(diffs, diff)
- }
- return diffs, nil
-}
-
-func convertOpNameToUptimeCheckConfigApiOperation(opName string, fieldDiffs []*dcl.FieldDiff, opts ...dcl.ApplyOption) (uptimeCheckConfigApiOperation, error) {
- switch opName {
-
- case "updateUptimeCheckConfigUpdateUptimeCheckConfigOperation":
- return &updateUptimeCheckConfigUpdateUptimeCheckConfigOperation{FieldDiffs: fieldDiffs}, nil
-
- default:
- return nil, fmt.Errorf("no such operation with name: %v", opName)
- }
-}
-
-func extractUptimeCheckConfigFields(r *UptimeCheckConfig) error {
- vMonitoredResource := r.MonitoredResource
- if vMonitoredResource == nil {
- // note: explicitly not the empty object.
- vMonitoredResource = &UptimeCheckConfigMonitoredResource{}
- }
- if err := extractUptimeCheckConfigMonitoredResourceFields(r, vMonitoredResource); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vMonitoredResource) {
- r.MonitoredResource = vMonitoredResource
- }
- vResourceGroup := r.ResourceGroup
- if vResourceGroup == nil {
- // note: explicitly not the empty object.
- vResourceGroup = &UptimeCheckConfigResourceGroup{}
- }
- if err := extractUptimeCheckConfigResourceGroupFields(r, vResourceGroup); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vResourceGroup) {
- r.ResourceGroup = vResourceGroup
- }
- vHttpCheck := r.HttpCheck
- if vHttpCheck == nil {
- // note: explicitly not the empty object.
- vHttpCheck = &UptimeCheckConfigHttpCheck{}
- }
- if err := extractUptimeCheckConfigHttpCheckFields(r, vHttpCheck); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vHttpCheck) {
- r.HttpCheck = vHttpCheck
- }
- vTcpCheck := r.TcpCheck
- if vTcpCheck == nil {
- // note: explicitly not the empty object.
- vTcpCheck = &UptimeCheckConfigTcpCheck{}
- }
- if err := extractUptimeCheckConfigTcpCheckFields(r, vTcpCheck); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTcpCheck) {
- r.TcpCheck = vTcpCheck
- }
- return nil
-}
-func extractUptimeCheckConfigMonitoredResourceFields(r *UptimeCheckConfig, o *UptimeCheckConfigMonitoredResource) error {
- return nil
-}
-func extractUptimeCheckConfigResourceGroupFields(r *UptimeCheckConfig, o *UptimeCheckConfigResourceGroup) error {
- return nil
-}
-func extractUptimeCheckConfigHttpCheckFields(r *UptimeCheckConfig, o *UptimeCheckConfigHttpCheck) error {
- vAuthInfo := o.AuthInfo
- if vAuthInfo == nil {
- // note: explicitly not the empty object.
- vAuthInfo = &UptimeCheckConfigHttpCheckAuthInfo{}
- }
- if err := extractUptimeCheckConfigHttpCheckAuthInfoFields(r, vAuthInfo); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAuthInfo) {
- o.AuthInfo = vAuthInfo
- }
- return nil
-}
-func extractUptimeCheckConfigHttpCheckAuthInfoFields(r *UptimeCheckConfig, o *UptimeCheckConfigHttpCheckAuthInfo) error {
- return nil
-}
-func extractUptimeCheckConfigTcpCheckFields(r *UptimeCheckConfig, o *UptimeCheckConfigTcpCheck) error {
- return nil
-}
-func extractUptimeCheckConfigContentMatchersFields(r *UptimeCheckConfig, o *UptimeCheckConfigContentMatchers) error {
- return nil
-}
-
-func postReadExtractUptimeCheckConfigFields(r *UptimeCheckConfig) error {
- vMonitoredResource := r.MonitoredResource
- if vMonitoredResource == nil {
- // note: explicitly not the empty object.
- vMonitoredResource = &UptimeCheckConfigMonitoredResource{}
- }
- if err := postReadExtractUptimeCheckConfigMonitoredResourceFields(r, vMonitoredResource); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vMonitoredResource) {
- r.MonitoredResource = vMonitoredResource
- }
- vResourceGroup := r.ResourceGroup
- if vResourceGroup == nil {
- // note: explicitly not the empty object.
- vResourceGroup = &UptimeCheckConfigResourceGroup{}
- }
- if err := postReadExtractUptimeCheckConfigResourceGroupFields(r, vResourceGroup); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vResourceGroup) {
- r.ResourceGroup = vResourceGroup
- }
- vHttpCheck := r.HttpCheck
- if vHttpCheck == nil {
- // note: explicitly not the empty object.
- vHttpCheck = &UptimeCheckConfigHttpCheck{}
- }
- if err := postReadExtractUptimeCheckConfigHttpCheckFields(r, vHttpCheck); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vHttpCheck) {
- r.HttpCheck = vHttpCheck
- }
- vTcpCheck := r.TcpCheck
- if vTcpCheck == nil {
- // note: explicitly not the empty object.
- vTcpCheck = &UptimeCheckConfigTcpCheck{}
- }
- if err := postReadExtractUptimeCheckConfigTcpCheckFields(r, vTcpCheck); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vTcpCheck) {
- r.TcpCheck = vTcpCheck
- }
- return nil
-}
-func postReadExtractUptimeCheckConfigMonitoredResourceFields(r *UptimeCheckConfig, o *UptimeCheckConfigMonitoredResource) error {
- return nil
-}
-func postReadExtractUptimeCheckConfigResourceGroupFields(r *UptimeCheckConfig, o *UptimeCheckConfigResourceGroup) error {
- return nil
-}
-func postReadExtractUptimeCheckConfigHttpCheckFields(r *UptimeCheckConfig, o *UptimeCheckConfigHttpCheck) error {
- vAuthInfo := o.AuthInfo
- if vAuthInfo == nil {
- // note: explicitly not the empty object.
- vAuthInfo = &UptimeCheckConfigHttpCheckAuthInfo{}
- }
- if err := extractUptimeCheckConfigHttpCheckAuthInfoFields(r, vAuthInfo); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vAuthInfo) {
- o.AuthInfo = vAuthInfo
- }
- return nil
-}
-func postReadExtractUptimeCheckConfigHttpCheckAuthInfoFields(r *UptimeCheckConfig, o *UptimeCheckConfigHttpCheckAuthInfo) error {
- return nil
-}
-func postReadExtractUptimeCheckConfigTcpCheckFields(r *UptimeCheckConfig, o *UptimeCheckConfigTcpCheck) error {
- return nil
-}
-func postReadExtractUptimeCheckConfigContentMatchersFields(r *UptimeCheckConfig, o *UptimeCheckConfigContentMatchers) error {
- return nil
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/uptime_check_config_schema.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/uptime_check_config_schema.go
deleted file mode 100644
index 5c0db53f08..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/uptime_check_config_schema.go
+++ /dev/null
@@ -1,371 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 monitoring
-
-import (
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-func DCLUptimeCheckConfigSchema() *dcl.Schema {
- return &dcl.Schema{
- Info: &dcl.Info{
- Title: "Monitoring/UptimeCheckConfig",
- Description: "The Monitoring UptimeCheckConfig resource",
- StructName: "UptimeCheckConfig",
- },
- Paths: &dcl.Paths{
- Get: &dcl.Path{
- Description: "The function used to get information about a UptimeCheckConfig",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "uptimeCheckConfig",
- Required: true,
- Description: "A full instance of a UptimeCheckConfig",
- },
- },
- },
- Apply: &dcl.Path{
- Description: "The function used to apply information about a UptimeCheckConfig",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "uptimeCheckConfig",
- Required: true,
- Description: "A full instance of a UptimeCheckConfig",
- },
- },
- },
- Delete: &dcl.Path{
- Description: "The function used to delete a UptimeCheckConfig",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "uptimeCheckConfig",
- Required: true,
- Description: "A full instance of a UptimeCheckConfig",
- },
- },
- },
- DeleteAll: &dcl.Path{
- Description: "The function used to delete all UptimeCheckConfig",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "project",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- },
- },
- List: &dcl.Path{
- Description: "The function used to list information about many UptimeCheckConfig",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "project",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- },
- },
- },
- Components: &dcl.Components{
- Schemas: map[string]*dcl.Component{
- "UptimeCheckConfig": &dcl.Component{
- Title: "UptimeCheckConfig",
- ID: "projects/{{project}}/uptimeCheckConfigs/{{name}}",
- UsesStateHint: true,
- ParentContainer: "project",
- HasCreate: true,
- SchemaProperty: dcl.Property{
- Type: "object",
- Required: []string{
- "displayName",
- "timeout",
- },
- Properties: map[string]*dcl.Property{
- "contentMatchers": &dcl.Property{
- Type: "array",
- GoName: "ContentMatchers",
- Description: "The content that is expected to appear in the data returned by the target server against which the check is run. Currently, only the first entry in the `content_matchers` list is supported, and additional entries will be ignored. This field is optional and should only be specified if a content match is required as part of the/ Uptime check.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "object",
- GoType: "UptimeCheckConfigContentMatchers",
- Required: []string{
- "content",
- },
- Properties: map[string]*dcl.Property{
- "content": &dcl.Property{
- Type: "string",
- GoName: "Content",
- },
- "matcher": &dcl.Property{
- Type: "string",
- GoName: "Matcher",
- GoType: "UptimeCheckConfigContentMatchersMatcherEnum",
- Description: " Possible values: CONTENT_MATCHER_OPTION_UNSPECIFIED, CONTAINS_STRING, NOT_CONTAINS_STRING, MATCHES_REGEX, NOT_MATCHES_REGEX",
- Default: "CONTAINS_STRING",
- Enum: []string{
- "CONTENT_MATCHER_OPTION_UNSPECIFIED",
- "CONTAINS_STRING",
- "NOT_CONTAINS_STRING",
- "MATCHES_REGEX",
- "NOT_MATCHES_REGEX",
- },
- },
- },
- },
- },
- "displayName": &dcl.Property{
- Type: "string",
- GoName: "DisplayName",
- Description: "A human-friendly name for the Uptime check configuration. The display name should be unique within a Stackdriver Workspace in order to make it easier to identify; however, uniqueness is not enforced. Required.",
- },
- "httpCheck": &dcl.Property{
- Type: "object",
- GoName: "HttpCheck",
- GoType: "UptimeCheckConfigHttpCheck",
- Description: "Contains information needed to make an HTTP or HTTPS check.",
- Conflicts: []string{
- "tcpCheck",
- },
- Properties: map[string]*dcl.Property{
- "authInfo": &dcl.Property{
- Type: "object",
- GoName: "AuthInfo",
- GoType: "UptimeCheckConfigHttpCheckAuthInfo",
- Description: "The authentication information. Optional when creating an HTTP check; defaults to empty.",
- Required: []string{
- "username",
- "password",
- },
- Properties: map[string]*dcl.Property{
- "password": &dcl.Property{
- Type: "string",
- GoName: "Password",
- Sensitive: true,
- Unreadable: true,
- },
- "username": &dcl.Property{
- Type: "string",
- GoName: "Username",
- },
- },
- },
- "body": &dcl.Property{
- Type: "string",
- GoName: "Body",
- Description: "The request body associated with the HTTP POST request. If `content_type` is `URL_ENCODED`, the body passed in must be URL-encoded. Users can provide a `Content-Length` header via the `headers` field or the API will do so. If the `request_method` is `GET` and `body` is not empty, the API will return an error. The maximum byte size is 1 megabyte. Note: As with all `bytes` fields JSON representations are base64 encoded. e.g.: \"foo=bar\" in URL-encoded form is \"foo%3Dbar\" and in base64 encoding is \"Zm9vJTI1M0RiYXI=\".",
- },
- "contentType": &dcl.Property{
- Type: "string",
- GoName: "ContentType",
- GoType: "UptimeCheckConfigHttpCheckContentTypeEnum",
- Description: "The content type to use for the check. Possible values: TYPE_UNSPECIFIED, URL_ENCODED",
- Immutable: true,
- Enum: []string{
- "TYPE_UNSPECIFIED",
- "URL_ENCODED",
- },
- },
- "headers": &dcl.Property{
- Type: "object",
- AdditionalProperties: &dcl.Property{
- Type: "string",
- },
- GoName: "Headers",
- Description: "The list of headers to send as part of the Uptime check request. If two headers have the same key and different values, they should be entered as a single header, with the value being a comma-separated list of all the desired values as described at https://www.w3.org/Protocols/rfc2616/rfc2616.txt (page 31). Entering two separate headers with the same key in a Create call will cause the first to be overwritten by the second. The maximum number of headers allowed is 100.",
- ServerDefault: true,
- Unreadable: true,
- },
- "maskHeaders": &dcl.Property{
- Type: "boolean",
- GoName: "MaskHeaders",
- Description: "Boolean specifying whether to encrypt the header information. Encryption should be specified for any headers related to authentication that you do not wish to be seen when retrieving the configuration. The server will be responsible for encrypting the headers. On Get/List calls, if `mask_headers` is set to `true` then the headers will be obscured with `******.`",
- Immutable: true,
- },
- "path": &dcl.Property{
- Type: "string",
- GoName: "Path",
- Description: "Optional (defaults to \"/\"). The path to the page against which to run the check. Will be combined with the `host` (specified within the `monitored_resource`) and `port` to construct the full URL. If the provided path does not begin with \"/\", a \"/\" will be prepended automatically.",
- Default: "/",
- },
- "port": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "Port",
- Description: "Optional (defaults to 80 when `use_ssl` is `false`, and 443 when `use_ssl` is `true`). The TCP port on the HTTP server against which to run the check. Will be combined with host (specified within the `monitored_resource`) and `path` to construct the full URL.",
- ServerDefault: true,
- },
- "requestMethod": &dcl.Property{
- Type: "string",
- GoName: "RequestMethod",
- GoType: "UptimeCheckConfigHttpCheckRequestMethodEnum",
- Description: "The HTTP request method to use for the check. If set to `METHOD_UNSPECIFIED` then `request_method` defaults to `GET`.",
- Immutable: true,
- Default: "GET",
- Enum: []string{
- "METHOD_UNSPECIFIED",
- "GET",
- "POST",
- },
- },
- "useSsl": &dcl.Property{
- Type: "boolean",
- GoName: "UseSsl",
- Description: "If `true`, use HTTPS instead of HTTP to run the check.",
- },
- "validateSsl": &dcl.Property{
- Type: "boolean",
- GoName: "ValidateSsl",
- Description: "Boolean specifying whether to include SSL certificate validation as a part of the Uptime check. Only applies to checks where `monitored_resource` is set to `uptime_url`. If `use_ssl` is `false`, setting `validate_ssl` to `true` has no effect.",
- },
- },
- },
- "monitoredResource": &dcl.Property{
- Type: "object",
- GoName: "MonitoredResource",
- GoType: "UptimeCheckConfigMonitoredResource",
- Description: "The [monitored resource](https://cloud.google.com/monitoring/api/resources) associated with the configuration. The following monitored resource types are supported for Uptime checks: `uptime_url`, `gce_instance`, `gae_app`, `aws_ec2_instance`, `aws_elb_load_balancer`",
- Immutable: true,
- Conflicts: []string{
- "resourceGroup",
- },
- Required: []string{
- "type",
- "filterLabels",
- },
- Properties: map[string]*dcl.Property{
- "filterLabels": &dcl.Property{
- Type: "object",
- AdditionalProperties: &dcl.Property{
- Type: "string",
- },
- GoName: "FilterLabels",
- Immutable: true,
- },
- "type": &dcl.Property{
- Type: "string",
- GoName: "Type",
- Immutable: true,
- },
- },
- },
- "name": &dcl.Property{
- Type: "string",
- GoName: "Name",
- Description: "A unique resource name for this Uptime check configuration. The format is: projects/[PROJECT_ID_OR_NUMBER]/uptimeCheckConfigs/[UPTIME_CHECK_ID] This field should be omitted when creating the Uptime check configuration; on create, the resource name is assigned by the server and included in the response.",
- Immutable: true,
- ServerGeneratedParameter: true,
- },
- "period": &dcl.Property{
- Type: "string",
- GoName: "Period",
- Description: "How often, in seconds, the Uptime check is performed. Currently, the only supported values are `60s` (1 minute), `300s` (5 minutes), `600s` (10 minutes), and `900s` (15 minutes). Optional, defaults to `60s`.",
- Default: "60s",
- },
- "project": &dcl.Property{
- Type: "string",
- GoName: "Project",
- Description: "The project for this uptime check config.",
- Immutable: true,
- ResourceReferences: []*dcl.PropertyResourceReference{
- &dcl.PropertyResourceReference{
- Resource: "Cloudresourcemanager/Project",
- Field: "name",
- Parent: true,
- },
- },
- },
- "resourceGroup": &dcl.Property{
- Type: "object",
- GoName: "ResourceGroup",
- GoType: "UptimeCheckConfigResourceGroup",
- Description: "The group resource associated with the configuration.",
- Immutable: true,
- Conflicts: []string{
- "monitoredResource",
- },
- Properties: map[string]*dcl.Property{
- "groupId": &dcl.Property{
- Type: "string",
- GoName: "GroupId",
- Description: "The group of resources being monitored. Should be only the `[GROUP_ID]`, and not the full-path `projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID]`.",
- Immutable: true,
- ResourceReferences: []*dcl.PropertyResourceReference{
- &dcl.PropertyResourceReference{
- Resource: "Monitoring/Group",
- Field: "name",
- },
- },
- },
- "resourceType": &dcl.Property{
- Type: "string",
- GoName: "ResourceType",
- GoType: "UptimeCheckConfigResourceGroupResourceTypeEnum",
- Description: "The resource type of the group members. Possible values: RESOURCE_TYPE_UNSPECIFIED, INSTANCE, AWS_ELB_LOAD_BALANCER",
- Immutable: true,
- Enum: []string{
- "RESOURCE_TYPE_UNSPECIFIED",
- "INSTANCE",
- "AWS_ELB_LOAD_BALANCER",
- },
- },
- },
- },
- "selectedRegions": &dcl.Property{
- Type: "array",
- GoName: "SelectedRegions",
- Description: "The list of regions from which the check will be run. Some regions contain one location, and others contain more than one. If this field is specified, enough regions must be provided to include a minimum of 3 locations. Not specifying this field will result in Uptime checks running from all available regions.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "tcpCheck": &dcl.Property{
- Type: "object",
- GoName: "TcpCheck",
- GoType: "UptimeCheckConfigTcpCheck",
- Description: "Contains information needed to make a TCP check.",
- Conflicts: []string{
- "httpCheck",
- },
- Required: []string{
- "port",
- },
- Properties: map[string]*dcl.Property{
- "port": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "Port",
- Description: "The TCP port on the server against which to run the check. Will be combined with host (specified within the `monitored_resource`) to construct the full URL. Required.",
- },
- },
- },
- "timeout": &dcl.Property{
- Type: "string",
- GoName: "Timeout",
- Description: "The maximum amount of time to wait for the request to complete (must be between 1 and 60 seconds). Required.",
- },
- },
- },
- },
- },
- },
- }
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/uptime_check_config_yaml_embed.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/uptime_check_config_yaml_embed.go
deleted file mode 100644
index 92907c4ed7..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/monitoring/uptime_check_config_yaml_embed.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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.
-// GENERATED BY gen_go_data.go
-// gen_go_data -package monitoring -var YAML_uptime_check_config blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/monitoring/uptime_check_config.yaml
-
-package monitoring
-
-// blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/monitoring/uptime_check_config.yaml
-var YAML_uptime_check_config = []byte("info:\n title: Monitoring/UptimeCheckConfig\n description: The Monitoring UptimeCheckConfig resource\n x-dcl-struct-name: UptimeCheckConfig\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a UptimeCheckConfig\n parameters:\n - name: uptimeCheckConfig\n required: true\n description: A full instance of a UptimeCheckConfig\n apply:\n description: The function used to apply information about a UptimeCheckConfig\n parameters:\n - name: uptimeCheckConfig\n required: true\n description: A full instance of a UptimeCheckConfig\n delete:\n description: The function used to delete a UptimeCheckConfig\n parameters:\n - name: uptimeCheckConfig\n required: true\n description: A full instance of a UptimeCheckConfig\n deleteAll:\n description: The function used to delete all UptimeCheckConfig\n parameters:\n - name: project\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many UptimeCheckConfig\n parameters:\n - name: project\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n UptimeCheckConfig:\n title: UptimeCheckConfig\n x-dcl-id: projects/{{project}}/uptimeCheckConfigs/{{name}}\n x-dcl-uses-state-hint: true\n x-dcl-parent-container: project\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - displayName\n - timeout\n properties:\n contentMatchers:\n type: array\n x-dcl-go-name: ContentMatchers\n description: The content that is expected to appear in the data returned\n by the target server against which the check is run. Currently, only\n the first entry in the `content_matchers` list is supported, and additional\n entries will be ignored. This field is optional and should only be specified\n if a content match is required as part of the/ Uptime check.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: UptimeCheckConfigContentMatchers\n required:\n - content\n properties:\n content:\n type: string\n x-dcl-go-name: Content\n matcher:\n type: string\n x-dcl-go-name: Matcher\n x-dcl-go-type: UptimeCheckConfigContentMatchersMatcherEnum\n description: ' Possible values: CONTENT_MATCHER_OPTION_UNSPECIFIED,\n CONTAINS_STRING, NOT_CONTAINS_STRING, MATCHES_REGEX, NOT_MATCHES_REGEX'\n default: CONTAINS_STRING\n enum:\n - CONTENT_MATCHER_OPTION_UNSPECIFIED\n - CONTAINS_STRING\n - NOT_CONTAINS_STRING\n - MATCHES_REGEX\n - NOT_MATCHES_REGEX\n displayName:\n type: string\n x-dcl-go-name: DisplayName\n description: A human-friendly name for the Uptime check configuration. The\n display name should be unique within a Stackdriver Workspace in order\n to make it easier to identify; however, uniqueness is not enforced. Required.\n httpCheck:\n type: object\n x-dcl-go-name: HttpCheck\n x-dcl-go-type: UptimeCheckConfigHttpCheck\n description: Contains information needed to make an HTTP or HTTPS check.\n x-dcl-conflicts:\n - tcpCheck\n properties:\n authInfo:\n type: object\n x-dcl-go-name: AuthInfo\n x-dcl-go-type: UptimeCheckConfigHttpCheckAuthInfo\n description: The authentication information. Optional when creating\n an HTTP check; defaults to empty.\n required:\n - username\n - password\n properties:\n password:\n type: string\n x-dcl-go-name: Password\n x-dcl-sensitive: true\n x-dcl-mutable-unreadable: true\n username:\n type: string\n x-dcl-go-name: Username\n body:\n type: string\n x-dcl-go-name: Body\n description: 'The request body associated with the HTTP POST request.\n If `content_type` is `URL_ENCODED`, the body passed in must be URL-encoded.\n Users can provide a `Content-Length` header via the `headers` field\n or the API will do so. If the `request_method` is `GET` and `body`\n is not empty, the API will return an error. The maximum byte size\n is 1 megabyte. Note: As with all `bytes` fields JSON representations\n are base64 encoded. e.g.: \"foo=bar\" in URL-encoded form is \"foo%3Dbar\"\n and in base64 encoding is \"Zm9vJTI1M0RiYXI=\".'\n contentType:\n type: string\n x-dcl-go-name: ContentType\n x-dcl-go-type: UptimeCheckConfigHttpCheckContentTypeEnum\n description: 'The content type to use for the check. Possible values:\n TYPE_UNSPECIFIED, URL_ENCODED'\n x-kubernetes-immutable: true\n enum:\n - TYPE_UNSPECIFIED\n - URL_ENCODED\n headers:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Headers\n description: The list of headers to send as part of the Uptime check\n request. If two headers have the same key and different values, they\n should be entered as a single header, with the value being a comma-separated\n list of all the desired values as described at https://www.w3.org/Protocols/rfc2616/rfc2616.txt\n (page 31). Entering two separate headers with the same key in a Create\n call will cause the first to be overwritten by the second. The maximum\n number of headers allowed is 100.\n x-dcl-server-default: true\n x-dcl-mutable-unreadable: true\n maskHeaders:\n type: boolean\n x-dcl-go-name: MaskHeaders\n description: Boolean specifying whether to encrypt the header information.\n Encryption should be specified for any headers related to authentication\n that you do not wish to be seen when retrieving the configuration.\n The server will be responsible for encrypting the headers. On Get/List\n calls, if `mask_headers` is set to `true` then the headers will be\n obscured with `******.`\n x-kubernetes-immutable: true\n path:\n type: string\n x-dcl-go-name: Path\n description: Optional (defaults to \"/\"). The path to the page against\n which to run the check. Will be combined with the `host` (specified\n within the `monitored_resource`) and `port` to construct the full\n URL. If the provided path does not begin with \"/\", a \"/\" will be prepended\n automatically.\n default: /\n port:\n type: integer\n format: int64\n x-dcl-go-name: Port\n description: Optional (defaults to 80 when `use_ssl` is `false`, and\n 443 when `use_ssl` is `true`). The TCP port on the HTTP server against\n which to run the check. Will be combined with host (specified within\n the `monitored_resource`) and `path` to construct the full URL.\n x-dcl-server-default: true\n requestMethod:\n type: string\n x-dcl-go-name: RequestMethod\n x-dcl-go-type: UptimeCheckConfigHttpCheckRequestMethodEnum\n description: The HTTP request method to use for the check. If set to\n `METHOD_UNSPECIFIED` then `request_method` defaults to `GET`.\n x-kubernetes-immutable: true\n default: GET\n enum:\n - METHOD_UNSPECIFIED\n - GET\n - POST\n useSsl:\n type: boolean\n x-dcl-go-name: UseSsl\n description: If `true`, use HTTPS instead of HTTP to run the check.\n validateSsl:\n type: boolean\n x-dcl-go-name: ValidateSsl\n description: Boolean specifying whether to include SSL certificate validation\n as a part of the Uptime check. Only applies to checks where `monitored_resource`\n is set to `uptime_url`. If `use_ssl` is `false`, setting `validate_ssl`\n to `true` has no effect.\n monitoredResource:\n type: object\n x-dcl-go-name: MonitoredResource\n x-dcl-go-type: UptimeCheckConfigMonitoredResource\n description: 'The [monitored resource](https://cloud.google.com/monitoring/api/resources)\n associated with the configuration. The following monitored resource types\n are supported for Uptime checks: `uptime_url`, `gce_instance`, `gae_app`, `aws_ec2_instance`, `aws_elb_load_balancer`'\n x-kubernetes-immutable: true\n x-dcl-conflicts:\n - resourceGroup\n required:\n - type\n - filterLabels\n properties:\n filterLabels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: FilterLabels\n x-kubernetes-immutable: true\n type:\n type: string\n x-dcl-go-name: Type\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: 'A unique resource name for this Uptime check configuration.\n The format is: projects/[PROJECT_ID_OR_NUMBER]/uptimeCheckConfigs/[UPTIME_CHECK_ID]\n This field should be omitted when creating the Uptime check configuration;\n on create, the resource name is assigned by the server and included in\n the response.'\n x-kubernetes-immutable: true\n x-dcl-server-generated-parameter: true\n period:\n type: string\n x-dcl-go-name: Period\n description: How often, in seconds, the Uptime check is performed. Currently,\n the only supported values are `60s` (1 minute), `300s` (5 minutes), `600s`\n (10 minutes), and `900s` (15 minutes). Optional, defaults to `60s`.\n default: 60s\n project:\n type: string\n x-dcl-go-name: Project\n description: The project for this uptime check config.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n resourceGroup:\n type: object\n x-dcl-go-name: ResourceGroup\n x-dcl-go-type: UptimeCheckConfigResourceGroup\n description: The group resource associated with the configuration.\n x-kubernetes-immutable: true\n x-dcl-conflicts:\n - monitoredResource\n properties:\n groupId:\n type: string\n x-dcl-go-name: GroupId\n description: The group of resources being monitored. Should be only\n the `[GROUP_ID]`, and not the full-path `projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID]`.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Monitoring/Group\n field: name\n resourceType:\n type: string\n x-dcl-go-name: ResourceType\n x-dcl-go-type: UptimeCheckConfigResourceGroupResourceTypeEnum\n description: 'The resource type of the group members. Possible values:\n RESOURCE_TYPE_UNSPECIFIED, INSTANCE, AWS_ELB_LOAD_BALANCER'\n x-kubernetes-immutable: true\n enum:\n - RESOURCE_TYPE_UNSPECIFIED\n - INSTANCE\n - AWS_ELB_LOAD_BALANCER\n selectedRegions:\n type: array\n x-dcl-go-name: SelectedRegions\n description: The list of regions from which the check will be run. Some\n regions contain one location, and others contain more than one. If this\n field is specified, enough regions must be provided to include a minimum\n of 3 locations. Not specifying this field will result in Uptime checks\n running from all available regions.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n tcpCheck:\n type: object\n x-dcl-go-name: TcpCheck\n x-dcl-go-type: UptimeCheckConfigTcpCheck\n description: Contains information needed to make a TCP check.\n x-dcl-conflicts:\n - httpCheck\n required:\n - port\n properties:\n port:\n type: integer\n format: int64\n x-dcl-go-name: Port\n description: The TCP port on the server against which to run the check.\n Will be combined with host (specified within the `monitored_resource`)\n to construct the full URL. Required.\n timeout:\n type: string\n x-dcl-go-name: Timeout\n description: The maximum amount of time to wait for the request to complete\n (must be between 1 and 60 seconds). Required.\n")
-
-// 13844 bytes
-// MD5: aadad35e1f627493336f7e830aa4d61d
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/osconfig/client.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/osconfig/client.go
deleted file mode 100644
index e20f944535..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/osconfig/client.go
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 osconfig defines operations in the declarative SDK.
-package osconfig
-
-import (
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-// The Client is the base struct of all operations. This will receive the
-// Get, Delete, List, and Apply operations on all resources.
-type Client struct {
- Config *dcl.Config
-}
-
-// NewClient creates a client that retries all operations a few times each.
-func NewClient(c *dcl.Config) *Client {
- return &Client{
- Config: c,
- }
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/osconfig/os_policy_assignment.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/osconfig/os_policy_assignment.go
deleted file mode 100644
index 1dd3c88dbd..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/osconfig/os_policy_assignment.go
+++ /dev/null
@@ -1,2919 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 osconfig
-
-import (
- "context"
- "crypto/sha256"
- "encoding/json"
- "fmt"
- "time"
-
- "google.golang.org/api/googleapi"
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-type OSPolicyAssignment struct {
- Name *string `json:"name"`
- Description *string `json:"description"`
- OSPolicies []OSPolicyAssignmentOSPolicies `json:"osPolicies"`
- InstanceFilter *OSPolicyAssignmentInstanceFilter `json:"instanceFilter"`
- Rollout *OSPolicyAssignmentRollout `json:"rollout"`
- RevisionId *string `json:"revisionId"`
- RevisionCreateTime *string `json:"revisionCreateTime"`
- Etag *string `json:"etag"`
- RolloutState *OSPolicyAssignmentRolloutStateEnum `json:"rolloutState"`
- Baseline *bool `json:"baseline"`
- Deleted *bool `json:"deleted"`
- Reconciling *bool `json:"reconciling"`
- Uid *string `json:"uid"`
- Project *string `json:"project"`
- Location *string `json:"location"`
- SkipAwaitRollout *bool `json:"skipAwaitRollout"`
-}
-
-func (r *OSPolicyAssignment) String() string {
- return dcl.SprintResource(r)
-}
-
-// The enum OSPolicyAssignmentOSPoliciesModeEnum.
-type OSPolicyAssignmentOSPoliciesModeEnum string
-
-// OSPolicyAssignmentOSPoliciesModeEnumRef returns a *OSPolicyAssignmentOSPoliciesModeEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func OSPolicyAssignmentOSPoliciesModeEnumRef(s string) *OSPolicyAssignmentOSPoliciesModeEnum {
- v := OSPolicyAssignmentOSPoliciesModeEnum(s)
- return &v
-}
-
-func (v OSPolicyAssignmentOSPoliciesModeEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"MODE_UNSPECIFIED", "VALIDATION", "ENFORCEMENT"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "OSPolicyAssignmentOSPoliciesModeEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnum.
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnum string
-
-// OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnumRef returns a *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnumRef(s string) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnum {
- v := OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnum(s)
- return &v
-}
-
-func (v OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"DESIRED_STATE_UNSPECIFIED", "INSTALLED", "REMOVED"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnum.
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnum string
-
-// OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnumRef returns a *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnumRef(s string) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnum {
- v := OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnum(s)
- return &v
-}
-
-func (v OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ARCHIVE_TYPE_UNSPECIFIED", "DEB", "DEB_SRC"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnum.
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnum string
-
-// OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnumRef returns a *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnumRef(s string) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnum {
- v := OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnum(s)
- return &v
-}
-
-func (v OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"INTERPRETER_UNSPECIFIED", "NONE", "SHELL", "POWERSHELL"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnum.
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnum string
-
-// OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnumRef returns a *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnumRef(s string) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnum {
- v := OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnum(s)
- return &v
-}
-
-func (v OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"INTERPRETER_UNSPECIFIED", "NONE", "SHELL", "POWERSHELL"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnum.
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnum string
-
-// OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnumRef returns a *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnumRef(s string) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnum {
- v := OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnum(s)
- return &v
-}
-
-func (v OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"OS_POLICY_COMPLIANCE_STATE_UNSPECIFIED", "COMPLIANT", "NON_COMPLIANT", "UNKNOWN", "NO_OS_POLICIES_APPLICABLE"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-// The enum OSPolicyAssignmentRolloutStateEnum.
-type OSPolicyAssignmentRolloutStateEnum string
-
-// OSPolicyAssignmentRolloutStateEnumRef returns a *OSPolicyAssignmentRolloutStateEnum with the value of string s
-// If the empty string is provided, nil is returned.
-func OSPolicyAssignmentRolloutStateEnumRef(s string) *OSPolicyAssignmentRolloutStateEnum {
- v := OSPolicyAssignmentRolloutStateEnum(s)
- return &v
-}
-
-func (v OSPolicyAssignmentRolloutStateEnum) Validate() error {
- if string(v) == "" {
- // Empty enum is okay.
- return nil
- }
- for _, s := range []string{"ROLLOUT_STATE_UNSPECIFIED", "IN_PROGRESS", "CANCELLING", "CANCELLED", "SUCCEEDED"} {
- if string(v) == s {
- return nil
- }
- }
- return &dcl.EnumInvalidError{
- Enum: "OSPolicyAssignmentRolloutStateEnum",
- Value: string(v),
- Valid: []string{},
- }
-}
-
-type OSPolicyAssignmentOSPolicies struct {
- empty bool `json:"-"`
- Id *string `json:"id"`
- Description *string `json:"description"`
- Mode *OSPolicyAssignmentOSPoliciesModeEnum `json:"mode"`
- ResourceGroups []OSPolicyAssignmentOSPoliciesResourceGroups `json:"resourceGroups"`
- AllowNoResourceGroupMatch *bool `json:"allowNoResourceGroupMatch"`
-}
-
-type jsonOSPolicyAssignmentOSPolicies OSPolicyAssignmentOSPolicies
-
-func (r *OSPolicyAssignmentOSPolicies) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPolicies
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPolicies
- } else {
-
- r.Id = res.Id
-
- r.Description = res.Description
-
- r.Mode = res.Mode
-
- r.ResourceGroups = res.ResourceGroups
-
- r.AllowNoResourceGroupMatch = res.AllowNoResourceGroupMatch
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPolicies is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPolicies *OSPolicyAssignmentOSPolicies = &OSPolicyAssignmentOSPolicies{empty: true}
-
-func (r *OSPolicyAssignmentOSPolicies) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPolicies) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPolicies) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroups struct {
- empty bool `json:"-"`
- InventoryFilters []OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters `json:"inventoryFilters"`
- Resources []OSPolicyAssignmentOSPoliciesResourceGroupsResources `json:"resources"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroups OSPolicyAssignmentOSPoliciesResourceGroups
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroups) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroups
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroups
- } else {
-
- r.InventoryFilters = res.InventoryFilters
-
- r.Resources = res.Resources
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroups is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroups *OSPolicyAssignmentOSPoliciesResourceGroups = &OSPolicyAssignmentOSPoliciesResourceGroups{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroups) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroups) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroups) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters struct {
- empty bool `json:"-"`
- OSShortName *string `json:"osShortName"`
- OSVersion *string `json:"osVersion"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters
- } else {
-
- r.OSShortName = res.OSShortName
-
- r.OSVersion = res.OSVersion
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters *OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters = &OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResources struct {
- empty bool `json:"-"`
- Id *string `json:"id"`
- Pkg *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg `json:"pkg"`
- Repository *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository `json:"repository"`
- Exec *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec `json:"exec"`
- File *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile `json:"file"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResources OSPolicyAssignmentOSPoliciesResourceGroupsResources
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResources) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResources
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResources
- } else {
-
- r.Id = res.Id
-
- r.Pkg = res.Pkg
-
- r.Repository = res.Repository
-
- r.Exec = res.Exec
-
- r.File = res.File
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResources is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResources *OSPolicyAssignmentOSPoliciesResourceGroupsResources = &OSPolicyAssignmentOSPoliciesResourceGroupsResources{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResources) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResources) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResources) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg struct {
- empty bool `json:"-"`
- DesiredState *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnum `json:"desiredState"`
- Apt *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt `json:"apt"`
- Deb *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb `json:"deb"`
- Yum *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum `json:"yum"`
- Zypper *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper `json:"zypper"`
- Rpm *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm `json:"rpm"`
- Googet *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget `json:"googet"`
- Msi *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi `json:"msi"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg
- } else {
-
- r.DesiredState = res.DesiredState
-
- r.Apt = res.Apt
-
- r.Deb = res.Deb
-
- r.Yum = res.Yum
-
- r.Zypper = res.Zypper
-
- r.Rpm = res.Rpm
-
- r.Googet = res.Googet
-
- r.Msi = res.Msi
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt struct {
- empty bool `json:"-"`
- Name *string `json:"name"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt
- } else {
-
- r.Name = res.Name
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb struct {
- empty bool `json:"-"`
- Source *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource `json:"source"`
- PullDeps *bool `json:"pullDeps"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb
- } else {
-
- r.Source = res.Source
-
- r.PullDeps = res.PullDeps
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource struct {
- empty bool `json:"-"`
- Remote *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote `json:"remote"`
- Gcs *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs `json:"gcs"`
- LocalPath *string `json:"localPath"`
- AllowInsecure *bool `json:"allowInsecure"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource
- } else {
-
- r.Remote = res.Remote
-
- r.Gcs = res.Gcs
-
- r.LocalPath = res.LocalPath
-
- r.AllowInsecure = res.AllowInsecure
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote struct {
- empty bool `json:"-"`
- Uri *string `json:"uri"`
- Sha256Checksum *string `json:"sha256Checksum"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote
- } else {
-
- r.Uri = res.Uri
-
- r.Sha256Checksum = res.Sha256Checksum
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs struct {
- empty bool `json:"-"`
- Bucket *string `json:"bucket"`
- Object *string `json:"object"`
- Generation *int64 `json:"generation"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs
- } else {
-
- r.Bucket = res.Bucket
-
- r.Object = res.Object
-
- r.Generation = res.Generation
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum struct {
- empty bool `json:"-"`
- Name *string `json:"name"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum
- } else {
-
- r.Name = res.Name
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper struct {
- empty bool `json:"-"`
- Name *string `json:"name"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper
- } else {
-
- r.Name = res.Name
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm struct {
- empty bool `json:"-"`
- Source *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource `json:"source"`
- PullDeps *bool `json:"pullDeps"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm
- } else {
-
- r.Source = res.Source
-
- r.PullDeps = res.PullDeps
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource struct {
- empty bool `json:"-"`
- Remote *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote `json:"remote"`
- Gcs *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs `json:"gcs"`
- LocalPath *string `json:"localPath"`
- AllowInsecure *bool `json:"allowInsecure"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource
- } else {
-
- r.Remote = res.Remote
-
- r.Gcs = res.Gcs
-
- r.LocalPath = res.LocalPath
-
- r.AllowInsecure = res.AllowInsecure
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote struct {
- empty bool `json:"-"`
- Uri *string `json:"uri"`
- Sha256Checksum *string `json:"sha256Checksum"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote
- } else {
-
- r.Uri = res.Uri
-
- r.Sha256Checksum = res.Sha256Checksum
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs struct {
- empty bool `json:"-"`
- Bucket *string `json:"bucket"`
- Object *string `json:"object"`
- Generation *int64 `json:"generation"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs
- } else {
-
- r.Bucket = res.Bucket
-
- r.Object = res.Object
-
- r.Generation = res.Generation
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget struct {
- empty bool `json:"-"`
- Name *string `json:"name"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget
- } else {
-
- r.Name = res.Name
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi struct {
- empty bool `json:"-"`
- Source *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource `json:"source"`
- Properties []string `json:"properties"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi
- } else {
-
- r.Source = res.Source
-
- r.Properties = res.Properties
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource struct {
- empty bool `json:"-"`
- Remote *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote `json:"remote"`
- Gcs *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs `json:"gcs"`
- LocalPath *string `json:"localPath"`
- AllowInsecure *bool `json:"allowInsecure"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource
- } else {
-
- r.Remote = res.Remote
-
- r.Gcs = res.Gcs
-
- r.LocalPath = res.LocalPath
-
- r.AllowInsecure = res.AllowInsecure
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote struct {
- empty bool `json:"-"`
- Uri *string `json:"uri"`
- Sha256Checksum *string `json:"sha256Checksum"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote
- } else {
-
- r.Uri = res.Uri
-
- r.Sha256Checksum = res.Sha256Checksum
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs struct {
- empty bool `json:"-"`
- Bucket *string `json:"bucket"`
- Object *string `json:"object"`
- Generation *int64 `json:"generation"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs
- } else {
-
- r.Bucket = res.Bucket
-
- r.Object = res.Object
-
- r.Generation = res.Generation
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository struct {
- empty bool `json:"-"`
- Apt *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt `json:"apt"`
- Yum *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum `json:"yum"`
- Zypper *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper `json:"zypper"`
- Goo *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo `json:"goo"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository
- } else {
-
- r.Apt = res.Apt
-
- r.Yum = res.Yum
-
- r.Zypper = res.Zypper
-
- r.Goo = res.Goo
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt struct {
- empty bool `json:"-"`
- ArchiveType *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnum `json:"archiveType"`
- Uri *string `json:"uri"`
- Distribution *string `json:"distribution"`
- Components []string `json:"components"`
- GpgKey *string `json:"gpgKey"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt
- } else {
-
- r.ArchiveType = res.ArchiveType
-
- r.Uri = res.Uri
-
- r.Distribution = res.Distribution
-
- r.Components = res.Components
-
- r.GpgKey = res.GpgKey
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum struct {
- empty bool `json:"-"`
- Id *string `json:"id"`
- DisplayName *string `json:"displayName"`
- BaseUrl *string `json:"baseUrl"`
- GpgKeys []string `json:"gpgKeys"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum
- } else {
-
- r.Id = res.Id
-
- r.DisplayName = res.DisplayName
-
- r.BaseUrl = res.BaseUrl
-
- r.GpgKeys = res.GpgKeys
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper struct {
- empty bool `json:"-"`
- Id *string `json:"id"`
- DisplayName *string `json:"displayName"`
- BaseUrl *string `json:"baseUrl"`
- GpgKeys []string `json:"gpgKeys"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper
- } else {
-
- r.Id = res.Id
-
- r.DisplayName = res.DisplayName
-
- r.BaseUrl = res.BaseUrl
-
- r.GpgKeys = res.GpgKeys
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo struct {
- empty bool `json:"-"`
- Name *string `json:"name"`
- Url *string `json:"url"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo
- } else {
-
- r.Name = res.Name
-
- r.Url = res.Url
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec struct {
- empty bool `json:"-"`
- Validate *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate `json:"validate"`
- Enforce *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce `json:"enforce"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec
- } else {
-
- r.Validate = res.Validate
-
- r.Enforce = res.Enforce
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate struct {
- empty bool `json:"-"`
- File *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile `json:"file"`
- Script *string `json:"script"`
- Args []string `json:"args"`
- Interpreter *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnum `json:"interpreter"`
- OutputFilePath *string `json:"outputFilePath"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate
- } else {
-
- r.File = res.File
-
- r.Script = res.Script
-
- r.Args = res.Args
-
- r.Interpreter = res.Interpreter
-
- r.OutputFilePath = res.OutputFilePath
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile struct {
- empty bool `json:"-"`
- Remote *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote `json:"remote"`
- Gcs *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs `json:"gcs"`
- LocalPath *string `json:"localPath"`
- AllowInsecure *bool `json:"allowInsecure"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile
- } else {
-
- r.Remote = res.Remote
-
- r.Gcs = res.Gcs
-
- r.LocalPath = res.LocalPath
-
- r.AllowInsecure = res.AllowInsecure
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote struct {
- empty bool `json:"-"`
- Uri *string `json:"uri"`
- Sha256Checksum *string `json:"sha256Checksum"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote
- } else {
-
- r.Uri = res.Uri
-
- r.Sha256Checksum = res.Sha256Checksum
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs struct {
- empty bool `json:"-"`
- Bucket *string `json:"bucket"`
- Object *string `json:"object"`
- Generation *int64 `json:"generation"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs
- } else {
-
- r.Bucket = res.Bucket
-
- r.Object = res.Object
-
- r.Generation = res.Generation
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce struct {
- empty bool `json:"-"`
- File *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile `json:"file"`
- Script *string `json:"script"`
- Args []string `json:"args"`
- Interpreter *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnum `json:"interpreter"`
- OutputFilePath *string `json:"outputFilePath"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce
- } else {
-
- r.File = res.File
-
- r.Script = res.Script
-
- r.Args = res.Args
-
- r.Interpreter = res.Interpreter
-
- r.OutputFilePath = res.OutputFilePath
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile struct {
- empty bool `json:"-"`
- Remote *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote `json:"remote"`
- Gcs *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs `json:"gcs"`
- LocalPath *string `json:"localPath"`
- AllowInsecure *bool `json:"allowInsecure"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile
- } else {
-
- r.Remote = res.Remote
-
- r.Gcs = res.Gcs
-
- r.LocalPath = res.LocalPath
-
- r.AllowInsecure = res.AllowInsecure
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote struct {
- empty bool `json:"-"`
- Uri *string `json:"uri"`
- Sha256Checksum *string `json:"sha256Checksum"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote
- } else {
-
- r.Uri = res.Uri
-
- r.Sha256Checksum = res.Sha256Checksum
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs struct {
- empty bool `json:"-"`
- Bucket *string `json:"bucket"`
- Object *string `json:"object"`
- Generation *int64 `json:"generation"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs
- } else {
-
- r.Bucket = res.Bucket
-
- r.Object = res.Object
-
- r.Generation = res.Generation
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile struct {
- empty bool `json:"-"`
- File *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile `json:"file"`
- Content *string `json:"content"`
- Path *string `json:"path"`
- State *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnum `json:"state"`
- Permissions *string `json:"permissions"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile
- } else {
-
- r.File = res.File
-
- r.Content = res.Content
-
- r.Path = res.Path
-
- r.State = res.State
-
- r.Permissions = res.Permissions
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile struct {
- empty bool `json:"-"`
- Remote *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote `json:"remote"`
- Gcs *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs `json:"gcs"`
- LocalPath *string `json:"localPath"`
- AllowInsecure *bool `json:"allowInsecure"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile
- } else {
-
- r.Remote = res.Remote
-
- r.Gcs = res.Gcs
-
- r.LocalPath = res.LocalPath
-
- r.AllowInsecure = res.AllowInsecure
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote struct {
- empty bool `json:"-"`
- Uri *string `json:"uri"`
- Sha256Checksum *string `json:"sha256Checksum"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote
- } else {
-
- r.Uri = res.Uri
-
- r.Sha256Checksum = res.Sha256Checksum
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs struct {
- empty bool `json:"-"`
- Bucket *string `json:"bucket"`
- Object *string `json:"object"`
- Generation *int64 `json:"generation"`
-}
-
-type jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs
- } else {
-
- r.Bucket = res.Bucket
-
- r.Object = res.Object
-
- r.Generation = res.Generation
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs{empty: true}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentInstanceFilter struct {
- empty bool `json:"-"`
- All *bool `json:"all"`
- InclusionLabels []OSPolicyAssignmentInstanceFilterInclusionLabels `json:"inclusionLabels"`
- ExclusionLabels []OSPolicyAssignmentInstanceFilterExclusionLabels `json:"exclusionLabels"`
- Inventories []OSPolicyAssignmentInstanceFilterInventories `json:"inventories"`
-}
-
-type jsonOSPolicyAssignmentInstanceFilter OSPolicyAssignmentInstanceFilter
-
-func (r *OSPolicyAssignmentInstanceFilter) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentInstanceFilter
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentInstanceFilter
- } else {
-
- r.All = res.All
-
- r.InclusionLabels = res.InclusionLabels
-
- r.ExclusionLabels = res.ExclusionLabels
-
- r.Inventories = res.Inventories
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentInstanceFilter is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentInstanceFilter *OSPolicyAssignmentInstanceFilter = &OSPolicyAssignmentInstanceFilter{empty: true}
-
-func (r *OSPolicyAssignmentInstanceFilter) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentInstanceFilter) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentInstanceFilter) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentInstanceFilterInclusionLabels struct {
- empty bool `json:"-"`
- Labels map[string]string `json:"labels"`
-}
-
-type jsonOSPolicyAssignmentInstanceFilterInclusionLabels OSPolicyAssignmentInstanceFilterInclusionLabels
-
-func (r *OSPolicyAssignmentInstanceFilterInclusionLabels) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentInstanceFilterInclusionLabels
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentInstanceFilterInclusionLabels
- } else {
-
- r.Labels = res.Labels
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentInstanceFilterInclusionLabels is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentInstanceFilterInclusionLabels *OSPolicyAssignmentInstanceFilterInclusionLabels = &OSPolicyAssignmentInstanceFilterInclusionLabels{empty: true}
-
-func (r *OSPolicyAssignmentInstanceFilterInclusionLabels) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentInstanceFilterInclusionLabels) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentInstanceFilterInclusionLabels) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentInstanceFilterExclusionLabels struct {
- empty bool `json:"-"`
- Labels map[string]string `json:"labels"`
-}
-
-type jsonOSPolicyAssignmentInstanceFilterExclusionLabels OSPolicyAssignmentInstanceFilterExclusionLabels
-
-func (r *OSPolicyAssignmentInstanceFilterExclusionLabels) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentInstanceFilterExclusionLabels
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentInstanceFilterExclusionLabels
- } else {
-
- r.Labels = res.Labels
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentInstanceFilterExclusionLabels is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentInstanceFilterExclusionLabels *OSPolicyAssignmentInstanceFilterExclusionLabels = &OSPolicyAssignmentInstanceFilterExclusionLabels{empty: true}
-
-func (r *OSPolicyAssignmentInstanceFilterExclusionLabels) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentInstanceFilterExclusionLabels) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentInstanceFilterExclusionLabels) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentInstanceFilterInventories struct {
- empty bool `json:"-"`
- OSShortName *string `json:"osShortName"`
- OSVersion *string `json:"osVersion"`
-}
-
-type jsonOSPolicyAssignmentInstanceFilterInventories OSPolicyAssignmentInstanceFilterInventories
-
-func (r *OSPolicyAssignmentInstanceFilterInventories) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentInstanceFilterInventories
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentInstanceFilterInventories
- } else {
-
- r.OSShortName = res.OSShortName
-
- r.OSVersion = res.OSVersion
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentInstanceFilterInventories is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentInstanceFilterInventories *OSPolicyAssignmentInstanceFilterInventories = &OSPolicyAssignmentInstanceFilterInventories{empty: true}
-
-func (r *OSPolicyAssignmentInstanceFilterInventories) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentInstanceFilterInventories) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentInstanceFilterInventories) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentRollout struct {
- empty bool `json:"-"`
- DisruptionBudget *OSPolicyAssignmentRolloutDisruptionBudget `json:"disruptionBudget"`
- MinWaitDuration *string `json:"minWaitDuration"`
-}
-
-type jsonOSPolicyAssignmentRollout OSPolicyAssignmentRollout
-
-func (r *OSPolicyAssignmentRollout) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentRollout
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentRollout
- } else {
-
- r.DisruptionBudget = res.DisruptionBudget
-
- r.MinWaitDuration = res.MinWaitDuration
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentRollout is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentRollout *OSPolicyAssignmentRollout = &OSPolicyAssignmentRollout{empty: true}
-
-func (r *OSPolicyAssignmentRollout) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentRollout) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentRollout) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-type OSPolicyAssignmentRolloutDisruptionBudget struct {
- empty bool `json:"-"`
- Fixed *int64 `json:"fixed"`
- Percent *int64 `json:"percent"`
-}
-
-type jsonOSPolicyAssignmentRolloutDisruptionBudget OSPolicyAssignmentRolloutDisruptionBudget
-
-func (r *OSPolicyAssignmentRolloutDisruptionBudget) UnmarshalJSON(data []byte) error {
- var res jsonOSPolicyAssignmentRolloutDisruptionBudget
- if err := json.Unmarshal(data, &res); err != nil {
- return err
- }
-
- var m map[string]interface{}
- json.Unmarshal(data, &m)
-
- if len(m) == 0 {
- *r = *EmptyOSPolicyAssignmentRolloutDisruptionBudget
- } else {
-
- r.Fixed = res.Fixed
-
- r.Percent = res.Percent
-
- }
- return nil
-}
-
-// This object is used to assert a desired state where this OSPolicyAssignmentRolloutDisruptionBudget is
-// empty. Go lacks global const objects, but this object should be treated
-// as one. Modifying this object will have undesirable results.
-var EmptyOSPolicyAssignmentRolloutDisruptionBudget *OSPolicyAssignmentRolloutDisruptionBudget = &OSPolicyAssignmentRolloutDisruptionBudget{empty: true}
-
-func (r *OSPolicyAssignmentRolloutDisruptionBudget) Empty() bool {
- return r.empty
-}
-
-func (r *OSPolicyAssignmentRolloutDisruptionBudget) String() string {
- return dcl.SprintResource(r)
-}
-
-func (r *OSPolicyAssignmentRolloutDisruptionBudget) HashCode() string {
- // Placeholder for a more complex hash method that handles ordering, etc
- // Hash resource body for easy comparison later
- hash := sha256.New().Sum([]byte(r.String()))
- return fmt.Sprintf("%x", hash)
-}
-
-// Describe returns a simple description of this resource to ensure that automated tools
-// can identify it.
-func (r *OSPolicyAssignment) Describe() dcl.ServiceTypeVersion {
- return dcl.ServiceTypeVersion{
- Service: "os_config",
- Type: "OSPolicyAssignment",
- Version: "osconfig",
- }
-}
-
-func (r *OSPolicyAssignment) ID() (string, error) {
- if err := extractOSPolicyAssignmentFields(r); err != nil {
- return "", err
- }
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "name": dcl.ValueOrEmptyString(nr.Name),
- "description": dcl.ValueOrEmptyString(nr.Description),
- "os_policies": dcl.ValueOrEmptyString(nr.OSPolicies),
- "instance_filter": dcl.ValueOrEmptyString(nr.InstanceFilter),
- "rollout": dcl.ValueOrEmptyString(nr.Rollout),
- "revision_id": dcl.ValueOrEmptyString(nr.RevisionId),
- "revision_create_time": dcl.ValueOrEmptyString(nr.RevisionCreateTime),
- "etag": dcl.ValueOrEmptyString(nr.Etag),
- "rollout_state": dcl.ValueOrEmptyString(nr.RolloutState),
- "baseline": dcl.ValueOrEmptyString(nr.Baseline),
- "deleted": dcl.ValueOrEmptyString(nr.Deleted),
- "reconciling": dcl.ValueOrEmptyString(nr.Reconciling),
- "uid": dcl.ValueOrEmptyString(nr.Uid),
- "project": dcl.ValueOrEmptyString(nr.Project),
- "location": dcl.ValueOrEmptyString(nr.Location),
- "skip_await_rollout": dcl.ValueOrEmptyString(nr.SkipAwaitRollout),
- }
- return dcl.Nprintf("projects/{{project}}/locations/{{location}}/osPolicyAssignments/{{name}}", params), nil
-}
-
-const OSPolicyAssignmentMaxPage = -1
-
-type OSPolicyAssignmentList struct {
- Items []*OSPolicyAssignment
-
- nextToken string
-
- pageSize int32
-
- resource *OSPolicyAssignment
-}
-
-func (l *OSPolicyAssignmentList) HasNext() bool {
- return l.nextToken != ""
-}
-
-func (l *OSPolicyAssignmentList) Next(ctx context.Context, c *Client) error {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- if !l.HasNext() {
- return fmt.Errorf("no next page")
- }
- items, token, err := c.listOSPolicyAssignment(ctx, l.resource, l.nextToken, l.pageSize)
- if err != nil {
- return err
- }
- l.Items = items
- l.nextToken = token
- return err
-}
-
-func (c *Client) ListOSPolicyAssignment(ctx context.Context, project, location string) (*OSPolicyAssignmentList, error) {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- return c.ListOSPolicyAssignmentWithMaxResults(ctx, project, location, OSPolicyAssignmentMaxPage)
-
-}
-
-func (c *Client) ListOSPolicyAssignmentWithMaxResults(ctx context.Context, project, location string, pageSize int32) (*OSPolicyAssignmentList, error) {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- // Create a resource object so that we can use proper url normalization methods.
- r := &OSPolicyAssignment{
- Project: &project,
- Location: &location,
- }
- items, token, err := c.listOSPolicyAssignment(ctx, r, "", pageSize)
- if err != nil {
- return nil, err
- }
- return &OSPolicyAssignmentList{
- Items: items,
- nextToken: token,
- pageSize: pageSize,
- resource: r,
- }, nil
-}
-
-func (c *Client) GetOSPolicyAssignment(ctx context.Context, r *OSPolicyAssignment) (*OSPolicyAssignment, error) {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- // This is *purposefully* supressing errors.
- // This function is used with url-normalized values + not URL normalized values.
- // URL Normalized values will throw unintentional errors, since those values are not of the proper parent form.
- extractOSPolicyAssignmentFields(r)
-
- b, err := c.getOSPolicyAssignmentRaw(ctx, r)
- if err != nil {
- if dcl.IsNotFound(err) {
- return nil, &googleapi.Error{
- Code: 404,
- Message: err.Error(),
- }
- }
- return nil, err
- }
- result, err := unmarshalOSPolicyAssignment(b, c, r)
- if err != nil {
- return nil, err
- }
- result.Project = r.Project
- result.Location = r.Location
- result.Name = r.Name
-
- c.Config.Logger.InfoWithContextf(ctx, "Retrieved raw result state: %v", result)
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalizing with specified state: %v", r)
- result, err = canonicalizeOSPolicyAssignmentNewState(c, result, r)
- if err != nil {
- return nil, err
- }
- if err := postReadExtractOSPolicyAssignmentFields(result); err != nil {
- return result, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Created result state: %v", result)
-
- return result, nil
-}
-
-func (c *Client) DeleteOSPolicyAssignment(ctx context.Context, r *OSPolicyAssignment) error {
- ctx = dcl.ContextWithRequestID(ctx)
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- if r == nil {
- return fmt.Errorf("OSPolicyAssignment resource is nil")
- }
- c.Config.Logger.InfoWithContext(ctx, "Deleting OSPolicyAssignment...")
- deleteOp := deleteOSPolicyAssignmentOperation{}
- return deleteOp.do(ctx, r, c)
-}
-
-// DeleteAllOSPolicyAssignment deletes all resources that the filter functions returns true on.
-func (c *Client) DeleteAllOSPolicyAssignment(ctx context.Context, project, location string, filter func(*OSPolicyAssignment) bool) error {
- listObj, err := c.ListOSPolicyAssignment(ctx, project, location)
- if err != nil {
- return err
- }
-
- err = c.deleteAllOSPolicyAssignment(ctx, filter, listObj.Items)
- if err != nil {
- return err
- }
- for listObj.HasNext() {
- err = listObj.Next(ctx, c)
- if err != nil {
- return nil
- }
- err = c.deleteAllOSPolicyAssignment(ctx, filter, listObj.Items)
- if err != nil {
- return err
- }
- }
- return nil
-}
-
-func (c *Client) ApplyOSPolicyAssignment(ctx context.Context, rawDesired *OSPolicyAssignment, opts ...dcl.ApplyOption) (*OSPolicyAssignment, error) {
- ctx, cancel := context.WithTimeout(ctx, c.Config.TimeoutOr(0*time.Second))
- defer cancel()
-
- ctx = dcl.ContextWithRequestID(ctx)
- var resultNewState *OSPolicyAssignment
- err := dcl.Do(ctx, func(ctx context.Context) (*dcl.RetryDetails, error) {
- newState, err := applyOSPolicyAssignmentHelper(c, ctx, rawDesired, opts...)
- resultNewState = newState
- if err != nil {
- // If the error is 409, there is conflict in resource update.
- // Here we want to apply changes based on latest state.
- if dcl.IsConflictError(err) {
- return &dcl.RetryDetails{}, dcl.OperationNotDone{Err: err}
- }
- return nil, err
- }
- return nil, nil
- }, c.Config.RetryProvider)
- return resultNewState, err
-}
-
-func applyOSPolicyAssignmentHelper(c *Client, ctx context.Context, rawDesired *OSPolicyAssignment, opts ...dcl.ApplyOption) (*OSPolicyAssignment, error) {
- c.Config.Logger.InfoWithContext(ctx, "Beginning ApplyOSPolicyAssignment...")
- c.Config.Logger.InfoWithContextf(ctx, "User specified desired state: %v", rawDesired)
-
- // 1.1: Validation of user-specified fields in desired state.
- if err := rawDesired.validate(); err != nil {
- return nil, err
- }
-
- if err := extractOSPolicyAssignmentFields(rawDesired); err != nil {
- return nil, err
- }
-
- initial, desired, fieldDiffs, err := c.oSPolicyAssignmentDiffsForRawDesired(ctx, rawDesired, opts...)
- if err != nil {
- return nil, fmt.Errorf("failed to create a diff: %w", err)
- }
-
- diffs, err := convertFieldDiffsToOSPolicyAssignmentDiffs(c.Config, fieldDiffs, opts)
- if err != nil {
- return nil, err
- }
-
- // TODO(magic-modules-eng): 2.2 Feasibility check (all updates are feasible so far).
-
- // 2.3: Lifecycle Directive Check
- var create bool
- lp := dcl.FetchLifecycleParams(opts)
- if initial == nil {
- if dcl.HasLifecycleParam(lp, dcl.BlockCreation) {
- return nil, dcl.ApplyInfeasibleError{Message: fmt.Sprintf("Creation blocked by lifecycle params: %#v.", desired)}
- }
- create = true
- } else if dcl.HasLifecycleParam(lp, dcl.BlockAcquire) {
- return nil, dcl.ApplyInfeasibleError{
- Message: fmt.Sprintf("Resource already exists - apply blocked by lifecycle params: %#v.", initial),
- }
- } else {
- for _, d := range diffs {
- if d.RequiresRecreate {
- return nil, dcl.ApplyInfeasibleError{
- Message: fmt.Sprintf("infeasible update: (%v) would require recreation", d),
- }
- }
- if dcl.HasLifecycleParam(lp, dcl.BlockModification) {
- return nil, dcl.ApplyInfeasibleError{Message: fmt.Sprintf("Modification blocked, diff (%v) unresolvable.", d)}
- }
- }
- }
-
- // 2.4 Imperative Request Planning
- var ops []oSPolicyAssignmentApiOperation
- if create {
- ops = append(ops, &createOSPolicyAssignmentOperation{})
- } else {
- for _, d := range diffs {
- ops = append(ops, d.UpdateOp)
- }
- }
- c.Config.Logger.InfoWithContextf(ctx, "Created plan: %#v", ops)
-
- // 2.5 Request Actuation
- for _, op := range ops {
- c.Config.Logger.InfoWithContextf(ctx, "Performing operation %T %+v", op, op)
- if err := op.do(ctx, desired, c); err != nil {
- c.Config.Logger.InfoWithContextf(ctx, "Failed operation %T %+v: %v", op, op, err)
- return nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Finished operation %T %+v", op, op)
- }
- return applyOSPolicyAssignmentDiff(c, ctx, desired, rawDesired, ops, opts...)
-}
-
-func applyOSPolicyAssignmentDiff(c *Client, ctx context.Context, desired *OSPolicyAssignment, rawDesired *OSPolicyAssignment, ops []oSPolicyAssignmentApiOperation, opts ...dcl.ApplyOption) (*OSPolicyAssignment, error) {
- // 3.1, 3.2a Retrieval of raw new state & canonicalization with desired state
- c.Config.Logger.InfoWithContext(ctx, "Retrieving raw new state...")
- rawNew, err := c.GetOSPolicyAssignment(ctx, desired)
- if err != nil {
- return nil, err
- }
- // Get additional values from the first response.
- // These values should be merged into the newState above.
- if len(ops) > 0 {
- lastOp := ops[len(ops)-1]
- if o, ok := lastOp.(*createOSPolicyAssignmentOperation); ok {
- if r, hasR := o.FirstResponse(); hasR {
-
- c.Config.Logger.InfoWithContext(ctx, "Retrieving raw new state from operation...")
-
- fullResp, err := unmarshalMapOSPolicyAssignment(r, c, rawDesired)
- if err != nil {
- return nil, err
- }
-
- rawNew, err = canonicalizeOSPolicyAssignmentNewState(c, rawNew, fullResp)
- if err != nil {
- return nil, err
- }
- }
- }
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalizing with raw desired state: %v", rawDesired)
- // 3.2b Canonicalization of raw new state using raw desired state
- newState, err := canonicalizeOSPolicyAssignmentNewState(c, rawNew, rawDesired)
- if err != nil {
- return rawNew, err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Created canonical new state: %v", newState)
- // 3.3 Comparison of the new state and raw desired state.
- // TODO(magic-modules-eng): EVENTUALLY_CONSISTENT_UPDATE
- newDesired, err := canonicalizeOSPolicyAssignmentDesiredState(rawDesired, newState)
- if err != nil {
- return newState, err
- }
-
- if err := postReadExtractOSPolicyAssignmentFields(newState); err != nil {
- return newState, err
- }
-
- // Need to ensure any transformations made here match acceptably in differ.
- if err := postReadExtractOSPolicyAssignmentFields(newDesired); err != nil {
- return newState, err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Diffing using canonicalized desired state: %v", newDesired)
- newDiffs, err := diffOSPolicyAssignment(c, newDesired, newState)
- if err != nil {
- return newState, err
- }
-
- if len(newDiffs) == 0 {
- c.Config.Logger.InfoWithContext(ctx, "No diffs found. Apply was successful.")
- } else {
- c.Config.Logger.InfoWithContextf(ctx, "Found diffs: %v", newDiffs)
- diffMessages := make([]string, len(newDiffs))
- for i, d := range newDiffs {
- diffMessages[i] = fmt.Sprintf("%v", d)
- }
- return newState, dcl.DiffAfterApplyError{Diffs: diffMessages}
- }
- c.Config.Logger.InfoWithContext(ctx, "Done Apply.")
- return newState, nil
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/osconfig/os_policy_assignment.yaml b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/osconfig/os_policy_assignment.yaml
deleted file mode 100644
index 91a675bf82..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/osconfig/os_policy_assignment.yaml
+++ /dev/null
@@ -1,1353 +0,0 @@
-# Copyright 2023 Google LLC. All Rights Reserved.
-#
-# 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.
-info:
- title: OSConfig/OSPolicyAssignment
- description: Represents an OSPolicyAssignment resource.
- x-dcl-struct-name: OSPolicyAssignment
- x-dcl-has-iam: false
- x-dcl-ref:
- text: API documentation
- url: https://cloud.google.com/compute/docs/osconfig/rest/v1/projects.locations.osPolicyAssignments
-paths:
- get:
- description: The function used to get information about a OSPolicyAssignment
- parameters:
- - name: oSPolicyAssignment
- required: true
- description: A full instance of a OSPolicyAssignment
- apply:
- description: The function used to apply information about a OSPolicyAssignment
- parameters:
- - name: oSPolicyAssignment
- required: true
- description: A full instance of a OSPolicyAssignment
- delete:
- description: The function used to delete a OSPolicyAssignment
- parameters:
- - name: oSPolicyAssignment
- required: true
- description: A full instance of a OSPolicyAssignment
- deleteAll:
- description: The function used to delete all OSPolicyAssignment
- parameters:
- - name: project
- required: true
- schema:
- type: string
- - name: location
- required: true
- schema:
- type: string
- list:
- description: The function used to list information about many OSPolicyAssignment
- parameters:
- - name: project
- required: true
- schema:
- type: string
- - name: location
- required: true
- schema:
- type: string
-components:
- schemas:
- OSPolicyAssignment:
- title: OSPolicyAssignment
- x-dcl-id: projects/{{project}}/locations/{{location}}/osPolicyAssignments/{{name}}
- x-dcl-uses-state-hint: true
- x-dcl-parent-container: project
- x-dcl-has-create: true
- x-dcl-has-iam: false
- x-dcl-read-timeout: 0
- x-dcl-apply-timeout: 0
- x-dcl-delete-timeout: 0
- type: object
- required:
- - name
- - osPolicies
- - instanceFilter
- - rollout
- - project
- - location
- properties:
- baseline:
- type: boolean
- x-dcl-go-name: Baseline
- readOnly: true
- description: Output only. Indicates that this revision has been successfully
- rolled out in this zone and new VMs will be assigned OS policies from
- this revision. For a given OS policy assignment, there is only one revision
- with a value of `true` for this field.
- x-kubernetes-immutable: true
- deleted:
- type: boolean
- x-dcl-go-name: Deleted
- readOnly: true
- description: Output only. Indicates that this revision deletes the OS policy
- assignment.
- x-kubernetes-immutable: true
- description:
- type: string
- x-dcl-go-name: Description
- description: OS policy assignment description. Length of the description
- is limited to 1024 characters.
- etag:
- type: string
- x-dcl-go-name: Etag
- readOnly: true
- description: The etag for this OS policy assignment. If this is provided
- on update, it must match the server's etag.
- x-kubernetes-immutable: true
- instanceFilter:
- type: object
- x-dcl-go-name: InstanceFilter
- x-dcl-go-type: OSPolicyAssignmentInstanceFilter
- description: Required. Filter to select VMs.
- properties:
- all:
- type: boolean
- x-dcl-go-name: All
- description: Target all VMs in the project. If true, no other criteria
- is permitted.
- x-dcl-send-empty: true
- exclusionLabels:
- type: array
- x-dcl-go-name: ExclusionLabels
- description: List of label sets used for VM exclusion. If the list has
- more than one label set, the VM is excluded if any of the label sets
- are applicable for the VM.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: object
- x-dcl-go-type: OSPolicyAssignmentInstanceFilterExclusionLabels
- properties:
- labels:
- type: object
- additionalProperties:
- type: string
- x-dcl-go-name: Labels
- description: Labels are identified by key/value pairs in this
- map. A VM should contain all the key/value pairs specified in
- this map to be selected.
- inclusionLabels:
- type: array
- x-dcl-go-name: InclusionLabels
- description: List of label sets used for VM inclusion. If the list has
- more than one `LabelSet`, the VM is included if any of the label sets
- are applicable for the VM.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: object
- x-dcl-go-type: OSPolicyAssignmentInstanceFilterInclusionLabels
- properties:
- labels:
- type: object
- additionalProperties:
- type: string
- x-dcl-go-name: Labels
- description: Labels are identified by key/value pairs in this
- map. A VM should contain all the key/value pairs specified in
- this map to be selected.
- inventories:
- type: array
- x-dcl-go-name: Inventories
- description: List of inventories to select VMs. A VM is selected if
- its inventory data matches at least one of the following inventories.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: object
- x-dcl-go-type: OSPolicyAssignmentInstanceFilterInventories
- required:
- - osShortName
- properties:
- osShortName:
- type: string
- x-dcl-go-name: OSShortName
- description: Required. The OS short name
- osVersion:
- type: string
- x-dcl-go-name: OSVersion
- description: The OS version Prefix matches are supported if asterisk(*)
- is provided as the last character. For example, to match all
- versions with a major version of `7`, specify the following
- value for this field `7.*` An empty string matches all OS versions.
- location:
- type: string
- x-dcl-go-name: Location
- description: The location for the resource
- x-kubernetes-immutable: true
- name:
- type: string
- x-dcl-go-name: Name
- description: Resource name.
- x-kubernetes-immutable: true
- osPolicies:
- type: array
- x-dcl-go-name: OSPolicies
- description: Required. List of OS policies to be applied to the VMs.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: object
- x-dcl-go-type: OSPolicyAssignmentOSPolicies
- required:
- - id
- - mode
- - resourceGroups
- properties:
- allowNoResourceGroupMatch:
- type: boolean
- x-dcl-go-name: AllowNoResourceGroupMatch
- description: This flag determines the OS policy compliance status
- when none of the resource groups within the policy are applicable
- for a VM. Set this value to `true` if the policy needs to be reported
- as compliant even if the policy has nothing to validate or enforce.
- description:
- type: string
- x-dcl-go-name: Description
- description: Policy description. Length of the description is limited
- to 1024 characters.
- id:
- type: string
- x-dcl-go-name: Id
- description: 'Required. The id of the OS policy with the following
- restrictions: * Must contain only lowercase letters, numbers, and
- hyphens. * Must start with a letter. * Must be between 1-63 characters.
- * Must end with a number or a letter. * Must be unique within the
- assignment.'
- mode:
- type: string
- x-dcl-go-name: Mode
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesModeEnum
- description: 'Required. Policy mode Possible values: MODE_UNSPECIFIED,
- VALIDATION, ENFORCEMENT'
- enum:
- - MODE_UNSPECIFIED
- - VALIDATION
- - ENFORCEMENT
- resourceGroups:
- type: array
- x-dcl-go-name: ResourceGroups
- description: Required. List of resource groups for the policy. For
- a particular VM, resource groups are evaluated in the order specified
- and the first resource group that is applicable is selected and
- the rest are ignored. If none of the resource groups are applicable
- for a VM, the VM is considered to be non-compliant w.r.t this policy.
- This behavior can be toggled by the flag `allow_no_resource_group_match`
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: object
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroups
- required:
- - resources
- properties:
- inventoryFilters:
- type: array
- x-dcl-go-name: InventoryFilters
- description: 'List of inventory filters for the resource group.
- The resources in this resource group are applied to the target
- VM if it satisfies at least one of the following inventory
- filters. For example, to apply this resource group to VMs
- running either `RHEL` or `CentOS` operating systems, specify
- 2 items for the list with following values: inventory_filters[0].os_short_name=''rhel''
- and inventory_filters[1].os_short_name=''centos'' If the list
- is empty, this resource group will be applied to the target
- VM unconditionally.'
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: object
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters
- required:
- - osShortName
- properties:
- osShortName:
- type: string
- x-dcl-go-name: OSShortName
- description: Required. The OS short name
- osVersion:
- type: string
- x-dcl-go-name: OSVersion
- description: The OS version Prefix matches are supported
- if asterisk(*) is provided as the last character. For
- example, to match all versions with a major version
- of `7`, specify the following value for this field `7.*`
- An empty string matches all OS versions.
- resources:
- type: array
- x-dcl-go-name: Resources
- description: Required. List of resources configured for this
- resource group. The resources are executed in the exact order
- specified here.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: object
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResources
- required:
- - id
- properties:
- exec:
- type: object
- x-dcl-go-name: Exec
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec
- description: Exec resource
- x-dcl-conflicts:
- - pkg
- - repository
- - file
- required:
- - validate
- properties:
- enforce:
- type: object
- x-dcl-go-name: Enforce
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce
- description: What to run to bring this resource into
- the desired state. An exit code of 100 indicates
- "success", any other exit code indicates a failure
- running enforce.
- required:
- - interpreter
- properties:
- args:
- type: array
- x-dcl-go-name: Args
- description: Optional arguments to pass to the
- source during execution.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- file:
- type: object
- x-dcl-go-name: File
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile
- description: A remote or local file.
- x-dcl-conflicts:
- - script
- properties:
- allowInsecure:
- type: boolean
- x-dcl-go-name: AllowInsecure
- description: 'Defaults to false. When false,
- files are subject to validations based on
- the file type: Remote: A checksum must be
- specified. Cloud Storage: An object generation
- number must be specified.'
- gcs:
- type: object
- x-dcl-go-name: Gcs
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs
- description: A Cloud Storage object.
- x-dcl-conflicts:
- - remote
- - localPath
- required:
- - bucket
- - object
- properties:
- bucket:
- type: string
- x-dcl-go-name: Bucket
- description: Required. Bucket of the Cloud
- Storage object.
- generation:
- type: integer
- format: int64
- x-dcl-go-name: Generation
- description: Generation number of the
- Cloud Storage object.
- object:
- type: string
- x-dcl-go-name: Object
- description: Required. Name of the Cloud
- Storage object.
- localPath:
- type: string
- x-dcl-go-name: LocalPath
- description: A local path within the VM to
- use.
- x-dcl-conflicts:
- - remote
- - gcs
- remote:
- type: object
- x-dcl-go-name: Remote
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote
- description: A generic remote file.
- x-dcl-conflicts:
- - gcs
- - localPath
- required:
- - uri
- properties:
- sha256Checksum:
- type: string
- x-dcl-go-name: Sha256Checksum
- description: SHA256 checksum of the remote
- file.
- uri:
- type: string
- x-dcl-go-name: Uri
- description: Required. URI from which
- to fetch the object. It should contain
- both the protocol and path following
- the format `{protocol}://{location}`.
- interpreter:
- type: string
- x-dcl-go-name: Interpreter
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnum
- description: 'Required. The script interpreter
- to use. Possible values: INTERPRETER_UNSPECIFIED,
- NONE, SHELL, POWERSHELL'
- enum:
- - INTERPRETER_UNSPECIFIED
- - NONE
- - SHELL
- - POWERSHELL
- outputFilePath:
- type: string
- x-dcl-go-name: OutputFilePath
- description: Only recorded for enforce Exec. Path
- to an output file (that is created by this Exec)
- whose content will be recorded in OSPolicyResourceCompliance
- after a successful run. Absence or failure to
- read this file will result in this ExecResource
- being non-compliant. Output file size is limited
- to 100K bytes.
- script:
- type: string
- x-dcl-go-name: Script
- description: An inline script. The size of the
- script is limited to 1024 characters.
- x-dcl-conflicts:
- - file
- validate:
- type: object
- x-dcl-go-name: Validate
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate
- description: Required. What to run to validate this
- resource is in the desired state. An exit code of
- 100 indicates "in desired state", and exit code
- of 101 indicates "not in desired state". Any other
- exit code indicates a failure running validate.
- required:
- - interpreter
- properties:
- args:
- type: array
- x-dcl-go-name: Args
- description: Optional arguments to pass to the
- source during execution.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- file:
- type: object
- x-dcl-go-name: File
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile
- description: A remote or local file.
- x-dcl-conflicts:
- - script
- properties:
- allowInsecure:
- type: boolean
- x-dcl-go-name: AllowInsecure
- description: 'Defaults to false. When false,
- files are subject to validations based on
- the file type: Remote: A checksum must be
- specified. Cloud Storage: An object generation
- number must be specified.'
- gcs:
- type: object
- x-dcl-go-name: Gcs
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs
- description: A Cloud Storage object.
- x-dcl-conflicts:
- - remote
- - localPath
- required:
- - bucket
- - object
- properties:
- bucket:
- type: string
- x-dcl-go-name: Bucket
- description: Required. Bucket of the Cloud
- Storage object.
- generation:
- type: integer
- format: int64
- x-dcl-go-name: Generation
- description: Generation number of the
- Cloud Storage object.
- object:
- type: string
- x-dcl-go-name: Object
- description: Required. Name of the Cloud
- Storage object.
- localPath:
- type: string
- x-dcl-go-name: LocalPath
- description: A local path within the VM to
- use.
- x-dcl-conflicts:
- - remote
- - gcs
- remote:
- type: object
- x-dcl-go-name: Remote
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote
- description: A generic remote file.
- x-dcl-conflicts:
- - gcs
- - localPath
- required:
- - uri
- properties:
- sha256Checksum:
- type: string
- x-dcl-go-name: Sha256Checksum
- description: SHA256 checksum of the remote
- file.
- uri:
- type: string
- x-dcl-go-name: Uri
- description: Required. URI from which
- to fetch the object. It should contain
- both the protocol and path following
- the format `{protocol}://{location}`.
- interpreter:
- type: string
- x-dcl-go-name: Interpreter
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnum
- description: 'Required. The script interpreter
- to use. Possible values: INTERPRETER_UNSPECIFIED,
- NONE, SHELL, POWERSHELL'
- enum:
- - INTERPRETER_UNSPECIFIED
- - NONE
- - SHELL
- - POWERSHELL
- outputFilePath:
- type: string
- x-dcl-go-name: OutputFilePath
- description: Only recorded for enforce Exec. Path
- to an output file (that is created by this Exec)
- whose content will be recorded in OSPolicyResourceCompliance
- after a successful run. Absence or failure to
- read this file will result in this ExecResource
- being non-compliant. Output file size is limited
- to 100K bytes.
- script:
- type: string
- x-dcl-go-name: Script
- description: An inline script. The size of the
- script is limited to 1024 characters.
- x-dcl-conflicts:
- - file
- file:
- type: object
- x-dcl-go-name: File
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile
- description: File resource
- x-dcl-conflicts:
- - pkg
- - repository
- - exec
- required:
- - path
- - state
- properties:
- content:
- type: string
- x-dcl-go-name: Content
- description: A a file with this content. The size
- of the content is limited to 1024 characters.
- x-dcl-conflicts:
- - file
- file:
- type: object
- x-dcl-go-name: File
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile
- description: A remote or local source.
- x-dcl-conflicts:
- - content
- properties:
- allowInsecure:
- type: boolean
- x-dcl-go-name: AllowInsecure
- description: 'Defaults to false. When false, files
- are subject to validations based on the file
- type: Remote: A checksum must be specified.
- Cloud Storage: An object generation number must
- be specified.'
- gcs:
- type: object
- x-dcl-go-name: Gcs
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs
- description: A Cloud Storage object.
- x-dcl-conflicts:
- - remote
- - localPath
- required:
- - bucket
- - object
- properties:
- bucket:
- type: string
- x-dcl-go-name: Bucket
- description: Required. Bucket of the Cloud
- Storage object.
- generation:
- type: integer
- format: int64
- x-dcl-go-name: Generation
- description: Generation number of the Cloud
- Storage object.
- object:
- type: string
- x-dcl-go-name: Object
- description: Required. Name of the Cloud Storage
- object.
- localPath:
- type: string
- x-dcl-go-name: LocalPath
- description: A local path within the VM to use.
- x-dcl-conflicts:
- - remote
- - gcs
- remote:
- type: object
- x-dcl-go-name: Remote
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote
- description: A generic remote file.
- x-dcl-conflicts:
- - gcs
- - localPath
- required:
- - uri
- properties:
- sha256Checksum:
- type: string
- x-dcl-go-name: Sha256Checksum
- description: SHA256 checksum of the remote
- file.
- uri:
- type: string
- x-dcl-go-name: Uri
- description: Required. URI from which to fetch
- the object. It should contain both the protocol
- and path following the format `{protocol}://{location}`.
- path:
- type: string
- x-dcl-go-name: Path
- description: Required. The absolute path of the file
- within the VM.
- permissions:
- type: string
- x-dcl-go-name: Permissions
- readOnly: true
- description: 'Consists of three octal digits which
- represent, in order, the permissions of the owner,
- group, and other users for the file (similarly to
- the numeric mode used in the linux chmod utility).
- Each digit represents a three bit number with the
- 4 bit corresponding to the read permissions, the
- 2 bit corresponds to the write bit, and the one
- bit corresponds to the execute permission. Default
- behavior is 755. Below are some examples of permissions
- and their associated values: read, write, and execute:
- 7 read and execute: 5 read and write: 6 read only:
- 4'
- state:
- type: string
- x-dcl-go-name: State
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnum
- description: 'Required. Desired state of the file.
- Possible values: OS_POLICY_COMPLIANCE_STATE_UNSPECIFIED,
- COMPLIANT, NON_COMPLIANT, UNKNOWN, NO_OS_POLICIES_APPLICABLE'
- enum:
- - OS_POLICY_COMPLIANCE_STATE_UNSPECIFIED
- - COMPLIANT
- - NON_COMPLIANT
- - UNKNOWN
- - NO_OS_POLICIES_APPLICABLE
- id:
- type: string
- x-dcl-go-name: Id
- description: 'Required. The id of the resource with the
- following restrictions: * Must contain only lowercase
- letters, numbers, and hyphens. * Must start with a letter.
- * Must be between 1-63 characters. * Must end with a
- number or a letter. * Must be unique within the OS policy.'
- pkg:
- type: object
- x-dcl-go-name: Pkg
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg
- description: Package resource
- x-dcl-conflicts:
- - repository
- - exec
- - file
- required:
- - desiredState
- properties:
- apt:
- type: object
- x-dcl-go-name: Apt
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt
- description: A package managed by Apt.
- x-dcl-conflicts:
- - deb
- - yum
- - zypper
- - rpm
- - googet
- - msi
- required:
- - name
- properties:
- name:
- type: string
- x-dcl-go-name: Name
- description: Required. Package name.
- deb:
- type: object
- x-dcl-go-name: Deb
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb
- description: A deb package file.
- x-dcl-conflicts:
- - apt
- - yum
- - zypper
- - rpm
- - googet
- - msi
- required:
- - source
- properties:
- pullDeps:
- type: boolean
- x-dcl-go-name: PullDeps
- description: 'Whether dependencies should also
- be installed. - install when false: `dpkg -i
- package` - install when true: `apt-get update
- && apt-get -y install package.deb`'
- source:
- type: object
- x-dcl-go-name: Source
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource
- description: Required. A deb package.
- properties:
- allowInsecure:
- type: boolean
- x-dcl-go-name: AllowInsecure
- description: 'Defaults to false. When false,
- files are subject to validations based on
- the file type: Remote: A checksum must be
- specified. Cloud Storage: An object generation
- number must be specified.'
- gcs:
- type: object
- x-dcl-go-name: Gcs
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs
- description: A Cloud Storage object.
- x-dcl-conflicts:
- - remote
- - localPath
- required:
- - bucket
- - object
- properties:
- bucket:
- type: string
- x-dcl-go-name: Bucket
- description: Required. Bucket of the Cloud
- Storage object.
- generation:
- type: integer
- format: int64
- x-dcl-go-name: Generation
- description: Generation number of the
- Cloud Storage object.
- object:
- type: string
- x-dcl-go-name: Object
- description: Required. Name of the Cloud
- Storage object.
- localPath:
- type: string
- x-dcl-go-name: LocalPath
- description: A local path within the VM to
- use.
- x-dcl-conflicts:
- - remote
- - gcs
- remote:
- type: object
- x-dcl-go-name: Remote
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote
- description: A generic remote file.
- x-dcl-conflicts:
- - gcs
- - localPath
- required:
- - uri
- properties:
- sha256Checksum:
- type: string
- x-dcl-go-name: Sha256Checksum
- description: SHA256 checksum of the remote
- file.
- uri:
- type: string
- x-dcl-go-name: Uri
- description: Required. URI from which
- to fetch the object. It should contain
- both the protocol and path following
- the format `{protocol}://{location}`.
- desiredState:
- type: string
- x-dcl-go-name: DesiredState
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnum
- description: 'Required. The desired state the agent
- should maintain for this package. Possible values:
- DESIRED_STATE_UNSPECIFIED, INSTALLED, REMOVED'
- enum:
- - DESIRED_STATE_UNSPECIFIED
- - INSTALLED
- - REMOVED
- googet:
- type: object
- x-dcl-go-name: Googet
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget
- description: A package managed by GooGet.
- x-dcl-conflicts:
- - apt
- - deb
- - yum
- - zypper
- - rpm
- - msi
- required:
- - name
- properties:
- name:
- type: string
- x-dcl-go-name: Name
- description: Required. Package name.
- msi:
- type: object
- x-dcl-go-name: Msi
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi
- description: An MSI package.
- x-dcl-conflicts:
- - apt
- - deb
- - yum
- - zypper
- - rpm
- - googet
- required:
- - source
- properties:
- properties:
- type: array
- x-dcl-go-name: Properties
- description: Additional properties to use during
- installation. This should be in the format of
- Property=Setting. Appended to the defaults of
- `ACTION=INSTALL REBOOT=ReallySuppress`.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- source:
- type: object
- x-dcl-go-name: Source
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource
- description: Required. The MSI package.
- properties:
- allowInsecure:
- type: boolean
- x-dcl-go-name: AllowInsecure
- description: 'Defaults to false. When false,
- files are subject to validations based on
- the file type: Remote: A checksum must be
- specified. Cloud Storage: An object generation
- number must be specified.'
- gcs:
- type: object
- x-dcl-go-name: Gcs
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs
- description: A Cloud Storage object.
- x-dcl-conflicts:
- - remote
- - localPath
- required:
- - bucket
- - object
- properties:
- bucket:
- type: string
- x-dcl-go-name: Bucket
- description: Required. Bucket of the Cloud
- Storage object.
- generation:
- type: integer
- format: int64
- x-dcl-go-name: Generation
- description: Generation number of the
- Cloud Storage object.
- object:
- type: string
- x-dcl-go-name: Object
- description: Required. Name of the Cloud
- Storage object.
- localPath:
- type: string
- x-dcl-go-name: LocalPath
- description: A local path within the VM to
- use.
- x-dcl-conflicts:
- - remote
- - gcs
- remote:
- type: object
- x-dcl-go-name: Remote
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote
- description: A generic remote file.
- x-dcl-conflicts:
- - gcs
- - localPath
- required:
- - uri
- properties:
- sha256Checksum:
- type: string
- x-dcl-go-name: Sha256Checksum
- description: SHA256 checksum of the remote
- file.
- uri:
- type: string
- x-dcl-go-name: Uri
- description: Required. URI from which
- to fetch the object. It should contain
- both the protocol and path following
- the format `{protocol}://{location}`.
- rpm:
- type: object
- x-dcl-go-name: Rpm
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm
- description: An rpm package file.
- x-dcl-conflicts:
- - apt
- - deb
- - yum
- - zypper
- - googet
- - msi
- required:
- - source
- properties:
- pullDeps:
- type: boolean
- x-dcl-go-name: PullDeps
- description: 'Whether dependencies should also
- be installed. - install when false: `rpm --upgrade
- --replacepkgs package.rpm` - install when true:
- `yum -y install package.rpm` or `zypper -y install
- package.rpm`'
- source:
- type: object
- x-dcl-go-name: Source
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource
- description: Required. An rpm package.
- properties:
- allowInsecure:
- type: boolean
- x-dcl-go-name: AllowInsecure
- description: 'Defaults to false. When false,
- files are subject to validations based on
- the file type: Remote: A checksum must be
- specified. Cloud Storage: An object generation
- number must be specified.'
- gcs:
- type: object
- x-dcl-go-name: Gcs
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs
- description: A Cloud Storage object.
- x-dcl-conflicts:
- - remote
- - localPath
- required:
- - bucket
- - object
- properties:
- bucket:
- type: string
- x-dcl-go-name: Bucket
- description: Required. Bucket of the Cloud
- Storage object.
- generation:
- type: integer
- format: int64
- x-dcl-go-name: Generation
- description: Generation number of the
- Cloud Storage object.
- object:
- type: string
- x-dcl-go-name: Object
- description: Required. Name of the Cloud
- Storage object.
- localPath:
- type: string
- x-dcl-go-name: LocalPath
- description: A local path within the VM to
- use.
- x-dcl-conflicts:
- - remote
- - gcs
- remote:
- type: object
- x-dcl-go-name: Remote
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote
- description: A generic remote file.
- x-dcl-conflicts:
- - gcs
- - localPath
- required:
- - uri
- properties:
- sha256Checksum:
- type: string
- x-dcl-go-name: Sha256Checksum
- description: SHA256 checksum of the remote
- file.
- uri:
- type: string
- x-dcl-go-name: Uri
- description: Required. URI from which
- to fetch the object. It should contain
- both the protocol and path following
- the format `{protocol}://{location}`.
- yum:
- type: object
- x-dcl-go-name: Yum
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum
- description: A package managed by YUM.
- x-dcl-conflicts:
- - apt
- - deb
- - zypper
- - rpm
- - googet
- - msi
- required:
- - name
- properties:
- name:
- type: string
- x-dcl-go-name: Name
- description: Required. Package name.
- zypper:
- type: object
- x-dcl-go-name: Zypper
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper
- description: A package managed by Zypper.
- x-dcl-conflicts:
- - apt
- - deb
- - yum
- - rpm
- - googet
- - msi
- required:
- - name
- properties:
- name:
- type: string
- x-dcl-go-name: Name
- description: Required. Package name.
- repository:
- type: object
- x-dcl-go-name: Repository
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository
- description: Package repository resource
- x-dcl-conflicts:
- - pkg
- - exec
- - file
- properties:
- apt:
- type: object
- x-dcl-go-name: Apt
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt
- description: An Apt Repository.
- x-dcl-conflicts:
- - yum
- - zypper
- - goo
- required:
- - archiveType
- - uri
- - distribution
- - components
- properties:
- archiveType:
- type: string
- x-dcl-go-name: ArchiveType
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnum
- description: 'Required. Type of archive files
- in this repository. Possible values: ARCHIVE_TYPE_UNSPECIFIED,
- DEB, DEB_SRC'
- enum:
- - ARCHIVE_TYPE_UNSPECIFIED
- - DEB
- - DEB_SRC
- components:
- type: array
- x-dcl-go-name: Components
- description: Required. List of components for
- this repository. Must contain at least one item.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- distribution:
- type: string
- x-dcl-go-name: Distribution
- description: Required. Distribution of this repository.
- gpgKey:
- type: string
- x-dcl-go-name: GpgKey
- description: URI of the key file for this repository.
- The agent maintains a keyring at `/etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg`.
- uri:
- type: string
- x-dcl-go-name: Uri
- description: Required. URI for this repository.
- goo:
- type: object
- x-dcl-go-name: Goo
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo
- description: A Goo Repository.
- x-dcl-conflicts:
- - apt
- - yum
- - zypper
- required:
- - name
- - url
- properties:
- name:
- type: string
- x-dcl-go-name: Name
- description: Required. The name of the repository.
- url:
- type: string
- x-dcl-go-name: Url
- description: Required. The url of the repository.
- yum:
- type: object
- x-dcl-go-name: Yum
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum
- description: A Yum Repository.
- x-dcl-conflicts:
- - apt
- - zypper
- - goo
- required:
- - id
- - baseUrl
- properties:
- baseUrl:
- type: string
- x-dcl-go-name: BaseUrl
- description: Required. The location of the repository
- directory.
- displayName:
- type: string
- x-dcl-go-name: DisplayName
- description: The display name of the repository.
- gpgKeys:
- type: array
- x-dcl-go-name: GpgKeys
- description: URIs of GPG keys.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- id:
- type: string
- x-dcl-go-name: Id
- description: Required. A one word, unique name
- for this repository. This is the `repo id` in
- the yum config file and also the `display_name`
- if `display_name` is omitted. This id is also
- used as the unique identifier when checking
- for resource conflicts.
- zypper:
- type: object
- x-dcl-go-name: Zypper
- x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper
- description: A Zypper Repository.
- x-dcl-conflicts:
- - apt
- - yum
- - goo
- required:
- - id
- - baseUrl
- properties:
- baseUrl:
- type: string
- x-dcl-go-name: BaseUrl
- description: Required. The location of the repository
- directory.
- displayName:
- type: string
- x-dcl-go-name: DisplayName
- description: The display name of the repository.
- gpgKeys:
- type: array
- x-dcl-go-name: GpgKeys
- description: URIs of GPG keys.
- x-dcl-send-empty: true
- x-dcl-list-type: list
- items:
- type: string
- x-dcl-go-type: string
- id:
- type: string
- x-dcl-go-name: Id
- description: Required. A one word, unique name
- for this repository. This is the `repo id` in
- the zypper config file and also the `display_name`
- if `display_name` is omitted. This id is also
- used as the unique identifier when checking
- for GuestPolicy conflicts.
- project:
- type: string
- x-dcl-go-name: Project
- description: The project for the resource
- x-kubernetes-immutable: true
- x-dcl-references:
- - resource: Cloudresourcemanager/Project
- field: name
- parent: true
- reconciling:
- type: boolean
- x-dcl-go-name: Reconciling
- readOnly: true
- description: 'Output only. Indicates that reconciliation is in progress
- for the revision. This value is `true` when the `rollout_state` is one
- of: * IN_PROGRESS * CANCELLING'
- x-kubernetes-immutable: true
- revisionCreateTime:
- type: string
- format: date-time
- x-dcl-go-name: RevisionCreateTime
- readOnly: true
- description: Output only. The timestamp that the revision was created.
- x-kubernetes-immutable: true
- revisionId:
- type: string
- x-dcl-go-name: RevisionId
- readOnly: true
- description: Output only. The assignment revision ID A new revision is committed
- whenever a rollout is triggered for a OS policy assignment
- x-kubernetes-immutable: true
- rollout:
- type: object
- x-dcl-go-name: Rollout
- x-dcl-go-type: OSPolicyAssignmentRollout
- description: 'Required. Rollout to deploy the OS policy assignment. A rollout
- is triggered in the following situations: 1) OSPolicyAssignment is created.
- 2) OSPolicyAssignment is updated and the update contains changes to one
- of the following fields: - instance_filter - os_policies 3) OSPolicyAssignment
- is deleted.'
- required:
- - disruptionBudget
- - minWaitDuration
- properties:
- disruptionBudget:
- type: object
- x-dcl-go-name: DisruptionBudget
- x-dcl-go-type: OSPolicyAssignmentRolloutDisruptionBudget
- description: Required. The maximum number (or percentage) of VMs per
- zone to disrupt at any given moment.
- properties:
- fixed:
- type: integer
- format: int64
- x-dcl-go-name: Fixed
- description: Specifies a fixed value.
- x-dcl-conflicts:
- - percent
- percent:
- type: integer
- format: int64
- x-dcl-go-name: Percent
- description: Specifies the relative value defined as a percentage,
- which will be multiplied by a reference value.
- x-dcl-conflicts:
- - fixed
- minWaitDuration:
- type: string
- x-dcl-go-name: MinWaitDuration
- description: Required. This determines the minimum duration of time
- to wait after the configuration changes are applied through the current
- rollout. A VM continues to count towards the `disruption_budget` at
- least until this duration of time has passed after configuration changes
- are applied.
- rolloutState:
- type: string
- x-dcl-go-name: RolloutState
- x-dcl-go-type: OSPolicyAssignmentRolloutStateEnum
- readOnly: true
- description: 'Output only. OS policy assignment rollout state Possible values:
- ROLLOUT_STATE_UNSPECIFIED, IN_PROGRESS, CANCELLING, CANCELLED, SUCCEEDED'
- x-kubernetes-immutable: true
- enum:
- - ROLLOUT_STATE_UNSPECIFIED
- - IN_PROGRESS
- - CANCELLING
- - CANCELLED
- - SUCCEEDED
- skipAwaitRollout:
- type: boolean
- x-dcl-go-name: SkipAwaitRollout
- description: Set to true to skip awaiting rollout during resource creation
- and update.
- x-dcl-mutable-unreadable: true
- uid:
- type: string
- x-dcl-go-name: Uid
- readOnly: true
- description: Output only. Server generated unique id for the OS policy assignment
- resource.
- x-kubernetes-immutable: true
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/osconfig/os_policy_assignment_internal.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/osconfig/os_policy_assignment_internal.go
deleted file mode 100644
index a61c47f891..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/osconfig/os_policy_assignment_internal.go
+++ /dev/null
@@ -1,16467 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 osconfig
-
-import (
- "bytes"
- "context"
- "encoding/json"
- "fmt"
- "io/ioutil"
- "strings"
-
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-func (r *OSPolicyAssignment) validate() error {
-
- if err := dcl.Required(r, "name"); err != nil {
- return err
- }
- if err := dcl.Required(r, "osPolicies"); err != nil {
- return err
- }
- if err := dcl.Required(r, "instanceFilter"); err != nil {
- return err
- }
- if err := dcl.Required(r, "rollout"); err != nil {
- return err
- }
- if err := dcl.RequiredParameter(r.Project, "Project"); err != nil {
- return err
- }
- if err := dcl.RequiredParameter(r.Location, "Location"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.InstanceFilter) {
- if err := r.InstanceFilter.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Rollout) {
- if err := r.Rollout.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPolicies) validate() error {
- if err := dcl.Required(r, "id"); err != nil {
- return err
- }
- if err := dcl.Required(r, "mode"); err != nil {
- return err
- }
- if err := dcl.Required(r, "resourceGroups"); err != nil {
- return err
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroups) validate() error {
- if err := dcl.Required(r, "resources"); err != nil {
- return err
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters) validate() error {
- if err := dcl.Required(r, "osShortName"); err != nil {
- return err
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResources) validate() error {
- if err := dcl.Required(r, "id"); err != nil {
- return err
- }
- if err := dcl.ValidateExactlyOneOfFieldsSet([]string{"Pkg", "Repository", "Exec", "File"}, r.Pkg, r.Repository, r.Exec, r.File); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Pkg) {
- if err := r.Pkg.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Repository) {
- if err := r.Repository.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Exec) {
- if err := r.Exec.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.File) {
- if err := r.File.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg) validate() error {
- if err := dcl.Required(r, "desiredState"); err != nil {
- return err
- }
- if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"Apt", "Deb", "Yum", "Zypper", "Rpm", "Googet", "Msi"}, r.Apt, r.Deb, r.Yum, r.Zypper, r.Rpm, r.Googet, r.Msi); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Apt) {
- if err := r.Apt.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Deb) {
- if err := r.Deb.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Yum) {
- if err := r.Yum.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Zypper) {
- if err := r.Zypper.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Rpm) {
- if err := r.Rpm.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Googet) {
- if err := r.Googet.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Msi) {
- if err := r.Msi.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt) validate() error {
- if err := dcl.Required(r, "name"); err != nil {
- return err
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb) validate() error {
- if err := dcl.Required(r, "source"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Source) {
- if err := r.Source.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource) validate() error {
- if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"Remote", "Gcs", "LocalPath"}, r.Remote, r.Gcs, r.LocalPath); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Remote) {
- if err := r.Remote.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Gcs) {
- if err := r.Gcs.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote) validate() error {
- if err := dcl.Required(r, "uri"); err != nil {
- return err
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs) validate() error {
- if err := dcl.Required(r, "bucket"); err != nil {
- return err
- }
- if err := dcl.Required(r, "object"); err != nil {
- return err
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum) validate() error {
- if err := dcl.Required(r, "name"); err != nil {
- return err
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper) validate() error {
- if err := dcl.Required(r, "name"); err != nil {
- return err
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm) validate() error {
- if err := dcl.Required(r, "source"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Source) {
- if err := r.Source.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource) validate() error {
- if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"Remote", "Gcs", "LocalPath"}, r.Remote, r.Gcs, r.LocalPath); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Remote) {
- if err := r.Remote.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Gcs) {
- if err := r.Gcs.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote) validate() error {
- if err := dcl.Required(r, "uri"); err != nil {
- return err
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs) validate() error {
- if err := dcl.Required(r, "bucket"); err != nil {
- return err
- }
- if err := dcl.Required(r, "object"); err != nil {
- return err
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget) validate() error {
- if err := dcl.Required(r, "name"); err != nil {
- return err
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi) validate() error {
- if err := dcl.Required(r, "source"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Source) {
- if err := r.Source.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource) validate() error {
- if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"Remote", "Gcs", "LocalPath"}, r.Remote, r.Gcs, r.LocalPath); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Remote) {
- if err := r.Remote.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Gcs) {
- if err := r.Gcs.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote) validate() error {
- if err := dcl.Required(r, "uri"); err != nil {
- return err
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs) validate() error {
- if err := dcl.Required(r, "bucket"); err != nil {
- return err
- }
- if err := dcl.Required(r, "object"); err != nil {
- return err
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository) validate() error {
- if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"Apt", "Yum", "Zypper", "Goo"}, r.Apt, r.Yum, r.Zypper, r.Goo); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Apt) {
- if err := r.Apt.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Yum) {
- if err := r.Yum.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Zypper) {
- if err := r.Zypper.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Goo) {
- if err := r.Goo.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt) validate() error {
- if err := dcl.Required(r, "archiveType"); err != nil {
- return err
- }
- if err := dcl.Required(r, "uri"); err != nil {
- return err
- }
- if err := dcl.Required(r, "distribution"); err != nil {
- return err
- }
- if err := dcl.Required(r, "components"); err != nil {
- return err
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum) validate() error {
- if err := dcl.Required(r, "id"); err != nil {
- return err
- }
- if err := dcl.Required(r, "baseUrl"); err != nil {
- return err
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper) validate() error {
- if err := dcl.Required(r, "id"); err != nil {
- return err
- }
- if err := dcl.Required(r, "baseUrl"); err != nil {
- return err
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo) validate() error {
- if err := dcl.Required(r, "name"); err != nil {
- return err
- }
- if err := dcl.Required(r, "url"); err != nil {
- return err
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec) validate() error {
- if err := dcl.Required(r, "validate"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Validate) {
- if err := r.Validate.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Enforce) {
- if err := r.Enforce.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate) validate() error {
- if err := dcl.Required(r, "interpreter"); err != nil {
- return err
- }
- if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"File", "Script"}, r.File, r.Script); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.File) {
- if err := r.File.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile) validate() error {
- if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"Remote", "Gcs", "LocalPath"}, r.Remote, r.Gcs, r.LocalPath); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Remote) {
- if err := r.Remote.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Gcs) {
- if err := r.Gcs.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote) validate() error {
- if err := dcl.Required(r, "uri"); err != nil {
- return err
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs) validate() error {
- if err := dcl.Required(r, "bucket"); err != nil {
- return err
- }
- if err := dcl.Required(r, "object"); err != nil {
- return err
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce) validate() error {
- if err := dcl.Required(r, "interpreter"); err != nil {
- return err
- }
- if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"File", "Script"}, r.File, r.Script); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.File) {
- if err := r.File.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile) validate() error {
- if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"Remote", "Gcs", "LocalPath"}, r.Remote, r.Gcs, r.LocalPath); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Remote) {
- if err := r.Remote.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Gcs) {
- if err := r.Gcs.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote) validate() error {
- if err := dcl.Required(r, "uri"); err != nil {
- return err
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs) validate() error {
- if err := dcl.Required(r, "bucket"); err != nil {
- return err
- }
- if err := dcl.Required(r, "object"); err != nil {
- return err
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile) validate() error {
- if err := dcl.Required(r, "path"); err != nil {
- return err
- }
- if err := dcl.Required(r, "state"); err != nil {
- return err
- }
- if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"File", "Content"}, r.File, r.Content); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.File) {
- if err := r.File.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile) validate() error {
- if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"Remote", "Gcs", "LocalPath"}, r.Remote, r.Gcs, r.LocalPath); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.Remote) {
- if err := r.Remote.validate(); err != nil {
- return err
- }
- }
- if !dcl.IsEmptyValueIndirect(r.Gcs) {
- if err := r.Gcs.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote) validate() error {
- if err := dcl.Required(r, "uri"); err != nil {
- return err
- }
- return nil
-}
-func (r *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs) validate() error {
- if err := dcl.Required(r, "bucket"); err != nil {
- return err
- }
- if err := dcl.Required(r, "object"); err != nil {
- return err
- }
- return nil
-}
-func (r *OSPolicyAssignmentInstanceFilter) validate() error {
- return nil
-}
-func (r *OSPolicyAssignmentInstanceFilterInclusionLabels) validate() error {
- return nil
-}
-func (r *OSPolicyAssignmentInstanceFilterExclusionLabels) validate() error {
- return nil
-}
-func (r *OSPolicyAssignmentInstanceFilterInventories) validate() error {
- if err := dcl.Required(r, "osShortName"); err != nil {
- return err
- }
- return nil
-}
-func (r *OSPolicyAssignmentRollout) validate() error {
- if err := dcl.Required(r, "disruptionBudget"); err != nil {
- return err
- }
- if err := dcl.Required(r, "minWaitDuration"); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(r.DisruptionBudget) {
- if err := r.DisruptionBudget.validate(); err != nil {
- return err
- }
- }
- return nil
-}
-func (r *OSPolicyAssignmentRolloutDisruptionBudget) validate() error {
- if err := dcl.ValidateExactlyOneOfFieldsSet([]string{"Fixed", "Percent"}, r.Fixed, r.Percent); err != nil {
- return err
- }
- return nil
-}
-func (r *OSPolicyAssignment) basePath() string {
- params := map[string]interface{}{}
- return dcl.Nprintf("https://osconfig.googleapis.com/v1", params)
-}
-
-func (r *OSPolicyAssignment) getURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "location": dcl.ValueOrEmptyString(nr.Location),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("projects/{{project}}/locations/{{location}}/osPolicyAssignments/{{name}}", nr.basePath(), userBasePath, params), nil
-}
-
-func (r *OSPolicyAssignment) listURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "location": dcl.ValueOrEmptyString(nr.Location),
- }
- return dcl.URL("projects/{{project}}/locations/{{location}}/osPolicyAssignments", nr.basePath(), userBasePath, params), nil
-
-}
-
-func (r *OSPolicyAssignment) createURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "location": dcl.ValueOrEmptyString(nr.Location),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("projects/{{project}}/locations/{{location}}/osPolicyAssignments?osPolicyAssignmentId={{name}}", nr.basePath(), userBasePath, params), nil
-
-}
-
-func (r *OSPolicyAssignment) deleteURL(userBasePath string) (string, error) {
- nr := r.urlNormalized()
- params := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "location": dcl.ValueOrEmptyString(nr.Location),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("projects/{{project}}/locations/{{location}}/osPolicyAssignments/{{name}}", nr.basePath(), userBasePath, params), nil
-}
-
-// oSPolicyAssignmentApiOperation represents a mutable operation in the underlying REST
-// API such as Create, Update, or Delete.
-type oSPolicyAssignmentApiOperation interface {
- do(context.Context, *OSPolicyAssignment, *Client) error
-}
-
-// newUpdateOSPolicyAssignmentUpdateOSPolicyAssignmentRequest creates a request for an
-// OSPolicyAssignment resource's UpdateOSPolicyAssignment update type by filling in the update
-// fields based on the intended state of the resource.
-func newUpdateOSPolicyAssignmentUpdateOSPolicyAssignmentRequest(ctx context.Context, f *OSPolicyAssignment, c *Client) (map[string]interface{}, error) {
- req := map[string]interface{}{}
- res := f
- _ = res
-
- if v := f.Description; !dcl.IsEmptyValueIndirect(v) {
- req["description"] = v
- }
- if v, err := expandOSPolicyAssignmentOSPoliciesSlice(c, f.OSPolicies, res); err != nil {
- return nil, fmt.Errorf("error expanding OSPolicies into osPolicies: %w", err)
- } else if v != nil {
- req["osPolicies"] = v
- }
- if v, err := expandOSPolicyAssignmentInstanceFilter(c, f.InstanceFilter, res); err != nil {
- return nil, fmt.Errorf("error expanding InstanceFilter into instanceFilter: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- req["instanceFilter"] = v
- }
- if v, err := expandOSPolicyAssignmentRollout(c, f.Rollout, res); err != nil {
- return nil, fmt.Errorf("error expanding Rollout into rollout: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- req["rollout"] = v
- }
- if v := f.SkipAwaitRollout; !dcl.IsEmptyValueIndirect(v) {
- req["skipAwaitRollout"] = v
- }
- return req, nil
-}
-
-// marshalUpdateOSPolicyAssignmentUpdateOSPolicyAssignmentRequest converts the update into
-// the final JSON request body.
-func marshalUpdateOSPolicyAssignmentUpdateOSPolicyAssignmentRequest(c *Client, m map[string]interface{}) ([]byte, error) {
-
- dcl.MoveMapEntry(
- m,
- []string{"skipAwaitRollout"},
- []string{},
- )
- return json.Marshal(m)
-}
-
-type updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation struct {
- // If the update operation has the REQUIRES_APPLY_OPTIONS trait, this will be populated.
- // Usually it will be nil - this is to prevent us from accidentally depending on apply
- // options, which should usually be unnecessary.
- ApplyOptions []dcl.ApplyOption
- FieldDiffs []*dcl.FieldDiff
-}
-
-// do creates a request and sends it to the appropriate URL. In most operations,
-// do will transcribe a subset of the resource into a request object and send a
-// PUT request to a single URL.
-
-func (c *Client) listOSPolicyAssignmentRaw(ctx context.Context, r *OSPolicyAssignment, pageToken string, pageSize int32) ([]byte, error) {
- u, err := r.urlNormalized().listURL(c.Config.BasePath)
- if err != nil {
- return nil, err
- }
-
- m := make(map[string]string)
- if pageToken != "" {
- m["pageToken"] = pageToken
- }
-
- if pageSize != OSPolicyAssignmentMaxPage {
- m["pageSize"] = fmt.Sprintf("%v", pageSize)
- }
-
- u, err = dcl.AddQueryParams(u, m)
- if err != nil {
- return nil, err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
- if err != nil {
- return nil, err
- }
- defer resp.Response.Body.Close()
- return ioutil.ReadAll(resp.Response.Body)
-}
-
-type listOSPolicyAssignmentOperation struct {
- OsPolicyAssignments []map[string]interface{} `json:"osPolicyAssignments"`
- Token string `json:"nextPageToken"`
-}
-
-func (c *Client) listOSPolicyAssignment(ctx context.Context, r *OSPolicyAssignment, pageToken string, pageSize int32) ([]*OSPolicyAssignment, string, error) {
- b, err := c.listOSPolicyAssignmentRaw(ctx, r, pageToken, pageSize)
- if err != nil {
- return nil, "", err
- }
-
- var m listOSPolicyAssignmentOperation
- if err := json.Unmarshal(b, &m); err != nil {
- return nil, "", err
- }
-
- var l []*OSPolicyAssignment
- for _, v := range m.OsPolicyAssignments {
- res, err := unmarshalMapOSPolicyAssignment(v, c, r)
- if err != nil {
- return nil, m.Token, err
- }
- res.Project = r.Project
- res.Location = r.Location
- l = append(l, res)
- }
-
- return l, m.Token, nil
-}
-
-func (c *Client) deleteAllOSPolicyAssignment(ctx context.Context, f func(*OSPolicyAssignment) bool, resources []*OSPolicyAssignment) error {
- var errors []string
- for _, res := range resources {
- if f(res) {
- // We do not want deleteAll to fail on a deletion or else it will stop deleting other resources.
- err := c.DeleteOSPolicyAssignment(ctx, res)
- if err != nil {
- errors = append(errors, err.Error())
- }
- }
- }
- if len(errors) > 0 {
- return fmt.Errorf("%v", strings.Join(errors, "\n"))
- } else {
- return nil
- }
-}
-
-type deleteOSPolicyAssignmentOperation struct{}
-
-// Create operations are similar to Update operations, although they do not have
-// specific request objects. The Create request object is the json encoding of
-// the resource, which is modified by res.marshal to form the base request body.
-type createOSPolicyAssignmentOperation struct {
- response map[string]interface{}
-}
-
-func (op *createOSPolicyAssignmentOperation) FirstResponse() (map[string]interface{}, bool) {
- return op.response, len(op.response) > 0
-}
-
-func (c *Client) getOSPolicyAssignmentRaw(ctx context.Context, r *OSPolicyAssignment) ([]byte, error) {
-
- u, err := r.getURL(c.Config.BasePath)
- if err != nil {
- return nil, err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
- if err != nil {
- return nil, err
- }
- defer resp.Response.Body.Close()
- b, err := ioutil.ReadAll(resp.Response.Body)
- if err != nil {
- return nil, err
- }
-
- return b, nil
-}
-
-func (c *Client) oSPolicyAssignmentDiffsForRawDesired(ctx context.Context, rawDesired *OSPolicyAssignment, opts ...dcl.ApplyOption) (initial, desired *OSPolicyAssignment, diffs []*dcl.FieldDiff, err error) {
- c.Config.Logger.InfoWithContext(ctx, "Fetching initial state...")
- // First, let us see if the user provided a state hint. If they did, we will start fetching based on that.
- var fetchState *OSPolicyAssignment
- if sh := dcl.FetchStateHint(opts); sh != nil {
- if r, ok := sh.(*OSPolicyAssignment); !ok {
- c.Config.Logger.WarningWithContextf(ctx, "Initial state hint was of the wrong type; expected OSPolicyAssignment, got %T", sh)
- } else {
- fetchState = r
- }
- }
- if fetchState == nil {
- fetchState = rawDesired
- }
-
- // 1.2: Retrieval of raw initial state from API
- rawInitial, err := c.GetOSPolicyAssignment(ctx, fetchState)
- if rawInitial == nil {
- if !dcl.IsNotFound(err) {
- c.Config.Logger.WarningWithContextf(ctx, "Failed to retrieve whether a OSPolicyAssignment resource already exists: %s", err)
- return nil, nil, nil, fmt.Errorf("failed to retrieve OSPolicyAssignment resource: %v", err)
- }
- c.Config.Logger.InfoWithContext(ctx, "Found that OSPolicyAssignment resource did not exist.")
- // Perform canonicalization to pick up defaults.
- desired, err = canonicalizeOSPolicyAssignmentDesiredState(rawDesired, rawInitial)
- return nil, desired, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Found initial state for OSPolicyAssignment: %v", rawInitial)
- c.Config.Logger.InfoWithContextf(ctx, "Initial desired state for OSPolicyAssignment: %v", rawDesired)
-
- // The Get call applies postReadExtract and so the result may contain fields that are not part of API version.
- if err := extractOSPolicyAssignmentFields(rawInitial); err != nil {
- return nil, nil, nil, err
- }
-
- // 1.3: Canonicalize raw initial state into initial state.
- initial, err = canonicalizeOSPolicyAssignmentInitialState(rawInitial, rawDesired)
- if err != nil {
- return nil, nil, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalized initial state for OSPolicyAssignment: %v", initial)
-
- // 1.4: Canonicalize raw desired state into desired state.
- desired, err = canonicalizeOSPolicyAssignmentDesiredState(rawDesired, rawInitial, opts...)
- if err != nil {
- return nil, nil, nil, err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Canonicalized desired state for OSPolicyAssignment: %v", desired)
-
- // 2.1: Comparison of initial and desired state.
- diffs, err = diffOSPolicyAssignment(c, desired, initial, opts...)
- return initial, desired, diffs, err
-}
-
-func canonicalizeOSPolicyAssignmentInitialState(rawInitial, rawDesired *OSPolicyAssignment) (*OSPolicyAssignment, error) {
- // TODO(magic-modules-eng): write canonicalizer once relevant traits are added.
- return rawInitial, nil
-}
-
-/*
-* Canonicalizers
-*
-* These are responsible for converting either a user-specified config or a
-* GCP API response to a standard format that can be used for difference checking.
-* */
-
-func canonicalizeOSPolicyAssignmentDesiredState(rawDesired, rawInitial *OSPolicyAssignment, opts ...dcl.ApplyOption) (*OSPolicyAssignment, error) {
-
- if rawInitial == nil {
- // Since the initial state is empty, the desired state is all we have.
- // We canonicalize the remaining nested objects with nil to pick up defaults.
- rawDesired.InstanceFilter = canonicalizeOSPolicyAssignmentInstanceFilter(rawDesired.InstanceFilter, nil, opts...)
- rawDesired.Rollout = canonicalizeOSPolicyAssignmentRollout(rawDesired.Rollout, nil, opts...)
-
- return rawDesired, nil
- }
- canonicalDesired := &OSPolicyAssignment{}
- if dcl.PartialSelfLinkToSelfLink(rawDesired.Name, rawInitial.Name) {
- canonicalDesired.Name = rawInitial.Name
- } else {
- canonicalDesired.Name = rawDesired.Name
- }
- if dcl.StringCanonicalize(rawDesired.Description, rawInitial.Description) {
- canonicalDesired.Description = rawInitial.Description
- } else {
- canonicalDesired.Description = rawDesired.Description
- }
- canonicalDesired.OSPolicies = canonicalizeOSPolicyAssignmentOSPoliciesSlice(rawDesired.OSPolicies, rawInitial.OSPolicies, opts...)
- canonicalDesired.InstanceFilter = canonicalizeOSPolicyAssignmentInstanceFilter(rawDesired.InstanceFilter, rawInitial.InstanceFilter, opts...)
- canonicalDesired.Rollout = canonicalizeOSPolicyAssignmentRollout(rawDesired.Rollout, rawInitial.Rollout, opts...)
- if dcl.NameToSelfLink(rawDesired.Project, rawInitial.Project) {
- canonicalDesired.Project = rawInitial.Project
- } else {
- canonicalDesired.Project = rawDesired.Project
- }
- if dcl.NameToSelfLink(rawDesired.Location, rawInitial.Location) {
- canonicalDesired.Location = rawInitial.Location
- } else {
- canonicalDesired.Location = rawDesired.Location
- }
- if dcl.BoolCanonicalize(rawDesired.SkipAwaitRollout, rawInitial.SkipAwaitRollout) {
- canonicalDesired.SkipAwaitRollout = rawInitial.SkipAwaitRollout
- } else {
- canonicalDesired.SkipAwaitRollout = rawDesired.SkipAwaitRollout
- }
- return canonicalDesired, nil
-}
-
-func canonicalizeOSPolicyAssignmentNewState(c *Client, rawNew, rawDesired *OSPolicyAssignment) (*OSPolicyAssignment, error) {
-
- if dcl.IsEmptyValueIndirect(rawNew.Name) && dcl.IsEmptyValueIndirect(rawDesired.Name) {
- rawNew.Name = rawDesired.Name
- } else {
- if dcl.PartialSelfLinkToSelfLink(rawDesired.Name, rawNew.Name) {
- rawNew.Name = rawDesired.Name
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Description) && dcl.IsEmptyValueIndirect(rawDesired.Description) {
- rawNew.Description = rawDesired.Description
- } else {
- if dcl.StringCanonicalize(rawDesired.Description, rawNew.Description) {
- rawNew.Description = rawDesired.Description
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.OSPolicies) && dcl.IsEmptyValueIndirect(rawDesired.OSPolicies) {
- rawNew.OSPolicies = rawDesired.OSPolicies
- } else {
- rawNew.OSPolicies = canonicalizeNewOSPolicyAssignmentOSPoliciesSlice(c, rawDesired.OSPolicies, rawNew.OSPolicies)
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.InstanceFilter) && dcl.IsEmptyValueIndirect(rawDesired.InstanceFilter) {
- rawNew.InstanceFilter = rawDesired.InstanceFilter
- } else {
- rawNew.InstanceFilter = canonicalizeNewOSPolicyAssignmentInstanceFilter(c, rawDesired.InstanceFilter, rawNew.InstanceFilter)
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Rollout) && dcl.IsEmptyValueIndirect(rawDesired.Rollout) {
- rawNew.Rollout = rawDesired.Rollout
- } else {
- rawNew.Rollout = canonicalizeNewOSPolicyAssignmentRollout(c, rawDesired.Rollout, rawNew.Rollout)
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.RevisionId) && dcl.IsEmptyValueIndirect(rawDesired.RevisionId) {
- rawNew.RevisionId = rawDesired.RevisionId
- } else {
- if dcl.StringCanonicalize(rawDesired.RevisionId, rawNew.RevisionId) {
- rawNew.RevisionId = rawDesired.RevisionId
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.RevisionCreateTime) && dcl.IsEmptyValueIndirect(rawDesired.RevisionCreateTime) {
- rawNew.RevisionCreateTime = rawDesired.RevisionCreateTime
- } else {
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Etag) && dcl.IsEmptyValueIndirect(rawDesired.Etag) {
- rawNew.Etag = rawDesired.Etag
- } else {
- if dcl.StringCanonicalize(rawDesired.Etag, rawNew.Etag) {
- rawNew.Etag = rawDesired.Etag
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.RolloutState) && dcl.IsEmptyValueIndirect(rawDesired.RolloutState) {
- rawNew.RolloutState = rawDesired.RolloutState
- } else {
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Baseline) && dcl.IsEmptyValueIndirect(rawDesired.Baseline) {
- rawNew.Baseline = rawDesired.Baseline
- } else {
- if dcl.BoolCanonicalize(rawDesired.Baseline, rawNew.Baseline) {
- rawNew.Baseline = rawDesired.Baseline
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Deleted) && dcl.IsEmptyValueIndirect(rawDesired.Deleted) {
- rawNew.Deleted = rawDesired.Deleted
- } else {
- if dcl.BoolCanonicalize(rawDesired.Deleted, rawNew.Deleted) {
- rawNew.Deleted = rawDesired.Deleted
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Reconciling) && dcl.IsEmptyValueIndirect(rawDesired.Reconciling) {
- rawNew.Reconciling = rawDesired.Reconciling
- } else {
- if dcl.BoolCanonicalize(rawDesired.Reconciling, rawNew.Reconciling) {
- rawNew.Reconciling = rawDesired.Reconciling
- }
- }
-
- if dcl.IsEmptyValueIndirect(rawNew.Uid) && dcl.IsEmptyValueIndirect(rawDesired.Uid) {
- rawNew.Uid = rawDesired.Uid
- } else {
- if dcl.StringCanonicalize(rawDesired.Uid, rawNew.Uid) {
- rawNew.Uid = rawDesired.Uid
- }
- }
-
- rawNew.Project = rawDesired.Project
-
- rawNew.Location = rawDesired.Location
-
- if dcl.IsEmptyValueIndirect(rawNew.SkipAwaitRollout) && dcl.IsEmptyValueIndirect(rawDesired.SkipAwaitRollout) {
- rawNew.SkipAwaitRollout = rawDesired.SkipAwaitRollout
- } else {
- rawNew.SkipAwaitRollout = rawDesired.SkipAwaitRollout
- }
-
- return rawNew, nil
-}
-
-func canonicalizeOSPolicyAssignmentOSPolicies(des, initial *OSPolicyAssignmentOSPolicies, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPolicies {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPolicies{}
-
- if dcl.StringCanonicalize(des.Id, initial.Id) || dcl.IsZeroValue(des.Id) {
- cDes.Id = initial.Id
- } else {
- cDes.Id = des.Id
- }
- if dcl.StringCanonicalize(des.Description, initial.Description) || dcl.IsZeroValue(des.Description) {
- cDes.Description = initial.Description
- } else {
- cDes.Description = des.Description
- }
- if dcl.IsZeroValue(des.Mode) || (dcl.IsEmptyValueIndirect(des.Mode) && dcl.IsEmptyValueIndirect(initial.Mode)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Mode = initial.Mode
- } else {
- cDes.Mode = des.Mode
- }
- cDes.ResourceGroups = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsSlice(des.ResourceGroups, initial.ResourceGroups, opts...)
- if dcl.BoolCanonicalize(des.AllowNoResourceGroupMatch, initial.AllowNoResourceGroupMatch) || dcl.IsZeroValue(des.AllowNoResourceGroupMatch) {
- cDes.AllowNoResourceGroupMatch = initial.AllowNoResourceGroupMatch
- } else {
- cDes.AllowNoResourceGroupMatch = des.AllowNoResourceGroupMatch
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesSlice(des, initial []OSPolicyAssignmentOSPolicies, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPolicies {
- if des == nil {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPolicies, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPolicies(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPolicies, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPolicies(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPolicies(c *Client, des, nw *OSPolicyAssignmentOSPolicies) *OSPolicyAssignmentOSPolicies {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPolicies while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Id, nw.Id) {
- nw.Id = des.Id
- }
- if dcl.StringCanonicalize(des.Description, nw.Description) {
- nw.Description = des.Description
- }
- nw.ResourceGroups = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsSlice(c, des.ResourceGroups, nw.ResourceGroups)
- if dcl.BoolCanonicalize(des.AllowNoResourceGroupMatch, nw.AllowNoResourceGroupMatch) {
- nw.AllowNoResourceGroupMatch = des.AllowNoResourceGroupMatch
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesSet(c *Client, des, nw []OSPolicyAssignmentOSPolicies) []OSPolicyAssignmentOSPolicies {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPolicies
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPolicies(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesSlice(c *Client, des, nw []OSPolicyAssignmentOSPolicies) []OSPolicyAssignmentOSPolicies {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPolicies
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPolicies(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroups(des, initial *OSPolicyAssignmentOSPoliciesResourceGroups, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroups {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroups{}
-
- cDes.InventoryFilters = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFiltersSlice(des.InventoryFilters, initial.InventoryFilters, opts...)
- cDes.Resources = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesSlice(des.Resources, initial.Resources, opts...)
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroups, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroups {
- if des == nil {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroups, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroups(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroups, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroups(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroups(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroups) *OSPolicyAssignmentOSPoliciesResourceGroups {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroups while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.InventoryFilters = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFiltersSlice(c, des.InventoryFilters, nw.InventoryFilters)
- nw.Resources = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesSlice(c, des.Resources, nw.Resources)
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroups) []OSPolicyAssignmentOSPoliciesResourceGroups {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroups
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroups(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroups) []OSPolicyAssignmentOSPoliciesResourceGroups {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroups
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroups(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters{}
-
- if dcl.StringCanonicalize(des.OSShortName, initial.OSShortName) || dcl.IsZeroValue(des.OSShortName) {
- cDes.OSShortName = initial.OSShortName
- } else {
- cDes.OSShortName = des.OSShortName
- }
- if dcl.StringCanonicalize(des.OSVersion, initial.OSVersion) || dcl.IsZeroValue(des.OSVersion) {
- cDes.OSVersion = initial.OSVersion
- } else {
- cDes.OSVersion = des.OSVersion
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFiltersSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters {
- if des == nil {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters) *OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.OSShortName, nw.OSShortName) {
- nw.OSShortName = des.OSShortName
- }
- if dcl.StringCanonicalize(des.OSVersion, nw.OSVersion) {
- nw.OSVersion = des.OSVersion
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFiltersSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters) []OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFiltersNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFiltersSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters) []OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResources(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResources, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResources {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if des.Pkg != nil || (initial != nil && initial.Pkg != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Repository, des.Exec, des.File) {
- des.Pkg = nil
- if initial != nil {
- initial.Pkg = nil
- }
- }
- }
-
- if des.Repository != nil || (initial != nil && initial.Repository != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Pkg, des.Exec, des.File) {
- des.Repository = nil
- if initial != nil {
- initial.Repository = nil
- }
- }
- }
-
- if des.Exec != nil || (initial != nil && initial.Exec != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Pkg, des.Repository, des.File) {
- des.Exec = nil
- if initial != nil {
- initial.Exec = nil
- }
- }
- }
-
- if des.File != nil || (initial != nil && initial.File != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Pkg, des.Repository, des.Exec) {
- des.File = nil
- if initial != nil {
- initial.File = nil
- }
- }
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResources{}
-
- if dcl.StringCanonicalize(des.Id, initial.Id) || dcl.IsZeroValue(des.Id) {
- cDes.Id = initial.Id
- } else {
- cDes.Id = des.Id
- }
- cDes.Pkg = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg(des.Pkg, initial.Pkg, opts...)
- cDes.Repository = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository(des.Repository, initial.Repository, opts...)
- cDes.Exec = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec(des.Exec, initial.Exec, opts...)
- cDes.File = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile(des.File, initial.File, opts...)
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResources, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResources {
- if des == nil {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResources, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResources(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResources, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResources(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResources(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResources) *OSPolicyAssignmentOSPoliciesResourceGroupsResources {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResources while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Id, nw.Id) {
- nw.Id = des.Id
- }
- nw.Pkg = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg(c, des.Pkg, nw.Pkg)
- nw.Repository = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository(c, des.Repository, nw.Repository)
- nw.Exec = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec(c, des.Exec, nw.Exec)
- nw.File = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile(c, des.File, nw.File)
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResources) []OSPolicyAssignmentOSPoliciesResourceGroupsResources {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResources
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResources(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResources) []OSPolicyAssignmentOSPoliciesResourceGroupsResources {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResources
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResources(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if des.Apt != nil || (initial != nil && initial.Apt != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Deb, des.Yum, des.Zypper, des.Rpm, des.Googet, des.Msi) {
- des.Apt = nil
- if initial != nil {
- initial.Apt = nil
- }
- }
- }
-
- if des.Deb != nil || (initial != nil && initial.Deb != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Apt, des.Yum, des.Zypper, des.Rpm, des.Googet, des.Msi) {
- des.Deb = nil
- if initial != nil {
- initial.Deb = nil
- }
- }
- }
-
- if des.Yum != nil || (initial != nil && initial.Yum != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Apt, des.Deb, des.Zypper, des.Rpm, des.Googet, des.Msi) {
- des.Yum = nil
- if initial != nil {
- initial.Yum = nil
- }
- }
- }
-
- if des.Zypper != nil || (initial != nil && initial.Zypper != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Apt, des.Deb, des.Yum, des.Rpm, des.Googet, des.Msi) {
- des.Zypper = nil
- if initial != nil {
- initial.Zypper = nil
- }
- }
- }
-
- if des.Rpm != nil || (initial != nil && initial.Rpm != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Apt, des.Deb, des.Yum, des.Zypper, des.Googet, des.Msi) {
- des.Rpm = nil
- if initial != nil {
- initial.Rpm = nil
- }
- }
- }
-
- if des.Googet != nil || (initial != nil && initial.Googet != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Apt, des.Deb, des.Yum, des.Zypper, des.Rpm, des.Msi) {
- des.Googet = nil
- if initial != nil {
- initial.Googet = nil
- }
- }
- }
-
- if des.Msi != nil || (initial != nil && initial.Msi != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Apt, des.Deb, des.Yum, des.Zypper, des.Rpm, des.Googet) {
- des.Msi = nil
- if initial != nil {
- initial.Msi = nil
- }
- }
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg{}
-
- if dcl.IsZeroValue(des.DesiredState) || (dcl.IsEmptyValueIndirect(des.DesiredState) && dcl.IsEmptyValueIndirect(initial.DesiredState)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.DesiredState = initial.DesiredState
- } else {
- cDes.DesiredState = des.DesiredState
- }
- cDes.Apt = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt(des.Apt, initial.Apt, opts...)
- cDes.Deb = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb(des.Deb, initial.Deb, opts...)
- cDes.Yum = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum(des.Yum, initial.Yum, opts...)
- cDes.Zypper = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper(des.Zypper, initial.Zypper, opts...)
- cDes.Rpm = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm(des.Rpm, initial.Rpm, opts...)
- cDes.Googet = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget(des.Googet, initial.Googet, opts...)
- cDes.Msi = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi(des.Msi, initial.Msi, opts...)
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.Apt = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt(c, des.Apt, nw.Apt)
- nw.Deb = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb(c, des.Deb, nw.Deb)
- nw.Yum = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum(c, des.Yum, nw.Yum)
- nw.Zypper = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper(c, des.Zypper, nw.Zypper)
- nw.Rpm = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm(c, des.Rpm, nw.Rpm)
- nw.Googet = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget(c, des.Googet, nw.Googet)
- nw.Msi = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi(c, des.Msi, nw.Msi)
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt{}
-
- if dcl.StringCanonicalize(des.Name, initial.Name) || dcl.IsZeroValue(des.Name) {
- cDes.Name = initial.Name
- } else {
- cDes.Name = des.Name
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgAptSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Name, nw.Name) {
- nw.Name = des.Name
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgAptSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgAptNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgAptSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb{}
-
- cDes.Source = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource(des.Source, initial.Source, opts...)
- if dcl.BoolCanonicalize(des.PullDeps, initial.PullDeps) || dcl.IsZeroValue(des.PullDeps) {
- cDes.PullDeps = initial.PullDeps
- } else {
- cDes.PullDeps = des.PullDeps
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.Source = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource(c, des.Source, nw.Source)
- if dcl.BoolCanonicalize(des.PullDeps, nw.PullDeps) {
- nw.PullDeps = des.PullDeps
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if des.Remote != nil || (initial != nil && initial.Remote != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Gcs, des.LocalPath) {
- des.Remote = nil
- if initial != nil {
- initial.Remote = nil
- }
- }
- }
-
- if des.Gcs != nil || (initial != nil && initial.Gcs != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Remote, des.LocalPath) {
- des.Gcs = nil
- if initial != nil {
- initial.Gcs = nil
- }
- }
- }
-
- if des.LocalPath != nil || (initial != nil && initial.LocalPath != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Remote, des.Gcs) {
- des.LocalPath = nil
- if initial != nil {
- initial.LocalPath = nil
- }
- }
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource{}
-
- cDes.Remote = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote(des.Remote, initial.Remote, opts...)
- cDes.Gcs = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs(des.Gcs, initial.Gcs, opts...)
- if dcl.StringCanonicalize(des.LocalPath, initial.LocalPath) || dcl.IsZeroValue(des.LocalPath) {
- cDes.LocalPath = initial.LocalPath
- } else {
- cDes.LocalPath = des.LocalPath
- }
- if dcl.BoolCanonicalize(des.AllowInsecure, initial.AllowInsecure) || dcl.IsZeroValue(des.AllowInsecure) {
- cDes.AllowInsecure = initial.AllowInsecure
- } else {
- cDes.AllowInsecure = des.AllowInsecure
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.Remote = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote(c, des.Remote, nw.Remote)
- nw.Gcs = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs(c, des.Gcs, nw.Gcs)
- if dcl.StringCanonicalize(des.LocalPath, nw.LocalPath) {
- nw.LocalPath = des.LocalPath
- }
- if dcl.BoolCanonicalize(des.AllowInsecure, nw.AllowInsecure) {
- nw.AllowInsecure = des.AllowInsecure
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote{}
-
- if dcl.StringCanonicalize(des.Uri, initial.Uri) || dcl.IsZeroValue(des.Uri) {
- cDes.Uri = initial.Uri
- } else {
- cDes.Uri = des.Uri
- }
- if dcl.StringCanonicalize(des.Sha256Checksum, initial.Sha256Checksum) || dcl.IsZeroValue(des.Sha256Checksum) {
- cDes.Sha256Checksum = initial.Sha256Checksum
- } else {
- cDes.Sha256Checksum = des.Sha256Checksum
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemoteSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Uri, nw.Uri) {
- nw.Uri = des.Uri
- }
- if dcl.StringCanonicalize(des.Sha256Checksum, nw.Sha256Checksum) {
- nw.Sha256Checksum = des.Sha256Checksum
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemoteSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemoteNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemoteSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs{}
-
- if dcl.StringCanonicalize(des.Bucket, initial.Bucket) || dcl.IsZeroValue(des.Bucket) {
- cDes.Bucket = initial.Bucket
- } else {
- cDes.Bucket = des.Bucket
- }
- if dcl.StringCanonicalize(des.Object, initial.Object) || dcl.IsZeroValue(des.Object) {
- cDes.Object = initial.Object
- } else {
- cDes.Object = des.Object
- }
- if dcl.IsZeroValue(des.Generation) || (dcl.IsEmptyValueIndirect(des.Generation) && dcl.IsEmptyValueIndirect(initial.Generation)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Generation = initial.Generation
- } else {
- cDes.Generation = des.Generation
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcsSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Bucket, nw.Bucket) {
- nw.Bucket = des.Bucket
- }
- if dcl.StringCanonicalize(des.Object, nw.Object) {
- nw.Object = des.Object
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcsSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcsSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum{}
-
- if dcl.StringCanonicalize(des.Name, initial.Name) || dcl.IsZeroValue(des.Name) {
- cDes.Name = initial.Name
- } else {
- cDes.Name = des.Name
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYumSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Name, nw.Name) {
- nw.Name = des.Name
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYumSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYumNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYumSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper{}
-
- if dcl.StringCanonicalize(des.Name, initial.Name) || dcl.IsZeroValue(des.Name) {
- cDes.Name = initial.Name
- } else {
- cDes.Name = des.Name
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypperSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Name, nw.Name) {
- nw.Name = des.Name
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypperSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypperNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypperSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm{}
-
- cDes.Source = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource(des.Source, initial.Source, opts...)
- if dcl.BoolCanonicalize(des.PullDeps, initial.PullDeps) || dcl.IsZeroValue(des.PullDeps) {
- cDes.PullDeps = initial.PullDeps
- } else {
- cDes.PullDeps = des.PullDeps
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.Source = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource(c, des.Source, nw.Source)
- if dcl.BoolCanonicalize(des.PullDeps, nw.PullDeps) {
- nw.PullDeps = des.PullDeps
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if des.Remote != nil || (initial != nil && initial.Remote != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Gcs, des.LocalPath) {
- des.Remote = nil
- if initial != nil {
- initial.Remote = nil
- }
- }
- }
-
- if des.Gcs != nil || (initial != nil && initial.Gcs != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Remote, des.LocalPath) {
- des.Gcs = nil
- if initial != nil {
- initial.Gcs = nil
- }
- }
- }
-
- if des.LocalPath != nil || (initial != nil && initial.LocalPath != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Remote, des.Gcs) {
- des.LocalPath = nil
- if initial != nil {
- initial.LocalPath = nil
- }
- }
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource{}
-
- cDes.Remote = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote(des.Remote, initial.Remote, opts...)
- cDes.Gcs = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs(des.Gcs, initial.Gcs, opts...)
- if dcl.StringCanonicalize(des.LocalPath, initial.LocalPath) || dcl.IsZeroValue(des.LocalPath) {
- cDes.LocalPath = initial.LocalPath
- } else {
- cDes.LocalPath = des.LocalPath
- }
- if dcl.BoolCanonicalize(des.AllowInsecure, initial.AllowInsecure) || dcl.IsZeroValue(des.AllowInsecure) {
- cDes.AllowInsecure = initial.AllowInsecure
- } else {
- cDes.AllowInsecure = des.AllowInsecure
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.Remote = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote(c, des.Remote, nw.Remote)
- nw.Gcs = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs(c, des.Gcs, nw.Gcs)
- if dcl.StringCanonicalize(des.LocalPath, nw.LocalPath) {
- nw.LocalPath = des.LocalPath
- }
- if dcl.BoolCanonicalize(des.AllowInsecure, nw.AllowInsecure) {
- nw.AllowInsecure = des.AllowInsecure
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote{}
-
- if dcl.StringCanonicalize(des.Uri, initial.Uri) || dcl.IsZeroValue(des.Uri) {
- cDes.Uri = initial.Uri
- } else {
- cDes.Uri = des.Uri
- }
- if dcl.StringCanonicalize(des.Sha256Checksum, initial.Sha256Checksum) || dcl.IsZeroValue(des.Sha256Checksum) {
- cDes.Sha256Checksum = initial.Sha256Checksum
- } else {
- cDes.Sha256Checksum = des.Sha256Checksum
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemoteSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Uri, nw.Uri) {
- nw.Uri = des.Uri
- }
- if dcl.StringCanonicalize(des.Sha256Checksum, nw.Sha256Checksum) {
- nw.Sha256Checksum = des.Sha256Checksum
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemoteSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemoteNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemoteSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs{}
-
- if dcl.StringCanonicalize(des.Bucket, initial.Bucket) || dcl.IsZeroValue(des.Bucket) {
- cDes.Bucket = initial.Bucket
- } else {
- cDes.Bucket = des.Bucket
- }
- if dcl.StringCanonicalize(des.Object, initial.Object) || dcl.IsZeroValue(des.Object) {
- cDes.Object = initial.Object
- } else {
- cDes.Object = des.Object
- }
- if dcl.IsZeroValue(des.Generation) || (dcl.IsEmptyValueIndirect(des.Generation) && dcl.IsEmptyValueIndirect(initial.Generation)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Generation = initial.Generation
- } else {
- cDes.Generation = des.Generation
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcsSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Bucket, nw.Bucket) {
- nw.Bucket = des.Bucket
- }
- if dcl.StringCanonicalize(des.Object, nw.Object) {
- nw.Object = des.Object
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcsSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcsSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget{}
-
- if dcl.StringCanonicalize(des.Name, initial.Name) || dcl.IsZeroValue(des.Name) {
- cDes.Name = initial.Name
- } else {
- cDes.Name = des.Name
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGoogetSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Name, nw.Name) {
- nw.Name = des.Name
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGoogetSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGoogetNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGoogetSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi{}
-
- cDes.Source = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource(des.Source, initial.Source, opts...)
- if dcl.StringArrayCanonicalize(des.Properties, initial.Properties) {
- cDes.Properties = initial.Properties
- } else {
- cDes.Properties = des.Properties
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.Source = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource(c, des.Source, nw.Source)
- if dcl.StringArrayCanonicalize(des.Properties, nw.Properties) {
- nw.Properties = des.Properties
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if des.Remote != nil || (initial != nil && initial.Remote != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Gcs, des.LocalPath) {
- des.Remote = nil
- if initial != nil {
- initial.Remote = nil
- }
- }
- }
-
- if des.Gcs != nil || (initial != nil && initial.Gcs != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Remote, des.LocalPath) {
- des.Gcs = nil
- if initial != nil {
- initial.Gcs = nil
- }
- }
- }
-
- if des.LocalPath != nil || (initial != nil && initial.LocalPath != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Remote, des.Gcs) {
- des.LocalPath = nil
- if initial != nil {
- initial.LocalPath = nil
- }
- }
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource{}
-
- cDes.Remote = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote(des.Remote, initial.Remote, opts...)
- cDes.Gcs = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs(des.Gcs, initial.Gcs, opts...)
- if dcl.StringCanonicalize(des.LocalPath, initial.LocalPath) || dcl.IsZeroValue(des.LocalPath) {
- cDes.LocalPath = initial.LocalPath
- } else {
- cDes.LocalPath = des.LocalPath
- }
- if dcl.BoolCanonicalize(des.AllowInsecure, initial.AllowInsecure) || dcl.IsZeroValue(des.AllowInsecure) {
- cDes.AllowInsecure = initial.AllowInsecure
- } else {
- cDes.AllowInsecure = des.AllowInsecure
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.Remote = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote(c, des.Remote, nw.Remote)
- nw.Gcs = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs(c, des.Gcs, nw.Gcs)
- if dcl.StringCanonicalize(des.LocalPath, nw.LocalPath) {
- nw.LocalPath = des.LocalPath
- }
- if dcl.BoolCanonicalize(des.AllowInsecure, nw.AllowInsecure) {
- nw.AllowInsecure = des.AllowInsecure
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote{}
-
- if dcl.StringCanonicalize(des.Uri, initial.Uri) || dcl.IsZeroValue(des.Uri) {
- cDes.Uri = initial.Uri
- } else {
- cDes.Uri = des.Uri
- }
- if dcl.StringCanonicalize(des.Sha256Checksum, initial.Sha256Checksum) || dcl.IsZeroValue(des.Sha256Checksum) {
- cDes.Sha256Checksum = initial.Sha256Checksum
- } else {
- cDes.Sha256Checksum = des.Sha256Checksum
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemoteSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Uri, nw.Uri) {
- nw.Uri = des.Uri
- }
- if dcl.StringCanonicalize(des.Sha256Checksum, nw.Sha256Checksum) {
- nw.Sha256Checksum = des.Sha256Checksum
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemoteSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemoteNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemoteSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs{}
-
- if dcl.StringCanonicalize(des.Bucket, initial.Bucket) || dcl.IsZeroValue(des.Bucket) {
- cDes.Bucket = initial.Bucket
- } else {
- cDes.Bucket = des.Bucket
- }
- if dcl.StringCanonicalize(des.Object, initial.Object) || dcl.IsZeroValue(des.Object) {
- cDes.Object = initial.Object
- } else {
- cDes.Object = des.Object
- }
- if dcl.IsZeroValue(des.Generation) || (dcl.IsEmptyValueIndirect(des.Generation) && dcl.IsEmptyValueIndirect(initial.Generation)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Generation = initial.Generation
- } else {
- cDes.Generation = des.Generation
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcsSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Bucket, nw.Bucket) {
- nw.Bucket = des.Bucket
- }
- if dcl.StringCanonicalize(des.Object, nw.Object) {
- nw.Object = des.Object
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcsSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcsSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if des.Apt != nil || (initial != nil && initial.Apt != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Yum, des.Zypper, des.Goo) {
- des.Apt = nil
- if initial != nil {
- initial.Apt = nil
- }
- }
- }
-
- if des.Yum != nil || (initial != nil && initial.Yum != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Apt, des.Zypper, des.Goo) {
- des.Yum = nil
- if initial != nil {
- initial.Yum = nil
- }
- }
- }
-
- if des.Zypper != nil || (initial != nil && initial.Zypper != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Apt, des.Yum, des.Goo) {
- des.Zypper = nil
- if initial != nil {
- initial.Zypper = nil
- }
- }
- }
-
- if des.Goo != nil || (initial != nil && initial.Goo != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Apt, des.Yum, des.Zypper) {
- des.Goo = nil
- if initial != nil {
- initial.Goo = nil
- }
- }
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository{}
-
- cDes.Apt = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt(des.Apt, initial.Apt, opts...)
- cDes.Yum = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum(des.Yum, initial.Yum, opts...)
- cDes.Zypper = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper(des.Zypper, initial.Zypper, opts...)
- cDes.Goo = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo(des.Goo, initial.Goo, opts...)
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositorySlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.Apt = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt(c, des.Apt, nw.Apt)
- nw.Yum = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum(c, des.Yum, nw.Yum)
- nw.Zypper = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper(c, des.Zypper, nw.Zypper)
- nw.Goo = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo(c, des.Goo, nw.Goo)
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositorySet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositorySlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt{}
-
- if dcl.IsZeroValue(des.ArchiveType) || (dcl.IsEmptyValueIndirect(des.ArchiveType) && dcl.IsEmptyValueIndirect(initial.ArchiveType)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.ArchiveType = initial.ArchiveType
- } else {
- cDes.ArchiveType = des.ArchiveType
- }
- if dcl.StringCanonicalize(des.Uri, initial.Uri) || dcl.IsZeroValue(des.Uri) {
- cDes.Uri = initial.Uri
- } else {
- cDes.Uri = des.Uri
- }
- if dcl.StringCanonicalize(des.Distribution, initial.Distribution) || dcl.IsZeroValue(des.Distribution) {
- cDes.Distribution = initial.Distribution
- } else {
- cDes.Distribution = des.Distribution
- }
- if dcl.StringArrayCanonicalize(des.Components, initial.Components) {
- cDes.Components = initial.Components
- } else {
- cDes.Components = des.Components
- }
- if dcl.StringCanonicalize(des.GpgKey, initial.GpgKey) || dcl.IsZeroValue(des.GpgKey) {
- cDes.GpgKey = initial.GpgKey
- } else {
- cDes.GpgKey = des.GpgKey
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Uri, nw.Uri) {
- nw.Uri = des.Uri
- }
- if dcl.StringCanonicalize(des.Distribution, nw.Distribution) {
- nw.Distribution = des.Distribution
- }
- if dcl.StringArrayCanonicalize(des.Components, nw.Components) {
- nw.Components = des.Components
- }
- if dcl.StringCanonicalize(des.GpgKey, nw.GpgKey) {
- nw.GpgKey = des.GpgKey
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum{}
-
- if dcl.StringCanonicalize(des.Id, initial.Id) || dcl.IsZeroValue(des.Id) {
- cDes.Id = initial.Id
- } else {
- cDes.Id = des.Id
- }
- if dcl.StringCanonicalize(des.DisplayName, initial.DisplayName) || dcl.IsZeroValue(des.DisplayName) {
- cDes.DisplayName = initial.DisplayName
- } else {
- cDes.DisplayName = des.DisplayName
- }
- if dcl.StringCanonicalize(des.BaseUrl, initial.BaseUrl) || dcl.IsZeroValue(des.BaseUrl) {
- cDes.BaseUrl = initial.BaseUrl
- } else {
- cDes.BaseUrl = des.BaseUrl
- }
- if dcl.StringArrayCanonicalize(des.GpgKeys, initial.GpgKeys) {
- cDes.GpgKeys = initial.GpgKeys
- } else {
- cDes.GpgKeys = des.GpgKeys
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYumSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Id, nw.Id) {
- nw.Id = des.Id
- }
- if dcl.StringCanonicalize(des.DisplayName, nw.DisplayName) {
- nw.DisplayName = des.DisplayName
- }
- if dcl.StringCanonicalize(des.BaseUrl, nw.BaseUrl) {
- nw.BaseUrl = des.BaseUrl
- }
- if dcl.StringArrayCanonicalize(des.GpgKeys, nw.GpgKeys) {
- nw.GpgKeys = des.GpgKeys
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYumSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYumNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYumSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper{}
-
- if dcl.StringCanonicalize(des.Id, initial.Id) || dcl.IsZeroValue(des.Id) {
- cDes.Id = initial.Id
- } else {
- cDes.Id = des.Id
- }
- if dcl.StringCanonicalize(des.DisplayName, initial.DisplayName) || dcl.IsZeroValue(des.DisplayName) {
- cDes.DisplayName = initial.DisplayName
- } else {
- cDes.DisplayName = des.DisplayName
- }
- if dcl.StringCanonicalize(des.BaseUrl, initial.BaseUrl) || dcl.IsZeroValue(des.BaseUrl) {
- cDes.BaseUrl = initial.BaseUrl
- } else {
- cDes.BaseUrl = des.BaseUrl
- }
- if dcl.StringArrayCanonicalize(des.GpgKeys, initial.GpgKeys) {
- cDes.GpgKeys = initial.GpgKeys
- } else {
- cDes.GpgKeys = des.GpgKeys
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypperSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Id, nw.Id) {
- nw.Id = des.Id
- }
- if dcl.StringCanonicalize(des.DisplayName, nw.DisplayName) {
- nw.DisplayName = des.DisplayName
- }
- if dcl.StringCanonicalize(des.BaseUrl, nw.BaseUrl) {
- nw.BaseUrl = des.BaseUrl
- }
- if dcl.StringArrayCanonicalize(des.GpgKeys, nw.GpgKeys) {
- nw.GpgKeys = des.GpgKeys
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypperSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypperNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypperSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo{}
-
- if dcl.StringCanonicalize(des.Name, initial.Name) || dcl.IsZeroValue(des.Name) {
- cDes.Name = initial.Name
- } else {
- cDes.Name = des.Name
- }
- if dcl.StringCanonicalize(des.Url, initial.Url) || dcl.IsZeroValue(des.Url) {
- cDes.Url = initial.Url
- } else {
- cDes.Url = des.Url
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGooSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Name, nw.Name) {
- nw.Name = des.Name
- }
- if dcl.StringCanonicalize(des.Url, nw.Url) {
- nw.Url = des.Url
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGooSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGooNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGooSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec{}
-
- cDes.Validate = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate(des.Validate, initial.Validate, opts...)
- cDes.Enforce = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce(des.Enforce, initial.Enforce, opts...)
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.Validate = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate(c, des.Validate, nw.Validate)
- nw.Enforce = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce(c, des.Enforce, nw.Enforce)
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if des.File != nil || (initial != nil && initial.File != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Script) {
- des.File = nil
- if initial != nil {
- initial.File = nil
- }
- }
- }
-
- if des.Script != nil || (initial != nil && initial.Script != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.File) {
- des.Script = nil
- if initial != nil {
- initial.Script = nil
- }
- }
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate{}
-
- cDes.File = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile(des.File, initial.File, opts...)
- if dcl.StringCanonicalize(des.Script, initial.Script) || dcl.IsZeroValue(des.Script) {
- cDes.Script = initial.Script
- } else {
- cDes.Script = des.Script
- }
- if dcl.StringArrayCanonicalize(des.Args, initial.Args) {
- cDes.Args = initial.Args
- } else {
- cDes.Args = des.Args
- }
- if dcl.IsZeroValue(des.Interpreter) || (dcl.IsEmptyValueIndirect(des.Interpreter) && dcl.IsEmptyValueIndirect(initial.Interpreter)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Interpreter = initial.Interpreter
- } else {
- cDes.Interpreter = des.Interpreter
- }
- if dcl.StringCanonicalize(des.OutputFilePath, initial.OutputFilePath) || dcl.IsZeroValue(des.OutputFilePath) {
- cDes.OutputFilePath = initial.OutputFilePath
- } else {
- cDes.OutputFilePath = des.OutputFilePath
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.File = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile(c, des.File, nw.File)
- if dcl.StringCanonicalize(des.Script, nw.Script) {
- nw.Script = des.Script
- }
- if dcl.StringArrayCanonicalize(des.Args, nw.Args) {
- nw.Args = des.Args
- }
- if dcl.StringCanonicalize(des.OutputFilePath, nw.OutputFilePath) {
- nw.OutputFilePath = des.OutputFilePath
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if des.Remote != nil || (initial != nil && initial.Remote != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Gcs, des.LocalPath) {
- des.Remote = nil
- if initial != nil {
- initial.Remote = nil
- }
- }
- }
-
- if des.Gcs != nil || (initial != nil && initial.Gcs != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Remote, des.LocalPath) {
- des.Gcs = nil
- if initial != nil {
- initial.Gcs = nil
- }
- }
- }
-
- if des.LocalPath != nil || (initial != nil && initial.LocalPath != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Remote, des.Gcs) {
- des.LocalPath = nil
- if initial != nil {
- initial.LocalPath = nil
- }
- }
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile{}
-
- cDes.Remote = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote(des.Remote, initial.Remote, opts...)
- cDes.Gcs = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs(des.Gcs, initial.Gcs, opts...)
- if dcl.StringCanonicalize(des.LocalPath, initial.LocalPath) || dcl.IsZeroValue(des.LocalPath) {
- cDes.LocalPath = initial.LocalPath
- } else {
- cDes.LocalPath = des.LocalPath
- }
- if dcl.BoolCanonicalize(des.AllowInsecure, initial.AllowInsecure) || dcl.IsZeroValue(des.AllowInsecure) {
- cDes.AllowInsecure = initial.AllowInsecure
- } else {
- cDes.AllowInsecure = des.AllowInsecure
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.Remote = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote(c, des.Remote, nw.Remote)
- nw.Gcs = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs(c, des.Gcs, nw.Gcs)
- if dcl.StringCanonicalize(des.LocalPath, nw.LocalPath) {
- nw.LocalPath = des.LocalPath
- }
- if dcl.BoolCanonicalize(des.AllowInsecure, nw.AllowInsecure) {
- nw.AllowInsecure = des.AllowInsecure
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote{}
-
- if dcl.StringCanonicalize(des.Uri, initial.Uri) || dcl.IsZeroValue(des.Uri) {
- cDes.Uri = initial.Uri
- } else {
- cDes.Uri = des.Uri
- }
- if dcl.StringCanonicalize(des.Sha256Checksum, initial.Sha256Checksum) || dcl.IsZeroValue(des.Sha256Checksum) {
- cDes.Sha256Checksum = initial.Sha256Checksum
- } else {
- cDes.Sha256Checksum = des.Sha256Checksum
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemoteSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Uri, nw.Uri) {
- nw.Uri = des.Uri
- }
- if dcl.StringCanonicalize(des.Sha256Checksum, nw.Sha256Checksum) {
- nw.Sha256Checksum = des.Sha256Checksum
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemoteSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemoteNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemoteSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs{}
-
- if dcl.StringCanonicalize(des.Bucket, initial.Bucket) || dcl.IsZeroValue(des.Bucket) {
- cDes.Bucket = initial.Bucket
- } else {
- cDes.Bucket = des.Bucket
- }
- if dcl.StringCanonicalize(des.Object, initial.Object) || dcl.IsZeroValue(des.Object) {
- cDes.Object = initial.Object
- } else {
- cDes.Object = des.Object
- }
- if dcl.IsZeroValue(des.Generation) || (dcl.IsEmptyValueIndirect(des.Generation) && dcl.IsEmptyValueIndirect(initial.Generation)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Generation = initial.Generation
- } else {
- cDes.Generation = des.Generation
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcsSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Bucket, nw.Bucket) {
- nw.Bucket = des.Bucket
- }
- if dcl.StringCanonicalize(des.Object, nw.Object) {
- nw.Object = des.Object
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcsSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcsSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if des.File != nil || (initial != nil && initial.File != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Script) {
- des.File = nil
- if initial != nil {
- initial.File = nil
- }
- }
- }
-
- if des.Script != nil || (initial != nil && initial.Script != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.File) {
- des.Script = nil
- if initial != nil {
- initial.Script = nil
- }
- }
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce{}
-
- cDes.File = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile(des.File, initial.File, opts...)
- if dcl.StringCanonicalize(des.Script, initial.Script) || dcl.IsZeroValue(des.Script) {
- cDes.Script = initial.Script
- } else {
- cDes.Script = des.Script
- }
- if dcl.StringArrayCanonicalize(des.Args, initial.Args) {
- cDes.Args = initial.Args
- } else {
- cDes.Args = des.Args
- }
- if dcl.IsZeroValue(des.Interpreter) || (dcl.IsEmptyValueIndirect(des.Interpreter) && dcl.IsEmptyValueIndirect(initial.Interpreter)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Interpreter = initial.Interpreter
- } else {
- cDes.Interpreter = des.Interpreter
- }
- if dcl.StringCanonicalize(des.OutputFilePath, initial.OutputFilePath) || dcl.IsZeroValue(des.OutputFilePath) {
- cDes.OutputFilePath = initial.OutputFilePath
- } else {
- cDes.OutputFilePath = des.OutputFilePath
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.File = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile(c, des.File, nw.File)
- if dcl.StringCanonicalize(des.Script, nw.Script) {
- nw.Script = des.Script
- }
- if dcl.StringArrayCanonicalize(des.Args, nw.Args) {
- nw.Args = des.Args
- }
- if dcl.StringCanonicalize(des.OutputFilePath, nw.OutputFilePath) {
- nw.OutputFilePath = des.OutputFilePath
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if des.Remote != nil || (initial != nil && initial.Remote != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Gcs, des.LocalPath) {
- des.Remote = nil
- if initial != nil {
- initial.Remote = nil
- }
- }
- }
-
- if des.Gcs != nil || (initial != nil && initial.Gcs != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Remote, des.LocalPath) {
- des.Gcs = nil
- if initial != nil {
- initial.Gcs = nil
- }
- }
- }
-
- if des.LocalPath != nil || (initial != nil && initial.LocalPath != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Remote, des.Gcs) {
- des.LocalPath = nil
- if initial != nil {
- initial.LocalPath = nil
- }
- }
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile{}
-
- cDes.Remote = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote(des.Remote, initial.Remote, opts...)
- cDes.Gcs = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs(des.Gcs, initial.Gcs, opts...)
- if dcl.StringCanonicalize(des.LocalPath, initial.LocalPath) || dcl.IsZeroValue(des.LocalPath) {
- cDes.LocalPath = initial.LocalPath
- } else {
- cDes.LocalPath = des.LocalPath
- }
- if dcl.BoolCanonicalize(des.AllowInsecure, initial.AllowInsecure) || dcl.IsZeroValue(des.AllowInsecure) {
- cDes.AllowInsecure = initial.AllowInsecure
- } else {
- cDes.AllowInsecure = des.AllowInsecure
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.Remote = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote(c, des.Remote, nw.Remote)
- nw.Gcs = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs(c, des.Gcs, nw.Gcs)
- if dcl.StringCanonicalize(des.LocalPath, nw.LocalPath) {
- nw.LocalPath = des.LocalPath
- }
- if dcl.BoolCanonicalize(des.AllowInsecure, nw.AllowInsecure) {
- nw.AllowInsecure = des.AllowInsecure
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote{}
-
- if dcl.StringCanonicalize(des.Uri, initial.Uri) || dcl.IsZeroValue(des.Uri) {
- cDes.Uri = initial.Uri
- } else {
- cDes.Uri = des.Uri
- }
- if dcl.StringCanonicalize(des.Sha256Checksum, initial.Sha256Checksum) || dcl.IsZeroValue(des.Sha256Checksum) {
- cDes.Sha256Checksum = initial.Sha256Checksum
- } else {
- cDes.Sha256Checksum = des.Sha256Checksum
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemoteSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Uri, nw.Uri) {
- nw.Uri = des.Uri
- }
- if dcl.StringCanonicalize(des.Sha256Checksum, nw.Sha256Checksum) {
- nw.Sha256Checksum = des.Sha256Checksum
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemoteSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemoteNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemoteSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs{}
-
- if dcl.StringCanonicalize(des.Bucket, initial.Bucket) || dcl.IsZeroValue(des.Bucket) {
- cDes.Bucket = initial.Bucket
- } else {
- cDes.Bucket = des.Bucket
- }
- if dcl.StringCanonicalize(des.Object, initial.Object) || dcl.IsZeroValue(des.Object) {
- cDes.Object = initial.Object
- } else {
- cDes.Object = des.Object
- }
- if dcl.IsZeroValue(des.Generation) || (dcl.IsEmptyValueIndirect(des.Generation) && dcl.IsEmptyValueIndirect(initial.Generation)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Generation = initial.Generation
- } else {
- cDes.Generation = des.Generation
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcsSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Bucket, nw.Bucket) {
- nw.Bucket = des.Bucket
- }
- if dcl.StringCanonicalize(des.Object, nw.Object) {
- nw.Object = des.Object
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcsSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcsSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if des.File != nil || (initial != nil && initial.File != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Content) {
- des.File = nil
- if initial != nil {
- initial.File = nil
- }
- }
- }
-
- if des.Content != nil || (initial != nil && initial.Content != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.File) {
- des.Content = nil
- if initial != nil {
- initial.Content = nil
- }
- }
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile{}
-
- cDes.File = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile(des.File, initial.File, opts...)
- if dcl.StringCanonicalize(des.Content, initial.Content) || dcl.IsZeroValue(des.Content) {
- cDes.Content = initial.Content
- } else {
- cDes.Content = des.Content
- }
- if dcl.StringCanonicalize(des.Path, initial.Path) || dcl.IsZeroValue(des.Path) {
- cDes.Path = initial.Path
- } else {
- cDes.Path = des.Path
- }
- if dcl.IsZeroValue(des.State) || (dcl.IsEmptyValueIndirect(des.State) && dcl.IsEmptyValueIndirect(initial.State)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.State = initial.State
- } else {
- cDes.State = des.State
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.File = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile(c, des.File, nw.File)
- if dcl.StringCanonicalize(des.Content, nw.Content) {
- nw.Content = des.Content
- }
- if dcl.StringCanonicalize(des.Path, nw.Path) {
- nw.Path = des.Path
- }
- if dcl.StringCanonicalize(des.Permissions, nw.Permissions) {
- nw.Permissions = des.Permissions
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if des.Remote != nil || (initial != nil && initial.Remote != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Gcs, des.LocalPath) {
- des.Remote = nil
- if initial != nil {
- initial.Remote = nil
- }
- }
- }
-
- if des.Gcs != nil || (initial != nil && initial.Gcs != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Remote, des.LocalPath) {
- des.Gcs = nil
- if initial != nil {
- initial.Gcs = nil
- }
- }
- }
-
- if des.LocalPath != nil || (initial != nil && initial.LocalPath != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Remote, des.Gcs) {
- des.LocalPath = nil
- if initial != nil {
- initial.LocalPath = nil
- }
- }
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile{}
-
- cDes.Remote = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote(des.Remote, initial.Remote, opts...)
- cDes.Gcs = canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs(des.Gcs, initial.Gcs, opts...)
- if dcl.StringCanonicalize(des.LocalPath, initial.LocalPath) || dcl.IsZeroValue(des.LocalPath) {
- cDes.LocalPath = initial.LocalPath
- } else {
- cDes.LocalPath = des.LocalPath
- }
- if dcl.BoolCanonicalize(des.AllowInsecure, initial.AllowInsecure) || dcl.IsZeroValue(des.AllowInsecure) {
- cDes.AllowInsecure = initial.AllowInsecure
- } else {
- cDes.AllowInsecure = des.AllowInsecure
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.Remote = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote(c, des.Remote, nw.Remote)
- nw.Gcs = canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs(c, des.Gcs, nw.Gcs)
- if dcl.StringCanonicalize(des.LocalPath, nw.LocalPath) {
- nw.LocalPath = des.LocalPath
- }
- if dcl.BoolCanonicalize(des.AllowInsecure, nw.AllowInsecure) {
- nw.AllowInsecure = des.AllowInsecure
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote{}
-
- if dcl.StringCanonicalize(des.Uri, initial.Uri) || dcl.IsZeroValue(des.Uri) {
- cDes.Uri = initial.Uri
- } else {
- cDes.Uri = des.Uri
- }
- if dcl.StringCanonicalize(des.Sha256Checksum, initial.Sha256Checksum) || dcl.IsZeroValue(des.Sha256Checksum) {
- cDes.Sha256Checksum = initial.Sha256Checksum
- } else {
- cDes.Sha256Checksum = des.Sha256Checksum
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemoteSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Uri, nw.Uri) {
- nw.Uri = des.Uri
- }
- if dcl.StringCanonicalize(des.Sha256Checksum, nw.Sha256Checksum) {
- nw.Sha256Checksum = des.Sha256Checksum
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemoteSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemoteNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemoteSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs(des, initial *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs, opts ...dcl.ApplyOption) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs{}
-
- if dcl.StringCanonicalize(des.Bucket, initial.Bucket) || dcl.IsZeroValue(des.Bucket) {
- cDes.Bucket = initial.Bucket
- } else {
- cDes.Bucket = des.Bucket
- }
- if dcl.StringCanonicalize(des.Object, initial.Object) || dcl.IsZeroValue(des.Object) {
- cDes.Object = initial.Object
- } else {
- cDes.Object = des.Object
- }
- if dcl.IsZeroValue(des.Generation) || (dcl.IsEmptyValueIndirect(des.Generation) && dcl.IsEmptyValueIndirect(initial.Generation)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Generation = initial.Generation
- } else {
- cDes.Generation = des.Generation
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcsSlice(des, initial []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs, opts ...dcl.ApplyOption) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs(c *Client, des, nw *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.Bucket, nw.Bucket) {
- nw.Bucket = des.Bucket
- }
- if dcl.StringCanonicalize(des.Object, nw.Object) {
- nw.Object = des.Object
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcsSet(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcsSlice(c *Client, des, nw []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentInstanceFilter(des, initial *OSPolicyAssignmentInstanceFilter, opts ...dcl.ApplyOption) *OSPolicyAssignmentInstanceFilter {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentInstanceFilter{}
-
- if dcl.BoolCanonicalize(des.All, initial.All) || dcl.IsZeroValue(des.All) {
- cDes.All = initial.All
- } else {
- cDes.All = des.All
- }
- cDes.InclusionLabels = canonicalizeOSPolicyAssignmentInstanceFilterInclusionLabelsSlice(des.InclusionLabels, initial.InclusionLabels, opts...)
- cDes.ExclusionLabels = canonicalizeOSPolicyAssignmentInstanceFilterExclusionLabelsSlice(des.ExclusionLabels, initial.ExclusionLabels, opts...)
- cDes.Inventories = canonicalizeOSPolicyAssignmentInstanceFilterInventoriesSlice(des.Inventories, initial.Inventories, opts...)
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentInstanceFilterSlice(des, initial []OSPolicyAssignmentInstanceFilter, opts ...dcl.ApplyOption) []OSPolicyAssignmentInstanceFilter {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentInstanceFilter, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentInstanceFilter(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentInstanceFilter, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentInstanceFilter(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentInstanceFilter(c *Client, des, nw *OSPolicyAssignmentInstanceFilter) *OSPolicyAssignmentInstanceFilter {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentInstanceFilter while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.BoolCanonicalize(des.All, nw.All) {
- nw.All = des.All
- }
- nw.InclusionLabels = canonicalizeNewOSPolicyAssignmentInstanceFilterInclusionLabelsSlice(c, des.InclusionLabels, nw.InclusionLabels)
- nw.ExclusionLabels = canonicalizeNewOSPolicyAssignmentInstanceFilterExclusionLabelsSlice(c, des.ExclusionLabels, nw.ExclusionLabels)
- nw.Inventories = canonicalizeNewOSPolicyAssignmentInstanceFilterInventoriesSlice(c, des.Inventories, nw.Inventories)
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentInstanceFilterSet(c *Client, des, nw []OSPolicyAssignmentInstanceFilter) []OSPolicyAssignmentInstanceFilter {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentInstanceFilter
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentInstanceFilterNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentInstanceFilter(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentInstanceFilterSlice(c *Client, des, nw []OSPolicyAssignmentInstanceFilter) []OSPolicyAssignmentInstanceFilter {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentInstanceFilter
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentInstanceFilter(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentInstanceFilterInclusionLabels(des, initial *OSPolicyAssignmentInstanceFilterInclusionLabels, opts ...dcl.ApplyOption) *OSPolicyAssignmentInstanceFilterInclusionLabels {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentInstanceFilterInclusionLabels{}
-
- if dcl.IsZeroValue(des.Labels) || (dcl.IsEmptyValueIndirect(des.Labels) && dcl.IsEmptyValueIndirect(initial.Labels)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Labels = initial.Labels
- } else {
- cDes.Labels = des.Labels
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentInstanceFilterInclusionLabelsSlice(des, initial []OSPolicyAssignmentInstanceFilterInclusionLabels, opts ...dcl.ApplyOption) []OSPolicyAssignmentInstanceFilterInclusionLabels {
- if des == nil {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentInstanceFilterInclusionLabels, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentInstanceFilterInclusionLabels(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentInstanceFilterInclusionLabels, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentInstanceFilterInclusionLabels(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentInstanceFilterInclusionLabels(c *Client, des, nw *OSPolicyAssignmentInstanceFilterInclusionLabels) *OSPolicyAssignmentInstanceFilterInclusionLabels {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentInstanceFilterInclusionLabels while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentInstanceFilterInclusionLabelsSet(c *Client, des, nw []OSPolicyAssignmentInstanceFilterInclusionLabels) []OSPolicyAssignmentInstanceFilterInclusionLabels {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentInstanceFilterInclusionLabels
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentInstanceFilterInclusionLabelsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentInstanceFilterInclusionLabels(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentInstanceFilterInclusionLabelsSlice(c *Client, des, nw []OSPolicyAssignmentInstanceFilterInclusionLabels) []OSPolicyAssignmentInstanceFilterInclusionLabels {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentInstanceFilterInclusionLabels
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentInstanceFilterInclusionLabels(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentInstanceFilterExclusionLabels(des, initial *OSPolicyAssignmentInstanceFilterExclusionLabels, opts ...dcl.ApplyOption) *OSPolicyAssignmentInstanceFilterExclusionLabels {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentInstanceFilterExclusionLabels{}
-
- if dcl.IsZeroValue(des.Labels) || (dcl.IsEmptyValueIndirect(des.Labels) && dcl.IsEmptyValueIndirect(initial.Labels)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Labels = initial.Labels
- } else {
- cDes.Labels = des.Labels
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentInstanceFilterExclusionLabelsSlice(des, initial []OSPolicyAssignmentInstanceFilterExclusionLabels, opts ...dcl.ApplyOption) []OSPolicyAssignmentInstanceFilterExclusionLabels {
- if des == nil {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentInstanceFilterExclusionLabels, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentInstanceFilterExclusionLabels(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentInstanceFilterExclusionLabels, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentInstanceFilterExclusionLabels(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentInstanceFilterExclusionLabels(c *Client, des, nw *OSPolicyAssignmentInstanceFilterExclusionLabels) *OSPolicyAssignmentInstanceFilterExclusionLabels {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentInstanceFilterExclusionLabels while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentInstanceFilterExclusionLabelsSet(c *Client, des, nw []OSPolicyAssignmentInstanceFilterExclusionLabels) []OSPolicyAssignmentInstanceFilterExclusionLabels {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentInstanceFilterExclusionLabels
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentInstanceFilterExclusionLabelsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentInstanceFilterExclusionLabels(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentInstanceFilterExclusionLabelsSlice(c *Client, des, nw []OSPolicyAssignmentInstanceFilterExclusionLabels) []OSPolicyAssignmentInstanceFilterExclusionLabels {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentInstanceFilterExclusionLabels
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentInstanceFilterExclusionLabels(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentInstanceFilterInventories(des, initial *OSPolicyAssignmentInstanceFilterInventories, opts ...dcl.ApplyOption) *OSPolicyAssignmentInstanceFilterInventories {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentInstanceFilterInventories{}
-
- if dcl.StringCanonicalize(des.OSShortName, initial.OSShortName) || dcl.IsZeroValue(des.OSShortName) {
- cDes.OSShortName = initial.OSShortName
- } else {
- cDes.OSShortName = des.OSShortName
- }
- if dcl.StringCanonicalize(des.OSVersion, initial.OSVersion) || dcl.IsZeroValue(des.OSVersion) {
- cDes.OSVersion = initial.OSVersion
- } else {
- cDes.OSVersion = des.OSVersion
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentInstanceFilterInventoriesSlice(des, initial []OSPolicyAssignmentInstanceFilterInventories, opts ...dcl.ApplyOption) []OSPolicyAssignmentInstanceFilterInventories {
- if des == nil {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentInstanceFilterInventories, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentInstanceFilterInventories(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentInstanceFilterInventories, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentInstanceFilterInventories(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentInstanceFilterInventories(c *Client, des, nw *OSPolicyAssignmentInstanceFilterInventories) *OSPolicyAssignmentInstanceFilterInventories {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentInstanceFilterInventories while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- if dcl.StringCanonicalize(des.OSShortName, nw.OSShortName) {
- nw.OSShortName = des.OSShortName
- }
- if dcl.StringCanonicalize(des.OSVersion, nw.OSVersion) {
- nw.OSVersion = des.OSVersion
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentInstanceFilterInventoriesSet(c *Client, des, nw []OSPolicyAssignmentInstanceFilterInventories) []OSPolicyAssignmentInstanceFilterInventories {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentInstanceFilterInventories
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentInstanceFilterInventoriesNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentInstanceFilterInventories(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentInstanceFilterInventoriesSlice(c *Client, des, nw []OSPolicyAssignmentInstanceFilterInventories) []OSPolicyAssignmentInstanceFilterInventories {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentInstanceFilterInventories
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentInstanceFilterInventories(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentRollout(des, initial *OSPolicyAssignmentRollout, opts ...dcl.ApplyOption) *OSPolicyAssignmentRollout {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentRollout{}
-
- cDes.DisruptionBudget = canonicalizeOSPolicyAssignmentRolloutDisruptionBudget(des.DisruptionBudget, initial.DisruptionBudget, opts...)
- if canonicalizeOSPolicyAssignmentRolloutMinWaitDuration(des.MinWaitDuration, initial.MinWaitDuration) || dcl.IsZeroValue(des.MinWaitDuration) {
- cDes.MinWaitDuration = initial.MinWaitDuration
- } else {
- cDes.MinWaitDuration = des.MinWaitDuration
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentRolloutSlice(des, initial []OSPolicyAssignmentRollout, opts ...dcl.ApplyOption) []OSPolicyAssignmentRollout {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentRollout, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentRollout(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentRollout, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentRollout(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentRollout(c *Client, des, nw *OSPolicyAssignmentRollout) *OSPolicyAssignmentRollout {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentRollout while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- nw.DisruptionBudget = canonicalizeNewOSPolicyAssignmentRolloutDisruptionBudget(c, des.DisruptionBudget, nw.DisruptionBudget)
- if canonicalizeOSPolicyAssignmentRolloutMinWaitDuration(des.MinWaitDuration, nw.MinWaitDuration) {
- nw.MinWaitDuration = des.MinWaitDuration
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentRolloutSet(c *Client, des, nw []OSPolicyAssignmentRollout) []OSPolicyAssignmentRollout {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentRollout
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentRolloutNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentRollout(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentRolloutSlice(c *Client, des, nw []OSPolicyAssignmentRollout) []OSPolicyAssignmentRollout {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentRollout
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentRollout(c, &d, &n))
- }
-
- return items
-}
-
-func canonicalizeOSPolicyAssignmentRolloutDisruptionBudget(des, initial *OSPolicyAssignmentRolloutDisruptionBudget, opts ...dcl.ApplyOption) *OSPolicyAssignmentRolloutDisruptionBudget {
- if des == nil {
- return initial
- }
- if des.empty {
- return des
- }
-
- if des.Fixed != nil || (initial != nil && initial.Fixed != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Percent) {
- des.Fixed = nil
- if initial != nil {
- initial.Fixed = nil
- }
- }
- }
-
- if des.Percent != nil || (initial != nil && initial.Percent != nil) {
- // Check if anything else is set.
- if dcl.AnySet(des.Fixed) {
- des.Percent = nil
- if initial != nil {
- initial.Percent = nil
- }
- }
- }
-
- if initial == nil {
- return des
- }
-
- cDes := &OSPolicyAssignmentRolloutDisruptionBudget{}
-
- if dcl.IsZeroValue(des.Fixed) || (dcl.IsEmptyValueIndirect(des.Fixed) && dcl.IsEmptyValueIndirect(initial.Fixed)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Fixed = initial.Fixed
- } else {
- cDes.Fixed = des.Fixed
- }
- if dcl.IsZeroValue(des.Percent) || (dcl.IsEmptyValueIndirect(des.Percent) && dcl.IsEmptyValueIndirect(initial.Percent)) {
- // Desired and initial values are equivalent, so set canonical desired value to initial value.
- cDes.Percent = initial.Percent
- } else {
- cDes.Percent = des.Percent
- }
-
- return cDes
-}
-
-func canonicalizeOSPolicyAssignmentRolloutDisruptionBudgetSlice(des, initial []OSPolicyAssignmentRolloutDisruptionBudget, opts ...dcl.ApplyOption) []OSPolicyAssignmentRolloutDisruptionBudget {
- if dcl.IsEmptyValueIndirect(des) {
- return initial
- }
-
- if len(des) != len(initial) {
-
- items := make([]OSPolicyAssignmentRolloutDisruptionBudget, 0, len(des))
- for _, d := range des {
- cd := canonicalizeOSPolicyAssignmentRolloutDisruptionBudget(&d, nil, opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
- }
-
- items := make([]OSPolicyAssignmentRolloutDisruptionBudget, 0, len(des))
- for i, d := range des {
- cd := canonicalizeOSPolicyAssignmentRolloutDisruptionBudget(&d, &initial[i], opts...)
- if cd != nil {
- items = append(items, *cd)
- }
- }
- return items
-
-}
-
-func canonicalizeNewOSPolicyAssignmentRolloutDisruptionBudget(c *Client, des, nw *OSPolicyAssignmentRolloutDisruptionBudget) *OSPolicyAssignmentRolloutDisruptionBudget {
-
- if des == nil {
- return nw
- }
-
- if nw == nil {
- if dcl.IsEmptyValueIndirect(des) {
- c.Config.Logger.Info("Found explicitly empty value for OSPolicyAssignmentRolloutDisruptionBudget while comparing non-nil desired to nil actual. Returning desired object.")
- return des
- }
- return nil
- }
-
- return nw
-}
-
-func canonicalizeNewOSPolicyAssignmentRolloutDisruptionBudgetSet(c *Client, des, nw []OSPolicyAssignmentRolloutDisruptionBudget) []OSPolicyAssignmentRolloutDisruptionBudget {
- if des == nil {
- return nw
- }
-
- // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
- var items []OSPolicyAssignmentRolloutDisruptionBudget
- for _, d := range des {
- matchedIndex := -1
- for i, n := range nw {
- if diffs, _ := compareOSPolicyAssignmentRolloutDisruptionBudgetNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
- matchedIndex = i
- break
- }
- }
- if matchedIndex != -1 {
- items = append(items, *canonicalizeNewOSPolicyAssignmentRolloutDisruptionBudget(c, &d, &nw[matchedIndex]))
- nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
- }
- }
- // Also include elements in nw that are not matched in des.
- items = append(items, nw...)
-
- return items
-}
-
-func canonicalizeNewOSPolicyAssignmentRolloutDisruptionBudgetSlice(c *Client, des, nw []OSPolicyAssignmentRolloutDisruptionBudget) []OSPolicyAssignmentRolloutDisruptionBudget {
- if des == nil {
- return nw
- }
-
- // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
- // Return the original array.
- if len(des) != len(nw) {
- return nw
- }
-
- var items []OSPolicyAssignmentRolloutDisruptionBudget
- for i, d := range des {
- n := nw[i]
- items = append(items, *canonicalizeNewOSPolicyAssignmentRolloutDisruptionBudget(c, &d, &n))
- }
-
- return items
-}
-
-// The differ returns a list of diffs, along with a list of operations that should be taken
-// to remedy them. Right now, it does not attempt to consolidate operations - if several
-// fields can be fixed with a patch update, it will perform the patch several times.
-// Diffs on some fields will be ignored if the `desired` state has an empty (nil)
-// value. This empty value indicates that the user does not care about the state for
-// the field. Empty fields on the actual object will cause diffs.
-// TODO(magic-modules-eng): for efficiency in some resources, add batching.
-func diffOSPolicyAssignment(c *Client, desired, actual *OSPolicyAssignment, opts ...dcl.ApplyOption) ([]*dcl.FieldDiff, error) {
- if desired == nil || actual == nil {
- return nil, fmt.Errorf("nil resource passed to diff - always a programming error: %#v, %#v", desired, actual)
- }
-
- c.Config.Logger.Infof("Diff function called with desired state: %v", desired)
- c.Config.Logger.Infof("Diff function called with actual state: %v", actual)
-
- var fn dcl.FieldName
- var newDiffs []*dcl.FieldDiff
- // New style diffs.
- if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Name")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Description, actual.Description, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Description")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.OSPolicies, actual.OSPolicies, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPolicies, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("OsPolicies")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.InstanceFilter, actual.InstanceFilter, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentInstanceFilterNewStyle, EmptyObject: EmptyOSPolicyAssignmentInstanceFilter, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("InstanceFilter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Rollout, actual.Rollout, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentRolloutNewStyle, EmptyObject: EmptyOSPolicyAssignmentRollout, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Rollout")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.RevisionId, actual.RevisionId, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("RevisionId")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.RevisionCreateTime, actual.RevisionCreateTime, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("RevisionCreateTime")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Etag, actual.Etag, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Etag")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.RolloutState, actual.RolloutState, dcl.DiffInfo{OutputOnly: true, Type: "EnumType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("RolloutState")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Baseline, actual.Baseline, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Baseline")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Deleted, actual.Deleted, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Deleted")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Reconciling, actual.Reconciling, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Reconciling")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Uid, actual.Uid, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Uid")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Project, actual.Project, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Project")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Location, actual.Location, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Location")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.SkipAwaitRollout, actual.SkipAwaitRollout, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("SkipAwaitRollout")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- newDiffs = append(newDiffs, ds...)
- }
-
- if len(newDiffs) > 0 {
- c.Config.Logger.Infof("Diff function found diffs: %v", newDiffs)
- }
- return newDiffs, nil
-}
-func compareOSPolicyAssignmentOSPoliciesNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPolicies)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPolicies)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPolicies or *OSPolicyAssignmentOSPolicies", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPolicies)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPolicies)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPolicies", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Id, actual.Id, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Id")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Description, actual.Description, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Description")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Mode, actual.Mode, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Mode")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.ResourceGroups, actual.ResourceGroups, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroups, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("ResourceGroups")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.AllowNoResourceGroupMatch, actual.AllowNoResourceGroupMatch, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("AllowNoResourceGroupMatch")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroups)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroups)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroups or *OSPolicyAssignmentOSPoliciesResourceGroups", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroups)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroups)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroups", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.InventoryFilters, actual.InventoryFilters, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFiltersNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("InventoryFilters")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Resources, actual.Resources, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResources, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Resources")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFiltersNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters or *OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.OSShortName, actual.OSShortName, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("OsShortName")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.OSVersion, actual.OSVersion, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("OsVersion")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResources)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResources)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResources or *OSPolicyAssignmentOSPoliciesResourceGroupsResources", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResources)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResources)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResources", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Id, actual.Id, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Id")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Pkg, actual.Pkg, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Pkg")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Repository, actual.Repository, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Repository")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Exec, actual.Exec, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Exec")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.File, actual.File, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("File")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.DesiredState, actual.DesiredState, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("DesiredState")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Apt, actual.Apt, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgAptNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Apt")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Deb, actual.Deb, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Deb")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Yum, actual.Yum, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYumNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Yum")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Zypper, actual.Zypper, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypperNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Zypper")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Rpm, actual.Rpm, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Rpm")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Googet, actual.Googet, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGoogetNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Googet")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Msi, actual.Msi, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Msi")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgAptNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Name")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Source, actual.Source, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Source")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PullDeps, actual.PullDeps, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("PullDeps")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Remote, actual.Remote, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemoteNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Remote")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Gcs, actual.Gcs, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcsNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Gcs")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.LocalPath, actual.LocalPath, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("LocalPath")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.AllowInsecure, actual.AllowInsecure, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("AllowInsecure")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemoteNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Uri, actual.Uri, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Uri")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Sha256Checksum, actual.Sha256Checksum, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Sha256Checksum")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Bucket, actual.Bucket, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Bucket")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Object, actual.Object, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Object")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Generation, actual.Generation, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Generation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYumNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Name")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypperNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Name")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Source, actual.Source, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Source")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.PullDeps, actual.PullDeps, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("PullDeps")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Remote, actual.Remote, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemoteNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Remote")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Gcs, actual.Gcs, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcsNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Gcs")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.LocalPath, actual.LocalPath, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("LocalPath")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.AllowInsecure, actual.AllowInsecure, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("AllowInsecure")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemoteNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Uri, actual.Uri, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Uri")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Sha256Checksum, actual.Sha256Checksum, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Sha256Checksum")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Bucket, actual.Bucket, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Bucket")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Object, actual.Object, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Object")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Generation, actual.Generation, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Generation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGoogetNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Name")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Source, actual.Source, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Source")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Properties, actual.Properties, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Properties")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Remote, actual.Remote, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemoteNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Remote")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Gcs, actual.Gcs, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcsNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Gcs")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.LocalPath, actual.LocalPath, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("LocalPath")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.AllowInsecure, actual.AllowInsecure, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("AllowInsecure")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemoteNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Uri, actual.Uri, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Uri")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Sha256Checksum, actual.Sha256Checksum, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Sha256Checksum")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Bucket, actual.Bucket, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Bucket")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Object, actual.Object, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Object")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Generation, actual.Generation, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Generation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Apt, actual.Apt, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Apt")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Yum, actual.Yum, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYumNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Yum")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Zypper, actual.Zypper, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypperNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Zypper")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Goo, actual.Goo, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGooNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Goo")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.ArchiveType, actual.ArchiveType, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("ArchiveType")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Uri, actual.Uri, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Uri")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Distribution, actual.Distribution, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Distribution")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Components, actual.Components, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Components")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GpgKey, actual.GpgKey, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("GpgKey")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYumNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Id, actual.Id, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Id")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.DisplayName, actual.DisplayName, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("DisplayName")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.BaseUrl, actual.BaseUrl, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("BaseUrl")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GpgKeys, actual.GpgKeys, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("GpgKeys")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypperNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Id, actual.Id, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Id")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.DisplayName, actual.DisplayName, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("DisplayName")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.BaseUrl, actual.BaseUrl, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("BaseUrl")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.GpgKeys, actual.GpgKeys, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("GpgKeys")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGooNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Name")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Url, actual.Url, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Url")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Validate, actual.Validate, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Validate")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Enforce, actual.Enforce, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Enforce")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.File, actual.File, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("File")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Script, actual.Script, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Script")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Args, actual.Args, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Args")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Interpreter, actual.Interpreter, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Interpreter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.OutputFilePath, actual.OutputFilePath, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("OutputFilePath")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Remote, actual.Remote, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemoteNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Remote")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Gcs, actual.Gcs, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcsNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Gcs")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.LocalPath, actual.LocalPath, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("LocalPath")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.AllowInsecure, actual.AllowInsecure, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("AllowInsecure")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemoteNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Uri, actual.Uri, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Uri")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Sha256Checksum, actual.Sha256Checksum, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Sha256Checksum")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Bucket, actual.Bucket, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Bucket")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Object, actual.Object, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Object")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Generation, actual.Generation, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Generation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.File, actual.File, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("File")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Script, actual.Script, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Script")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Args, actual.Args, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Args")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Interpreter, actual.Interpreter, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Interpreter")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.OutputFilePath, actual.OutputFilePath, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("OutputFilePath")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Remote, actual.Remote, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemoteNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Remote")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Gcs, actual.Gcs, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcsNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Gcs")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.LocalPath, actual.LocalPath, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("LocalPath")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.AllowInsecure, actual.AllowInsecure, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("AllowInsecure")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemoteNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Uri, actual.Uri, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Uri")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Sha256Checksum, actual.Sha256Checksum, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Sha256Checksum")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Bucket, actual.Bucket, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Bucket")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Object, actual.Object, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Object")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Generation, actual.Generation, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Generation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.File, actual.File, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("File")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Content, actual.Content, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Content")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Path, actual.Path, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Path")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.State, actual.State, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("State")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Permissions, actual.Permissions, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Permissions")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Remote, actual.Remote, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemoteNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Remote")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Gcs, actual.Gcs, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcsNewStyle, EmptyObject: EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Gcs")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.LocalPath, actual.LocalPath, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("LocalPath")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.AllowInsecure, actual.AllowInsecure, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("AllowInsecure")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemoteNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Uri, actual.Uri, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Uri")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Sha256Checksum, actual.Sha256Checksum, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Sha256Checksum")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs or *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Bucket, actual.Bucket, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Bucket")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Object, actual.Object, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Object")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Generation, actual.Generation, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Generation")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentInstanceFilterNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentInstanceFilter)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentInstanceFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentInstanceFilter or *OSPolicyAssignmentInstanceFilter", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentInstanceFilter)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentInstanceFilter)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentInstanceFilter", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.All, actual.All, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("All")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.InclusionLabels, actual.InclusionLabels, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentInstanceFilterInclusionLabelsNewStyle, EmptyObject: EmptyOSPolicyAssignmentInstanceFilterInclusionLabels, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("InclusionLabels")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.ExclusionLabels, actual.ExclusionLabels, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentInstanceFilterExclusionLabelsNewStyle, EmptyObject: EmptyOSPolicyAssignmentInstanceFilterExclusionLabels, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("ExclusionLabels")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Inventories, actual.Inventories, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentInstanceFilterInventoriesNewStyle, EmptyObject: EmptyOSPolicyAssignmentInstanceFilterInventories, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Inventories")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentInstanceFilterInclusionLabelsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentInstanceFilterInclusionLabels)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentInstanceFilterInclusionLabels)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentInstanceFilterInclusionLabels or *OSPolicyAssignmentInstanceFilterInclusionLabels", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentInstanceFilterInclusionLabels)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentInstanceFilterInclusionLabels)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentInstanceFilterInclusionLabels", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Labels, actual.Labels, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Labels")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentInstanceFilterExclusionLabelsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentInstanceFilterExclusionLabels)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentInstanceFilterExclusionLabels)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentInstanceFilterExclusionLabels or *OSPolicyAssignmentInstanceFilterExclusionLabels", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentInstanceFilterExclusionLabels)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentInstanceFilterExclusionLabels)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentInstanceFilterExclusionLabels", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Labels, actual.Labels, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Labels")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentInstanceFilterInventoriesNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentInstanceFilterInventories)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentInstanceFilterInventories)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentInstanceFilterInventories or *OSPolicyAssignmentInstanceFilterInventories", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentInstanceFilterInventories)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentInstanceFilterInventories)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentInstanceFilterInventories", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.OSShortName, actual.OSShortName, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("OsShortName")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.OSVersion, actual.OSVersion, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("OsVersion")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentRolloutNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentRollout)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentRollout)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentRollout or *OSPolicyAssignmentRollout", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentRollout)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentRollout)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentRollout", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.DisruptionBudget, actual.DisruptionBudget, dcl.DiffInfo{ObjectFunction: compareOSPolicyAssignmentRolloutDisruptionBudgetNewStyle, EmptyObject: EmptyOSPolicyAssignmentRolloutDisruptionBudget, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("DisruptionBudget")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.MinWaitDuration, actual.MinWaitDuration, dcl.DiffInfo{CustomDiff: canonicalizeOSPolicyAssignmentRolloutMinWaitDuration, OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("MinWaitDuration")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-func compareOSPolicyAssignmentRolloutDisruptionBudgetNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
- var diffs []*dcl.FieldDiff
-
- desired, ok := d.(*OSPolicyAssignmentRolloutDisruptionBudget)
- if !ok {
- desiredNotPointer, ok := d.(OSPolicyAssignmentRolloutDisruptionBudget)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentRolloutDisruptionBudget or *OSPolicyAssignmentRolloutDisruptionBudget", d)
- }
- desired = &desiredNotPointer
- }
- actual, ok := a.(*OSPolicyAssignmentRolloutDisruptionBudget)
- if !ok {
- actualNotPointer, ok := a.(OSPolicyAssignmentRolloutDisruptionBudget)
- if !ok {
- return nil, fmt.Errorf("obj %v is not a OSPolicyAssignmentRolloutDisruptionBudget", a)
- }
- actual = &actualNotPointer
- }
-
- if ds, err := dcl.Diff(desired.Fixed, actual.Fixed, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Fixed")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
-
- if ds, err := dcl.Diff(desired.Percent, actual.Percent, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation")}, fn.AddNest("Percent")); len(ds) != 0 || err != nil {
- if err != nil {
- return nil, err
- }
- diffs = append(diffs, ds...)
- }
- return diffs, nil
-}
-
-// urlNormalized returns a copy of the resource struct with values normalized
-// for URL substitutions. For instance, it converts long-form self-links to
-// short-form so they can be substituted in.
-func (r *OSPolicyAssignment) urlNormalized() *OSPolicyAssignment {
- normalized := dcl.Copy(*r).(OSPolicyAssignment)
- normalized.Name = dcl.SelfLinkToName(r.Name)
- normalized.Description = dcl.SelfLinkToName(r.Description)
- normalized.RevisionId = dcl.SelfLinkToName(r.RevisionId)
- normalized.Etag = dcl.SelfLinkToName(r.Etag)
- normalized.Uid = dcl.SelfLinkToName(r.Uid)
- normalized.Project = dcl.SelfLinkToName(r.Project)
- normalized.Location = dcl.SelfLinkToName(r.Location)
- return &normalized
-}
-
-func (r *OSPolicyAssignment) updateURL(userBasePath, updateName string) (string, error) {
- nr := r.urlNormalized()
- if updateName == "UpdateOSPolicyAssignment" {
- fields := map[string]interface{}{
- "project": dcl.ValueOrEmptyString(nr.Project),
- "location": dcl.ValueOrEmptyString(nr.Location),
- "name": dcl.ValueOrEmptyString(nr.Name),
- }
- return dcl.URL("projects/{{project}}/locations/{{location}}/osPolicyAssignments/{{name}}", nr.basePath(), userBasePath, fields), nil
-
- }
-
- return "", fmt.Errorf("unknown update name: %s", updateName)
-}
-
-// marshal encodes the OSPolicyAssignment resource into JSON for a Create request, and
-// performs transformations from the resource schema to the API schema if
-// necessary.
-func (r *OSPolicyAssignment) marshal(c *Client) ([]byte, error) {
- m, err := expandOSPolicyAssignment(c, r)
- if err != nil {
- return nil, fmt.Errorf("error marshalling OSPolicyAssignment: %w", err)
- }
- dcl.MoveMapEntry(
- m,
- []string{"skipAwaitRollout"},
- []string{},
- )
-
- return json.Marshal(m)
-}
-
-// unmarshalOSPolicyAssignment decodes JSON responses into the OSPolicyAssignment resource schema.
-func unmarshalOSPolicyAssignment(b []byte, c *Client, res *OSPolicyAssignment) (*OSPolicyAssignment, error) {
- var m map[string]interface{}
- if err := json.Unmarshal(b, &m); err != nil {
- return nil, err
- }
- return unmarshalMapOSPolicyAssignment(m, c, res)
-}
-
-func unmarshalMapOSPolicyAssignment(m map[string]interface{}, c *Client, res *OSPolicyAssignment) (*OSPolicyAssignment, error) {
-
- flattened := flattenOSPolicyAssignment(c, m, res)
- if flattened == nil {
- return nil, fmt.Errorf("attempted to flatten empty json object")
- }
- return flattened, nil
-}
-
-// expandOSPolicyAssignment expands OSPolicyAssignment into a JSON request object.
-func expandOSPolicyAssignment(c *Client, f *OSPolicyAssignment) (map[string]interface{}, error) {
- m := make(map[string]interface{})
- res := f
- _ = res
- if v, err := dcl.DeriveField("projects/%s/locations/%s/osPolicyAssignments/%s", f.Name, dcl.SelfLinkToName(f.Project), dcl.SelfLinkToName(f.Location), dcl.SelfLinkToName(f.Name)); err != nil {
- return nil, fmt.Errorf("error expanding Name into name: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["name"] = v
- }
- if v := f.Description; dcl.ValueShouldBeSent(v) {
- m["description"] = v
- }
- if v, err := expandOSPolicyAssignmentOSPoliciesSlice(c, f.OSPolicies, res); err != nil {
- return nil, fmt.Errorf("error expanding OSPolicies into osPolicies: %w", err)
- } else if v != nil {
- m["osPolicies"] = v
- }
- if v, err := expandOSPolicyAssignmentInstanceFilter(c, f.InstanceFilter, res); err != nil {
- return nil, fmt.Errorf("error expanding InstanceFilter into instanceFilter: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["instanceFilter"] = v
- }
- if v, err := expandOSPolicyAssignmentRollout(c, f.Rollout, res); err != nil {
- return nil, fmt.Errorf("error expanding Rollout into rollout: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["rollout"] = v
- }
- if v, err := dcl.EmptyValue(); err != nil {
- return nil, fmt.Errorf("error expanding Project into project: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["project"] = v
- }
- if v, err := dcl.EmptyValue(); err != nil {
- return nil, fmt.Errorf("error expanding Location into location: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["location"] = v
- }
- if v := f.SkipAwaitRollout; dcl.ValueShouldBeSent(v) {
- m["skipAwaitRollout"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignment flattens OSPolicyAssignment from a JSON request object into the
-// OSPolicyAssignment type.
-func flattenOSPolicyAssignment(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignment {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
- if len(m) == 0 {
- return nil
- }
-
- resultRes := &OSPolicyAssignment{}
- resultRes.Name = dcl.FlattenString(m["name"])
- resultRes.Description = dcl.FlattenString(m["description"])
- resultRes.OSPolicies = flattenOSPolicyAssignmentOSPoliciesSlice(c, m["osPolicies"], res)
- resultRes.InstanceFilter = flattenOSPolicyAssignmentInstanceFilter(c, m["instanceFilter"], res)
- resultRes.Rollout = flattenOSPolicyAssignmentRollout(c, m["rollout"], res)
- resultRes.RevisionId = dcl.FlattenString(m["revisionId"])
- resultRes.RevisionCreateTime = dcl.FlattenString(m["revisionCreateTime"])
- resultRes.Etag = dcl.FlattenString(m["etag"])
- resultRes.RolloutState = flattenOSPolicyAssignmentRolloutStateEnum(m["rolloutState"])
- resultRes.Baseline = dcl.FlattenBool(m["baseline"])
- resultRes.Deleted = dcl.FlattenBool(m["deleted"])
- resultRes.Reconciling = dcl.FlattenBool(m["reconciling"])
- resultRes.Uid = dcl.FlattenString(m["uid"])
- resultRes.Project = dcl.FlattenString(m["project"])
- resultRes.Location = dcl.FlattenString(m["location"])
- resultRes.SkipAwaitRollout = dcl.FlattenBool(m["skipAwaitRollout"])
-
- return resultRes
-}
-
-// expandOSPolicyAssignmentOSPoliciesMap expands the contents of OSPolicyAssignmentOSPolicies into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesMap(c *Client, f map[string]OSPolicyAssignmentOSPolicies, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPolicies(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesSlice expands the contents of OSPolicyAssignmentOSPolicies into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesSlice(c *Client, f []OSPolicyAssignmentOSPolicies, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPolicies(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesMap flattens the contents of OSPolicyAssignmentOSPolicies from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPolicies {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPolicies{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPolicies{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPolicies)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPolicies(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesSlice flattens the contents of OSPolicyAssignmentOSPolicies from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPolicies {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPolicies{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPolicies{}
- }
-
- items := make([]OSPolicyAssignmentOSPolicies, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPolicies(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPolicies expands an instance of OSPolicyAssignmentOSPolicies into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPolicies(c *Client, f *OSPolicyAssignmentOSPolicies, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Id; !dcl.IsEmptyValueIndirect(v) {
- m["id"] = v
- }
- if v := f.Description; !dcl.IsEmptyValueIndirect(v) {
- m["description"] = v
- }
- if v := f.Mode; !dcl.IsEmptyValueIndirect(v) {
- m["mode"] = v
- }
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsSlice(c, f.ResourceGroups, res); err != nil {
- return nil, fmt.Errorf("error expanding ResourceGroups into resourceGroups: %w", err)
- } else if v != nil {
- m["resourceGroups"] = v
- }
- if v := f.AllowNoResourceGroupMatch; !dcl.IsEmptyValueIndirect(v) {
- m["allowNoResourceGroupMatch"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPolicies flattens an instance of OSPolicyAssignmentOSPolicies from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPolicies(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPolicies {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPolicies{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPolicies
- }
- r.Id = dcl.FlattenString(m["id"])
- r.Description = dcl.FlattenString(m["description"])
- r.Mode = flattenOSPolicyAssignmentOSPoliciesModeEnum(m["mode"])
- r.ResourceGroups = flattenOSPolicyAssignmentOSPoliciesResourceGroupsSlice(c, m["resourceGroups"], res)
- r.AllowNoResourceGroupMatch = dcl.FlattenBool(m["allowNoResourceGroupMatch"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroups into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroups, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroups(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroups into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroups, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroups(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroups from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroups {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroups{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroups{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroups)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroups(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroups from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroups {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroups{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroups{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroups, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroups(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroups expands an instance of OSPolicyAssignmentOSPoliciesResourceGroups into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroups(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroups, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFiltersSlice(c, f.InventoryFilters, res); err != nil {
- return nil, fmt.Errorf("error expanding InventoryFilters into inventoryFilters: %w", err)
- } else if v != nil {
- m["inventoryFilters"] = v
- }
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesSlice(c, f.Resources, res); err != nil {
- return nil, fmt.Errorf("error expanding Resources into resources: %w", err)
- } else if v != nil {
- m["resources"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroups flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroups from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroups(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroups {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroups{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroups
- }
- r.InventoryFilters = flattenOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFiltersSlice(c, m["inventoryFilters"], res)
- r.Resources = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesSlice(c, m["resources"], res)
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFiltersMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFiltersMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFiltersSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFiltersSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFiltersMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFiltersMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFiltersSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFiltersSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.OSShortName; !dcl.IsEmptyValueIndirect(v) {
- m["osShortName"] = v
- }
- if v := f.OSVersion; !dcl.IsEmptyValueIndirect(v) {
- m["osVersion"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters
- }
- r.OSShortName = dcl.FlattenString(m["osShortName"])
- r.OSVersion = dcl.FlattenString(m["osVersion"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResources into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResources, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResources(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResources into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResources, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResources(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResources from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResources {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResources{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResources{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResources)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResources(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResources from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResources {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResources{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResources{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResources, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResources(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResources expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResources into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResources(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResources, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Id; !dcl.IsEmptyValueIndirect(v) {
- m["id"] = v
- }
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg(c, f.Pkg, res); err != nil {
- return nil, fmt.Errorf("error expanding Pkg into pkg: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["pkg"] = v
- }
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository(c, f.Repository, res); err != nil {
- return nil, fmt.Errorf("error expanding Repository into repository: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["repository"] = v
- }
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec(c, f.Exec, res); err != nil {
- return nil, fmt.Errorf("error expanding Exec into exec: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["exec"] = v
- }
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile(c, f.File, res); err != nil {
- return nil, fmt.Errorf("error expanding File into file: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["file"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResources flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResources from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResources(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResources {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResources{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResources
- }
- r.Id = dcl.FlattenString(m["id"])
- r.Pkg = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg(c, m["pkg"], res)
- r.Repository = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository(c, m["repository"], res)
- r.Exec = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec(c, m["exec"], res)
- r.File = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile(c, m["file"], res)
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.DesiredState; !dcl.IsEmptyValueIndirect(v) {
- m["desiredState"] = v
- }
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt(c, f.Apt, res); err != nil {
- return nil, fmt.Errorf("error expanding Apt into apt: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["apt"] = v
- }
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb(c, f.Deb, res); err != nil {
- return nil, fmt.Errorf("error expanding Deb into deb: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["deb"] = v
- }
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum(c, f.Yum, res); err != nil {
- return nil, fmt.Errorf("error expanding Yum into yum: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["yum"] = v
- }
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper(c, f.Zypper, res); err != nil {
- return nil, fmt.Errorf("error expanding Zypper into zypper: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["zypper"] = v
- }
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm(c, f.Rpm, res); err != nil {
- return nil, fmt.Errorf("error expanding Rpm into rpm: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["rpm"] = v
- }
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget(c, f.Googet, res); err != nil {
- return nil, fmt.Errorf("error expanding Googet into googet: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["googet"] = v
- }
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi(c, f.Msi, res); err != nil {
- return nil, fmt.Errorf("error expanding Msi into msi: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["msi"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg
- }
- r.DesiredState = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnum(m["desiredState"])
- r.Apt = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt(c, m["apt"], res)
- r.Deb = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb(c, m["deb"], res)
- r.Yum = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum(c, m["yum"], res)
- r.Zypper = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper(c, m["zypper"], res)
- r.Rpm = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm(c, m["rpm"], res)
- r.Googet = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget(c, m["googet"], res)
- r.Msi = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi(c, m["msi"], res)
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgAptMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgAptMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgAptSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgAptSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgAptMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgAptMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgAptSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgAptSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Name; !dcl.IsEmptyValueIndirect(v) {
- m["name"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt
- }
- r.Name = dcl.FlattenString(m["name"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource(c, f.Source, res); err != nil {
- return nil, fmt.Errorf("error expanding Source into source: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["source"] = v
- }
- if v := f.PullDeps; !dcl.IsEmptyValueIndirect(v) {
- m["pullDeps"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb
- }
- r.Source = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource(c, m["source"], res)
- r.PullDeps = dcl.FlattenBool(m["pullDeps"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote(c, f.Remote, res); err != nil {
- return nil, fmt.Errorf("error expanding Remote into remote: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["remote"] = v
- }
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs(c, f.Gcs, res); err != nil {
- return nil, fmt.Errorf("error expanding Gcs into gcs: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["gcs"] = v
- }
- if v := f.LocalPath; !dcl.IsEmptyValueIndirect(v) {
- m["localPath"] = v
- }
- if v := f.AllowInsecure; !dcl.IsEmptyValueIndirect(v) {
- m["allowInsecure"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource
- }
- r.Remote = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote(c, m["remote"], res)
- r.Gcs = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs(c, m["gcs"], res)
- r.LocalPath = dcl.FlattenString(m["localPath"])
- r.AllowInsecure = dcl.FlattenBool(m["allowInsecure"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemoteMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemoteMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemoteSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemoteSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemoteMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemoteMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemoteSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemoteSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Uri; !dcl.IsEmptyValueIndirect(v) {
- m["uri"] = v
- }
- if v := f.Sha256Checksum; !dcl.IsEmptyValueIndirect(v) {
- m["sha256Checksum"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote
- }
- r.Uri = dcl.FlattenString(m["uri"])
- r.Sha256Checksum = dcl.FlattenString(m["sha256Checksum"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcsMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcsMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcsSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcsSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcsMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcsMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcsSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcsSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Bucket; !dcl.IsEmptyValueIndirect(v) {
- m["bucket"] = v
- }
- if v := f.Object; !dcl.IsEmptyValueIndirect(v) {
- m["object"] = v
- }
- if v := f.Generation; !dcl.IsEmptyValueIndirect(v) {
- m["generation"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs
- }
- r.Bucket = dcl.FlattenString(m["bucket"])
- r.Object = dcl.FlattenString(m["object"])
- r.Generation = dcl.FlattenInteger(m["generation"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYumMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYumMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYumSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYumSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYumMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYumMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYumSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYumSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Name; !dcl.IsEmptyValueIndirect(v) {
- m["name"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum
- }
- r.Name = dcl.FlattenString(m["name"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypperMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypperMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypperSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypperSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypperMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypperMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypperSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypperSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Name; !dcl.IsEmptyValueIndirect(v) {
- m["name"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper
- }
- r.Name = dcl.FlattenString(m["name"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource(c, f.Source, res); err != nil {
- return nil, fmt.Errorf("error expanding Source into source: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["source"] = v
- }
- if v := f.PullDeps; !dcl.IsEmptyValueIndirect(v) {
- m["pullDeps"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm
- }
- r.Source = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource(c, m["source"], res)
- r.PullDeps = dcl.FlattenBool(m["pullDeps"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote(c, f.Remote, res); err != nil {
- return nil, fmt.Errorf("error expanding Remote into remote: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["remote"] = v
- }
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs(c, f.Gcs, res); err != nil {
- return nil, fmt.Errorf("error expanding Gcs into gcs: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["gcs"] = v
- }
- if v := f.LocalPath; !dcl.IsEmptyValueIndirect(v) {
- m["localPath"] = v
- }
- if v := f.AllowInsecure; !dcl.IsEmptyValueIndirect(v) {
- m["allowInsecure"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource
- }
- r.Remote = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote(c, m["remote"], res)
- r.Gcs = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs(c, m["gcs"], res)
- r.LocalPath = dcl.FlattenString(m["localPath"])
- r.AllowInsecure = dcl.FlattenBool(m["allowInsecure"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemoteMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemoteMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemoteSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemoteSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemoteMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemoteMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemoteSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemoteSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Uri; !dcl.IsEmptyValueIndirect(v) {
- m["uri"] = v
- }
- if v := f.Sha256Checksum; !dcl.IsEmptyValueIndirect(v) {
- m["sha256Checksum"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote
- }
- r.Uri = dcl.FlattenString(m["uri"])
- r.Sha256Checksum = dcl.FlattenString(m["sha256Checksum"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcsMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcsMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcsSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcsSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcsMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcsMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcsSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcsSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Bucket; !dcl.IsEmptyValueIndirect(v) {
- m["bucket"] = v
- }
- if v := f.Object; !dcl.IsEmptyValueIndirect(v) {
- m["object"] = v
- }
- if v := f.Generation; !dcl.IsEmptyValueIndirect(v) {
- m["generation"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs
- }
- r.Bucket = dcl.FlattenString(m["bucket"])
- r.Object = dcl.FlattenString(m["object"])
- r.Generation = dcl.FlattenInteger(m["generation"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGoogetMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGoogetMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGoogetSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGoogetSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGoogetMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGoogetMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGoogetSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGoogetSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Name; !dcl.IsEmptyValueIndirect(v) {
- m["name"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget
- }
- r.Name = dcl.FlattenString(m["name"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource(c, f.Source, res); err != nil {
- return nil, fmt.Errorf("error expanding Source into source: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["source"] = v
- }
- if v := f.Properties; v != nil {
- m["properties"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi
- }
- r.Source = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource(c, m["source"], res)
- r.Properties = dcl.FlattenStringSlice(m["properties"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote(c, f.Remote, res); err != nil {
- return nil, fmt.Errorf("error expanding Remote into remote: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["remote"] = v
- }
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs(c, f.Gcs, res); err != nil {
- return nil, fmt.Errorf("error expanding Gcs into gcs: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["gcs"] = v
- }
- if v := f.LocalPath; !dcl.IsEmptyValueIndirect(v) {
- m["localPath"] = v
- }
- if v := f.AllowInsecure; !dcl.IsEmptyValueIndirect(v) {
- m["allowInsecure"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource
- }
- r.Remote = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote(c, m["remote"], res)
- r.Gcs = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs(c, m["gcs"], res)
- r.LocalPath = dcl.FlattenString(m["localPath"])
- r.AllowInsecure = dcl.FlattenBool(m["allowInsecure"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemoteMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemoteMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemoteSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemoteSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemoteMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemoteMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemoteSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemoteSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Uri; !dcl.IsEmptyValueIndirect(v) {
- m["uri"] = v
- }
- if v := f.Sha256Checksum; !dcl.IsEmptyValueIndirect(v) {
- m["sha256Checksum"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote
- }
- r.Uri = dcl.FlattenString(m["uri"])
- r.Sha256Checksum = dcl.FlattenString(m["sha256Checksum"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcsMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcsMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcsSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcsSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcsMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcsMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcsSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcsSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Bucket; !dcl.IsEmptyValueIndirect(v) {
- m["bucket"] = v
- }
- if v := f.Object; !dcl.IsEmptyValueIndirect(v) {
- m["object"] = v
- }
- if v := f.Generation; !dcl.IsEmptyValueIndirect(v) {
- m["generation"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs
- }
- r.Bucket = dcl.FlattenString(m["bucket"])
- r.Object = dcl.FlattenString(m["object"])
- r.Generation = dcl.FlattenInteger(m["generation"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositorySlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositorySlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositorySlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositorySlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt(c, f.Apt, res); err != nil {
- return nil, fmt.Errorf("error expanding Apt into apt: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["apt"] = v
- }
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum(c, f.Yum, res); err != nil {
- return nil, fmt.Errorf("error expanding Yum into yum: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["yum"] = v
- }
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper(c, f.Zypper, res); err != nil {
- return nil, fmt.Errorf("error expanding Zypper into zypper: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["zypper"] = v
- }
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo(c, f.Goo, res); err != nil {
- return nil, fmt.Errorf("error expanding Goo into goo: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["goo"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository
- }
- r.Apt = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt(c, m["apt"], res)
- r.Yum = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum(c, m["yum"], res)
- r.Zypper = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper(c, m["zypper"], res)
- r.Goo = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo(c, m["goo"], res)
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.ArchiveType; !dcl.IsEmptyValueIndirect(v) {
- m["archiveType"] = v
- }
- if v := f.Uri; !dcl.IsEmptyValueIndirect(v) {
- m["uri"] = v
- }
- if v := f.Distribution; !dcl.IsEmptyValueIndirect(v) {
- m["distribution"] = v
- }
- if v := f.Components; v != nil {
- m["components"] = v
- }
- if v := f.GpgKey; !dcl.IsEmptyValueIndirect(v) {
- m["gpgKey"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt
- }
- r.ArchiveType = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnum(m["archiveType"])
- r.Uri = dcl.FlattenString(m["uri"])
- r.Distribution = dcl.FlattenString(m["distribution"])
- r.Components = dcl.FlattenStringSlice(m["components"])
- r.GpgKey = dcl.FlattenString(m["gpgKey"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYumMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYumMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYumSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYumSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYumMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYumMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYumSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYumSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Id; !dcl.IsEmptyValueIndirect(v) {
- m["id"] = v
- }
- if v := f.DisplayName; !dcl.IsEmptyValueIndirect(v) {
- m["displayName"] = v
- }
- if v := f.BaseUrl; !dcl.IsEmptyValueIndirect(v) {
- m["baseUrl"] = v
- }
- if v := f.GpgKeys; v != nil {
- m["gpgKeys"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum
- }
- r.Id = dcl.FlattenString(m["id"])
- r.DisplayName = dcl.FlattenString(m["displayName"])
- r.BaseUrl = dcl.FlattenString(m["baseUrl"])
- r.GpgKeys = dcl.FlattenStringSlice(m["gpgKeys"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypperMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypperMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypperSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypperSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypperMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypperMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypperSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypperSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Id; !dcl.IsEmptyValueIndirect(v) {
- m["id"] = v
- }
- if v := f.DisplayName; !dcl.IsEmptyValueIndirect(v) {
- m["displayName"] = v
- }
- if v := f.BaseUrl; !dcl.IsEmptyValueIndirect(v) {
- m["baseUrl"] = v
- }
- if v := f.GpgKeys; v != nil {
- m["gpgKeys"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper
- }
- r.Id = dcl.FlattenString(m["id"])
- r.DisplayName = dcl.FlattenString(m["displayName"])
- r.BaseUrl = dcl.FlattenString(m["baseUrl"])
- r.GpgKeys = dcl.FlattenStringSlice(m["gpgKeys"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGooMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGooMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGooSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGooSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGooMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGooMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGooSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGooSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Name; !dcl.IsEmptyValueIndirect(v) {
- m["name"] = v
- }
- if v := f.Url; !dcl.IsEmptyValueIndirect(v) {
- m["url"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo
- }
- r.Name = dcl.FlattenString(m["name"])
- r.Url = dcl.FlattenString(m["url"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate(c, f.Validate, res); err != nil {
- return nil, fmt.Errorf("error expanding Validate into validate: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["validate"] = v
- }
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce(c, f.Enforce, res); err != nil {
- return nil, fmt.Errorf("error expanding Enforce into enforce: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["enforce"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec
- }
- r.Validate = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate(c, m["validate"], res)
- r.Enforce = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce(c, m["enforce"], res)
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile(c, f.File, res); err != nil {
- return nil, fmt.Errorf("error expanding File into file: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["file"] = v
- }
- if v := f.Script; !dcl.IsEmptyValueIndirect(v) {
- m["script"] = v
- }
- if v := f.Args; v != nil {
- m["args"] = v
- }
- if v := f.Interpreter; !dcl.IsEmptyValueIndirect(v) {
- m["interpreter"] = v
- }
- if v := f.OutputFilePath; !dcl.IsEmptyValueIndirect(v) {
- m["outputFilePath"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate
- }
- r.File = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile(c, m["file"], res)
- r.Script = dcl.FlattenString(m["script"])
- r.Args = dcl.FlattenStringSlice(m["args"])
- r.Interpreter = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnum(m["interpreter"])
- r.OutputFilePath = dcl.FlattenString(m["outputFilePath"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote(c, f.Remote, res); err != nil {
- return nil, fmt.Errorf("error expanding Remote into remote: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["remote"] = v
- }
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs(c, f.Gcs, res); err != nil {
- return nil, fmt.Errorf("error expanding Gcs into gcs: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["gcs"] = v
- }
- if v := f.LocalPath; !dcl.IsEmptyValueIndirect(v) {
- m["localPath"] = v
- }
- if v := f.AllowInsecure; !dcl.IsEmptyValueIndirect(v) {
- m["allowInsecure"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile
- }
- r.Remote = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote(c, m["remote"], res)
- r.Gcs = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs(c, m["gcs"], res)
- r.LocalPath = dcl.FlattenString(m["localPath"])
- r.AllowInsecure = dcl.FlattenBool(m["allowInsecure"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemoteMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemoteMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemoteSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemoteSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemoteMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemoteMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemoteSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemoteSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Uri; !dcl.IsEmptyValueIndirect(v) {
- m["uri"] = v
- }
- if v := f.Sha256Checksum; !dcl.IsEmptyValueIndirect(v) {
- m["sha256Checksum"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote
- }
- r.Uri = dcl.FlattenString(m["uri"])
- r.Sha256Checksum = dcl.FlattenString(m["sha256Checksum"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcsMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcsMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcsSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcsSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcsMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcsMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcsSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcsSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Bucket; !dcl.IsEmptyValueIndirect(v) {
- m["bucket"] = v
- }
- if v := f.Object; !dcl.IsEmptyValueIndirect(v) {
- m["object"] = v
- }
- if v := f.Generation; !dcl.IsEmptyValueIndirect(v) {
- m["generation"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs
- }
- r.Bucket = dcl.FlattenString(m["bucket"])
- r.Object = dcl.FlattenString(m["object"])
- r.Generation = dcl.FlattenInteger(m["generation"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile(c, f.File, res); err != nil {
- return nil, fmt.Errorf("error expanding File into file: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["file"] = v
- }
- if v := f.Script; !dcl.IsEmptyValueIndirect(v) {
- m["script"] = v
- }
- if v := f.Args; v != nil {
- m["args"] = v
- }
- if v := f.Interpreter; !dcl.IsEmptyValueIndirect(v) {
- m["interpreter"] = v
- }
- if v := f.OutputFilePath; !dcl.IsEmptyValueIndirect(v) {
- m["outputFilePath"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce
- }
- r.File = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile(c, m["file"], res)
- r.Script = dcl.FlattenString(m["script"])
- r.Args = dcl.FlattenStringSlice(m["args"])
- r.Interpreter = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnum(m["interpreter"])
- r.OutputFilePath = dcl.FlattenString(m["outputFilePath"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote(c, f.Remote, res); err != nil {
- return nil, fmt.Errorf("error expanding Remote into remote: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["remote"] = v
- }
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs(c, f.Gcs, res); err != nil {
- return nil, fmt.Errorf("error expanding Gcs into gcs: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["gcs"] = v
- }
- if v := f.LocalPath; !dcl.IsEmptyValueIndirect(v) {
- m["localPath"] = v
- }
- if v := f.AllowInsecure; !dcl.IsEmptyValueIndirect(v) {
- m["allowInsecure"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile
- }
- r.Remote = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote(c, m["remote"], res)
- r.Gcs = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs(c, m["gcs"], res)
- r.LocalPath = dcl.FlattenString(m["localPath"])
- r.AllowInsecure = dcl.FlattenBool(m["allowInsecure"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemoteMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemoteMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemoteSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemoteSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemoteMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemoteMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemoteSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemoteSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Uri; !dcl.IsEmptyValueIndirect(v) {
- m["uri"] = v
- }
- if v := f.Sha256Checksum; !dcl.IsEmptyValueIndirect(v) {
- m["sha256Checksum"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote
- }
- r.Uri = dcl.FlattenString(m["uri"])
- r.Sha256Checksum = dcl.FlattenString(m["sha256Checksum"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcsMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcsMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcsSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcsSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcsMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcsMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcsSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcsSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Bucket; !dcl.IsEmptyValueIndirect(v) {
- m["bucket"] = v
- }
- if v := f.Object; !dcl.IsEmptyValueIndirect(v) {
- m["object"] = v
- }
- if v := f.Generation; !dcl.IsEmptyValueIndirect(v) {
- m["generation"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs
- }
- r.Bucket = dcl.FlattenString(m["bucket"])
- r.Object = dcl.FlattenString(m["object"])
- r.Generation = dcl.FlattenInteger(m["generation"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile(c, f.File, res); err != nil {
- return nil, fmt.Errorf("error expanding File into file: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["file"] = v
- }
- if v := f.Content; !dcl.IsEmptyValueIndirect(v) {
- m["content"] = v
- }
- if v := f.Path; !dcl.IsEmptyValueIndirect(v) {
- m["path"] = v
- }
- if v := f.State; !dcl.IsEmptyValueIndirect(v) {
- m["state"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile
- }
- r.File = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile(c, m["file"], res)
- r.Content = dcl.FlattenString(m["content"])
- r.Path = dcl.FlattenString(m["path"])
- r.State = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnum(m["state"])
- r.Permissions = dcl.FlattenString(m["permissions"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote(c, f.Remote, res); err != nil {
- return nil, fmt.Errorf("error expanding Remote into remote: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["remote"] = v
- }
- if v, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs(c, f.Gcs, res); err != nil {
- return nil, fmt.Errorf("error expanding Gcs into gcs: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["gcs"] = v
- }
- if v := f.LocalPath; !dcl.IsEmptyValueIndirect(v) {
- m["localPath"] = v
- }
- if v := f.AllowInsecure; !dcl.IsEmptyValueIndirect(v) {
- m["allowInsecure"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile
- }
- r.Remote = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote(c, m["remote"], res)
- r.Gcs = flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs(c, m["gcs"], res)
- r.LocalPath = dcl.FlattenString(m["localPath"])
- r.AllowInsecure = dcl.FlattenBool(m["allowInsecure"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemoteMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemoteMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemoteSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemoteSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemoteMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemoteMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemoteSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemoteSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Uri; !dcl.IsEmptyValueIndirect(v) {
- m["uri"] = v
- }
- if v := f.Sha256Checksum; !dcl.IsEmptyValueIndirect(v) {
- m["sha256Checksum"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote
- }
- r.Uri = dcl.FlattenString(m["uri"])
- r.Sha256Checksum = dcl.FlattenString(m["sha256Checksum"])
-
- return r
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcsMap expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcsMap(c *Client, f map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcsSlice expands the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcsSlice(c *Client, f []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcsMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcsMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcsSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcsSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs expands an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs into a JSON
-// request object.
-func expandOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs(c *Client, f *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Bucket; !dcl.IsEmptyValueIndirect(v) {
- m["bucket"] = v
- }
- if v := f.Object; !dcl.IsEmptyValueIndirect(v) {
- m["object"] = v
- }
- if v := f.Generation; !dcl.IsEmptyValueIndirect(v) {
- m["generation"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs flattens an instance of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs
- }
- r.Bucket = dcl.FlattenString(m["bucket"])
- r.Object = dcl.FlattenString(m["object"])
- r.Generation = dcl.FlattenInteger(m["generation"])
-
- return r
-}
-
-// expandOSPolicyAssignmentInstanceFilterMap expands the contents of OSPolicyAssignmentInstanceFilter into a JSON
-// request object.
-func expandOSPolicyAssignmentInstanceFilterMap(c *Client, f map[string]OSPolicyAssignmentInstanceFilter, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentInstanceFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentInstanceFilterSlice expands the contents of OSPolicyAssignmentInstanceFilter into a JSON
-// request object.
-func expandOSPolicyAssignmentInstanceFilterSlice(c *Client, f []OSPolicyAssignmentInstanceFilter, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentInstanceFilter(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentInstanceFilterMap flattens the contents of OSPolicyAssignmentInstanceFilter from a JSON
-// response object.
-func flattenOSPolicyAssignmentInstanceFilterMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentInstanceFilter {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentInstanceFilter{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentInstanceFilter{}
- }
-
- items := make(map[string]OSPolicyAssignmentInstanceFilter)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentInstanceFilter(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentInstanceFilterSlice flattens the contents of OSPolicyAssignmentInstanceFilter from a JSON
-// response object.
-func flattenOSPolicyAssignmentInstanceFilterSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentInstanceFilter {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentInstanceFilter{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentInstanceFilter{}
- }
-
- items := make([]OSPolicyAssignmentInstanceFilter, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentInstanceFilter(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentInstanceFilter expands an instance of OSPolicyAssignmentInstanceFilter into a JSON
-// request object.
-func expandOSPolicyAssignmentInstanceFilter(c *Client, f *OSPolicyAssignmentInstanceFilter, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.All; v != nil {
- m["all"] = v
- }
- if v, err := expandOSPolicyAssignmentInstanceFilterInclusionLabelsSlice(c, f.InclusionLabels, res); err != nil {
- return nil, fmt.Errorf("error expanding InclusionLabels into inclusionLabels: %w", err)
- } else if v != nil {
- m["inclusionLabels"] = v
- }
- if v, err := expandOSPolicyAssignmentInstanceFilterExclusionLabelsSlice(c, f.ExclusionLabels, res); err != nil {
- return nil, fmt.Errorf("error expanding ExclusionLabels into exclusionLabels: %w", err)
- } else if v != nil {
- m["exclusionLabels"] = v
- }
- if v, err := expandOSPolicyAssignmentInstanceFilterInventoriesSlice(c, f.Inventories, res); err != nil {
- return nil, fmt.Errorf("error expanding Inventories into inventories: %w", err)
- } else if v != nil {
- m["inventories"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentInstanceFilter flattens an instance of OSPolicyAssignmentInstanceFilter from a JSON
-// response object.
-func flattenOSPolicyAssignmentInstanceFilter(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentInstanceFilter {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentInstanceFilter{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentInstanceFilter
- }
- r.All = dcl.FlattenBool(m["all"])
- r.InclusionLabels = flattenOSPolicyAssignmentInstanceFilterInclusionLabelsSlice(c, m["inclusionLabels"], res)
- r.ExclusionLabels = flattenOSPolicyAssignmentInstanceFilterExclusionLabelsSlice(c, m["exclusionLabels"], res)
- r.Inventories = flattenOSPolicyAssignmentInstanceFilterInventoriesSlice(c, m["inventories"], res)
-
- return r
-}
-
-// expandOSPolicyAssignmentInstanceFilterInclusionLabelsMap expands the contents of OSPolicyAssignmentInstanceFilterInclusionLabels into a JSON
-// request object.
-func expandOSPolicyAssignmentInstanceFilterInclusionLabelsMap(c *Client, f map[string]OSPolicyAssignmentInstanceFilterInclusionLabels, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentInstanceFilterInclusionLabels(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentInstanceFilterInclusionLabelsSlice expands the contents of OSPolicyAssignmentInstanceFilterInclusionLabels into a JSON
-// request object.
-func expandOSPolicyAssignmentInstanceFilterInclusionLabelsSlice(c *Client, f []OSPolicyAssignmentInstanceFilterInclusionLabels, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentInstanceFilterInclusionLabels(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentInstanceFilterInclusionLabelsMap flattens the contents of OSPolicyAssignmentInstanceFilterInclusionLabels from a JSON
-// response object.
-func flattenOSPolicyAssignmentInstanceFilterInclusionLabelsMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentInstanceFilterInclusionLabels {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentInstanceFilterInclusionLabels{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentInstanceFilterInclusionLabels{}
- }
-
- items := make(map[string]OSPolicyAssignmentInstanceFilterInclusionLabels)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentInstanceFilterInclusionLabels(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentInstanceFilterInclusionLabelsSlice flattens the contents of OSPolicyAssignmentInstanceFilterInclusionLabels from a JSON
-// response object.
-func flattenOSPolicyAssignmentInstanceFilterInclusionLabelsSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentInstanceFilterInclusionLabels {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentInstanceFilterInclusionLabels{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentInstanceFilterInclusionLabels{}
- }
-
- items := make([]OSPolicyAssignmentInstanceFilterInclusionLabels, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentInstanceFilterInclusionLabels(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentInstanceFilterInclusionLabels expands an instance of OSPolicyAssignmentInstanceFilterInclusionLabels into a JSON
-// request object.
-func expandOSPolicyAssignmentInstanceFilterInclusionLabels(c *Client, f *OSPolicyAssignmentInstanceFilterInclusionLabels, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Labels; !dcl.IsEmptyValueIndirect(v) {
- m["labels"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentInstanceFilterInclusionLabels flattens an instance of OSPolicyAssignmentInstanceFilterInclusionLabels from a JSON
-// response object.
-func flattenOSPolicyAssignmentInstanceFilterInclusionLabels(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentInstanceFilterInclusionLabels {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentInstanceFilterInclusionLabels{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentInstanceFilterInclusionLabels
- }
- r.Labels = dcl.FlattenKeyValuePairs(m["labels"])
-
- return r
-}
-
-// expandOSPolicyAssignmentInstanceFilterExclusionLabelsMap expands the contents of OSPolicyAssignmentInstanceFilterExclusionLabels into a JSON
-// request object.
-func expandOSPolicyAssignmentInstanceFilterExclusionLabelsMap(c *Client, f map[string]OSPolicyAssignmentInstanceFilterExclusionLabels, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentInstanceFilterExclusionLabels(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentInstanceFilterExclusionLabelsSlice expands the contents of OSPolicyAssignmentInstanceFilterExclusionLabels into a JSON
-// request object.
-func expandOSPolicyAssignmentInstanceFilterExclusionLabelsSlice(c *Client, f []OSPolicyAssignmentInstanceFilterExclusionLabels, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentInstanceFilterExclusionLabels(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentInstanceFilterExclusionLabelsMap flattens the contents of OSPolicyAssignmentInstanceFilterExclusionLabels from a JSON
-// response object.
-func flattenOSPolicyAssignmentInstanceFilterExclusionLabelsMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentInstanceFilterExclusionLabels {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentInstanceFilterExclusionLabels{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentInstanceFilterExclusionLabels{}
- }
-
- items := make(map[string]OSPolicyAssignmentInstanceFilterExclusionLabels)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentInstanceFilterExclusionLabels(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentInstanceFilterExclusionLabelsSlice flattens the contents of OSPolicyAssignmentInstanceFilterExclusionLabels from a JSON
-// response object.
-func flattenOSPolicyAssignmentInstanceFilterExclusionLabelsSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentInstanceFilterExclusionLabels {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentInstanceFilterExclusionLabels{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentInstanceFilterExclusionLabels{}
- }
-
- items := make([]OSPolicyAssignmentInstanceFilterExclusionLabels, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentInstanceFilterExclusionLabels(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentInstanceFilterExclusionLabels expands an instance of OSPolicyAssignmentInstanceFilterExclusionLabels into a JSON
-// request object.
-func expandOSPolicyAssignmentInstanceFilterExclusionLabels(c *Client, f *OSPolicyAssignmentInstanceFilterExclusionLabels, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Labels; !dcl.IsEmptyValueIndirect(v) {
- m["labels"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentInstanceFilterExclusionLabels flattens an instance of OSPolicyAssignmentInstanceFilterExclusionLabels from a JSON
-// response object.
-func flattenOSPolicyAssignmentInstanceFilterExclusionLabels(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentInstanceFilterExclusionLabels {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentInstanceFilterExclusionLabels{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentInstanceFilterExclusionLabels
- }
- r.Labels = dcl.FlattenKeyValuePairs(m["labels"])
-
- return r
-}
-
-// expandOSPolicyAssignmentInstanceFilterInventoriesMap expands the contents of OSPolicyAssignmentInstanceFilterInventories into a JSON
-// request object.
-func expandOSPolicyAssignmentInstanceFilterInventoriesMap(c *Client, f map[string]OSPolicyAssignmentInstanceFilterInventories, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentInstanceFilterInventories(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentInstanceFilterInventoriesSlice expands the contents of OSPolicyAssignmentInstanceFilterInventories into a JSON
-// request object.
-func expandOSPolicyAssignmentInstanceFilterInventoriesSlice(c *Client, f []OSPolicyAssignmentInstanceFilterInventories, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentInstanceFilterInventories(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentInstanceFilterInventoriesMap flattens the contents of OSPolicyAssignmentInstanceFilterInventories from a JSON
-// response object.
-func flattenOSPolicyAssignmentInstanceFilterInventoriesMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentInstanceFilterInventories {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentInstanceFilterInventories{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentInstanceFilterInventories{}
- }
-
- items := make(map[string]OSPolicyAssignmentInstanceFilterInventories)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentInstanceFilterInventories(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentInstanceFilterInventoriesSlice flattens the contents of OSPolicyAssignmentInstanceFilterInventories from a JSON
-// response object.
-func flattenOSPolicyAssignmentInstanceFilterInventoriesSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentInstanceFilterInventories {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentInstanceFilterInventories{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentInstanceFilterInventories{}
- }
-
- items := make([]OSPolicyAssignmentInstanceFilterInventories, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentInstanceFilterInventories(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentInstanceFilterInventories expands an instance of OSPolicyAssignmentInstanceFilterInventories into a JSON
-// request object.
-func expandOSPolicyAssignmentInstanceFilterInventories(c *Client, f *OSPolicyAssignmentInstanceFilterInventories, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.OSShortName; !dcl.IsEmptyValueIndirect(v) {
- m["osShortName"] = v
- }
- if v := f.OSVersion; !dcl.IsEmptyValueIndirect(v) {
- m["osVersion"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentInstanceFilterInventories flattens an instance of OSPolicyAssignmentInstanceFilterInventories from a JSON
-// response object.
-func flattenOSPolicyAssignmentInstanceFilterInventories(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentInstanceFilterInventories {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentInstanceFilterInventories{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentInstanceFilterInventories
- }
- r.OSShortName = dcl.FlattenString(m["osShortName"])
- r.OSVersion = dcl.FlattenString(m["osVersion"])
-
- return r
-}
-
-// expandOSPolicyAssignmentRolloutMap expands the contents of OSPolicyAssignmentRollout into a JSON
-// request object.
-func expandOSPolicyAssignmentRolloutMap(c *Client, f map[string]OSPolicyAssignmentRollout, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentRollout(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentRolloutSlice expands the contents of OSPolicyAssignmentRollout into a JSON
-// request object.
-func expandOSPolicyAssignmentRolloutSlice(c *Client, f []OSPolicyAssignmentRollout, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentRollout(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentRolloutMap flattens the contents of OSPolicyAssignmentRollout from a JSON
-// response object.
-func flattenOSPolicyAssignmentRolloutMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentRollout {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentRollout{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentRollout{}
- }
-
- items := make(map[string]OSPolicyAssignmentRollout)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentRollout(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentRolloutSlice flattens the contents of OSPolicyAssignmentRollout from a JSON
-// response object.
-func flattenOSPolicyAssignmentRolloutSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentRollout {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentRollout{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentRollout{}
- }
-
- items := make([]OSPolicyAssignmentRollout, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentRollout(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentRollout expands an instance of OSPolicyAssignmentRollout into a JSON
-// request object.
-func expandOSPolicyAssignmentRollout(c *Client, f *OSPolicyAssignmentRollout, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v, err := expandOSPolicyAssignmentRolloutDisruptionBudget(c, f.DisruptionBudget, res); err != nil {
- return nil, fmt.Errorf("error expanding DisruptionBudget into disruptionBudget: %w", err)
- } else if !dcl.IsEmptyValueIndirect(v) {
- m["disruptionBudget"] = v
- }
- if v := f.MinWaitDuration; !dcl.IsEmptyValueIndirect(v) {
- m["minWaitDuration"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentRollout flattens an instance of OSPolicyAssignmentRollout from a JSON
-// response object.
-func flattenOSPolicyAssignmentRollout(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentRollout {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentRollout{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentRollout
- }
- r.DisruptionBudget = flattenOSPolicyAssignmentRolloutDisruptionBudget(c, m["disruptionBudget"], res)
- r.MinWaitDuration = dcl.FlattenString(m["minWaitDuration"])
-
- return r
-}
-
-// expandOSPolicyAssignmentRolloutDisruptionBudgetMap expands the contents of OSPolicyAssignmentRolloutDisruptionBudget into a JSON
-// request object.
-func expandOSPolicyAssignmentRolloutDisruptionBudgetMap(c *Client, f map[string]OSPolicyAssignmentRolloutDisruptionBudget, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := make(map[string]interface{})
- for k, item := range f {
- i, err := expandOSPolicyAssignmentRolloutDisruptionBudget(c, &item, res)
- if err != nil {
- return nil, err
- }
- if i != nil {
- items[k] = i
- }
- }
-
- return items, nil
-}
-
-// expandOSPolicyAssignmentRolloutDisruptionBudgetSlice expands the contents of OSPolicyAssignmentRolloutDisruptionBudget into a JSON
-// request object.
-func expandOSPolicyAssignmentRolloutDisruptionBudgetSlice(c *Client, f []OSPolicyAssignmentRolloutDisruptionBudget, res *OSPolicyAssignment) ([]map[string]interface{}, error) {
- if f == nil {
- return nil, nil
- }
-
- items := []map[string]interface{}{}
- for _, item := range f {
- i, err := expandOSPolicyAssignmentRolloutDisruptionBudget(c, &item, res)
- if err != nil {
- return nil, err
- }
-
- items = append(items, i)
- }
-
- return items, nil
-}
-
-// flattenOSPolicyAssignmentRolloutDisruptionBudgetMap flattens the contents of OSPolicyAssignmentRolloutDisruptionBudget from a JSON
-// response object.
-func flattenOSPolicyAssignmentRolloutDisruptionBudgetMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentRolloutDisruptionBudget {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentRolloutDisruptionBudget{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentRolloutDisruptionBudget{}
- }
-
- items := make(map[string]OSPolicyAssignmentRolloutDisruptionBudget)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentRolloutDisruptionBudget(c, item.(map[string]interface{}), res)
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentRolloutDisruptionBudgetSlice flattens the contents of OSPolicyAssignmentRolloutDisruptionBudget from a JSON
-// response object.
-func flattenOSPolicyAssignmentRolloutDisruptionBudgetSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentRolloutDisruptionBudget {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentRolloutDisruptionBudget{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentRolloutDisruptionBudget{}
- }
-
- items := make([]OSPolicyAssignmentRolloutDisruptionBudget, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentRolloutDisruptionBudget(c, item.(map[string]interface{}), res))
- }
-
- return items
-}
-
-// expandOSPolicyAssignmentRolloutDisruptionBudget expands an instance of OSPolicyAssignmentRolloutDisruptionBudget into a JSON
-// request object.
-func expandOSPolicyAssignmentRolloutDisruptionBudget(c *Client, f *OSPolicyAssignmentRolloutDisruptionBudget, res *OSPolicyAssignment) (map[string]interface{}, error) {
- if dcl.IsEmptyValueIndirect(f) {
- return nil, nil
- }
-
- m := make(map[string]interface{})
- if v := f.Fixed; !dcl.IsEmptyValueIndirect(v) {
- m["fixed"] = v
- }
- if v := f.Percent; !dcl.IsEmptyValueIndirect(v) {
- m["percent"] = v
- }
-
- return m, nil
-}
-
-// flattenOSPolicyAssignmentRolloutDisruptionBudget flattens an instance of OSPolicyAssignmentRolloutDisruptionBudget from a JSON
-// response object.
-func flattenOSPolicyAssignmentRolloutDisruptionBudget(c *Client, i interface{}, res *OSPolicyAssignment) *OSPolicyAssignmentRolloutDisruptionBudget {
- m, ok := i.(map[string]interface{})
- if !ok {
- return nil
- }
-
- r := &OSPolicyAssignmentRolloutDisruptionBudget{}
-
- if dcl.IsEmptyValueIndirect(i) {
- return EmptyOSPolicyAssignmentRolloutDisruptionBudget
- }
- r.Fixed = dcl.FlattenInteger(m["fixed"])
- r.Percent = dcl.FlattenInteger(m["percent"])
-
- return r
-}
-
-// flattenOSPolicyAssignmentOSPoliciesModeEnumMap flattens the contents of OSPolicyAssignmentOSPoliciesModeEnum from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesModeEnumMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesModeEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesModeEnum{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesModeEnum{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesModeEnum)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesModeEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesModeEnumSlice flattens the contents of OSPolicyAssignmentOSPoliciesModeEnum from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesModeEnumSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesModeEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesModeEnum{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesModeEnum{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesModeEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesModeEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesModeEnum asserts that an interface is a string, and returns a
-// pointer to a *OSPolicyAssignmentOSPoliciesModeEnum with the same value as that string.
-func flattenOSPolicyAssignmentOSPoliciesModeEnum(i interface{}) *OSPolicyAssignmentOSPoliciesModeEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return OSPolicyAssignmentOSPoliciesModeEnumRef(s)
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnumMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnum from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnumMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnum{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnum{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnum)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnumSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnum from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnumSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnum{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnum{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnum asserts that an interface is a string, and returns a
-// pointer to a *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnum with the same value as that string.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnum(i interface{}) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnumRef(s)
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnumMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnum from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnumMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnum{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnum{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnum)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnumSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnum from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnumSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnum{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnum{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnum asserts that an interface is a string, and returns a
-// pointer to a *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnum with the same value as that string.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnum(i interface{}) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnumRef(s)
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnumMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnum from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnumMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnum{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnum{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnum)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnumSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnum from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnumSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnum{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnum{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnum asserts that an interface is a string, and returns a
-// pointer to a *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnum with the same value as that string.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnum(i interface{}) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnumRef(s)
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnumMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnum from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnumMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnum{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnum{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnum)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnumSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnum from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnumSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnum{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnum{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnum asserts that an interface is a string, and returns a
-// pointer to a *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnum with the same value as that string.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnum(i interface{}) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnumRef(s)
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnumMap flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnum from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnumMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnum{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnum{}
- }
-
- items := make(map[string]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnum)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnumSlice flattens the contents of OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnum from a JSON
-// response object.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnumSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnum{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnum{}
- }
-
- items := make([]OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnum asserts that an interface is a string, and returns a
-// pointer to a *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnum with the same value as that string.
-func flattenOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnum(i interface{}) *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnumRef(s)
-}
-
-// flattenOSPolicyAssignmentRolloutStateEnumMap flattens the contents of OSPolicyAssignmentRolloutStateEnum from a JSON
-// response object.
-func flattenOSPolicyAssignmentRolloutStateEnumMap(c *Client, i interface{}, res *OSPolicyAssignment) map[string]OSPolicyAssignmentRolloutStateEnum {
- a, ok := i.(map[string]interface{})
- if !ok {
- return map[string]OSPolicyAssignmentRolloutStateEnum{}
- }
-
- if len(a) == 0 {
- return map[string]OSPolicyAssignmentRolloutStateEnum{}
- }
-
- items := make(map[string]OSPolicyAssignmentRolloutStateEnum)
- for k, item := range a {
- items[k] = *flattenOSPolicyAssignmentRolloutStateEnum(item.(interface{}))
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentRolloutStateEnumSlice flattens the contents of OSPolicyAssignmentRolloutStateEnum from a JSON
-// response object.
-func flattenOSPolicyAssignmentRolloutStateEnumSlice(c *Client, i interface{}, res *OSPolicyAssignment) []OSPolicyAssignmentRolloutStateEnum {
- a, ok := i.([]interface{})
- if !ok {
- return []OSPolicyAssignmentRolloutStateEnum{}
- }
-
- if len(a) == 0 {
- return []OSPolicyAssignmentRolloutStateEnum{}
- }
-
- items := make([]OSPolicyAssignmentRolloutStateEnum, 0, len(a))
- for _, item := range a {
- items = append(items, *flattenOSPolicyAssignmentRolloutStateEnum(item.(interface{})))
- }
-
- return items
-}
-
-// flattenOSPolicyAssignmentRolloutStateEnum asserts that an interface is a string, and returns a
-// pointer to a *OSPolicyAssignmentRolloutStateEnum with the same value as that string.
-func flattenOSPolicyAssignmentRolloutStateEnum(i interface{}) *OSPolicyAssignmentRolloutStateEnum {
- s, ok := i.(string)
- if !ok {
- return nil
- }
-
- return OSPolicyAssignmentRolloutStateEnumRef(s)
-}
-
-// This function returns a matcher that checks whether a serialized resource matches this resource
-// in its parameters (as defined by the fields in a Get, which definitionally define resource
-// identity). This is useful in extracting the element from a List call.
-func (r *OSPolicyAssignment) matcher(c *Client) func([]byte) bool {
- return func(b []byte) bool {
- cr, err := unmarshalOSPolicyAssignment(b, c, r)
- if err != nil {
- c.Config.Logger.Warning("failed to unmarshal provided resource in matcher.")
- return false
- }
- nr := r.urlNormalized()
- ncr := cr.urlNormalized()
- c.Config.Logger.Infof("looking for %v\nin %v", nr, ncr)
-
- if nr.Project == nil && ncr.Project == nil {
- c.Config.Logger.Info("Both Project fields null - considering equal.")
- } else if nr.Project == nil || ncr.Project == nil {
- c.Config.Logger.Info("Only one Project field is null - considering unequal.")
- return false
- } else if *nr.Project != *ncr.Project {
- return false
- }
- if nr.Location == nil && ncr.Location == nil {
- c.Config.Logger.Info("Both Location fields null - considering equal.")
- } else if nr.Location == nil || ncr.Location == nil {
- c.Config.Logger.Info("Only one Location field is null - considering unequal.")
- return false
- } else if *nr.Location != *ncr.Location {
- return false
- }
- if nr.Name == nil && ncr.Name == nil {
- c.Config.Logger.Info("Both Name fields null - considering equal.")
- } else if nr.Name == nil || ncr.Name == nil {
- c.Config.Logger.Info("Only one Name field is null - considering unequal.")
- return false
- } else if *nr.Name != *ncr.Name {
- return false
- }
- return true
- }
-}
-
-type oSPolicyAssignmentDiff struct {
- // The diff should include one or the other of RequiresRecreate or UpdateOp.
- RequiresRecreate bool
- UpdateOp oSPolicyAssignmentApiOperation
- FieldName string // used for error logging
-}
-
-func convertFieldDiffsToOSPolicyAssignmentDiffs(config *dcl.Config, fds []*dcl.FieldDiff, opts []dcl.ApplyOption) ([]oSPolicyAssignmentDiff, error) {
- opNamesToFieldDiffs := make(map[string][]*dcl.FieldDiff)
- // Map each operation name to the field diffs associated with it.
- for _, fd := range fds {
- for _, ro := range fd.ResultingOperation {
- if fieldDiffs, ok := opNamesToFieldDiffs[ro]; ok {
- fieldDiffs = append(fieldDiffs, fd)
- opNamesToFieldDiffs[ro] = fieldDiffs
- } else {
- config.Logger.Infof("%s required due to diff: %v", ro, fd)
- opNamesToFieldDiffs[ro] = []*dcl.FieldDiff{fd}
- }
- }
- }
- var diffs []oSPolicyAssignmentDiff
- // For each operation name, create a oSPolicyAssignmentDiff which contains the operation.
- for opName, fieldDiffs := range opNamesToFieldDiffs {
- // Use the first field diff's field name for logging required recreate error.
- diff := oSPolicyAssignmentDiff{FieldName: fieldDiffs[0].FieldName}
- if opName == "Recreate" {
- diff.RequiresRecreate = true
- } else {
- apiOp, err := convertOpNameToOSPolicyAssignmentApiOperation(opName, fieldDiffs, opts...)
- if err != nil {
- return diffs, err
- }
- diff.UpdateOp = apiOp
- }
- diffs = append(diffs, diff)
- }
- return diffs, nil
-}
-
-func convertOpNameToOSPolicyAssignmentApiOperation(opName string, fieldDiffs []*dcl.FieldDiff, opts ...dcl.ApplyOption) (oSPolicyAssignmentApiOperation, error) {
- switch opName {
-
- case "updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation":
- return &updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation{FieldDiffs: fieldDiffs}, nil
-
- default:
- return nil, fmt.Errorf("no such operation with name: %v", opName)
- }
-}
-
-func extractOSPolicyAssignmentFields(r *OSPolicyAssignment) error {
- vInstanceFilter := r.InstanceFilter
- if vInstanceFilter == nil {
- // note: explicitly not the empty object.
- vInstanceFilter = &OSPolicyAssignmentInstanceFilter{}
- }
- if err := extractOSPolicyAssignmentInstanceFilterFields(r, vInstanceFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vInstanceFilter) {
- r.InstanceFilter = vInstanceFilter
- }
- vRollout := r.Rollout
- if vRollout == nil {
- // note: explicitly not the empty object.
- vRollout = &OSPolicyAssignmentRollout{}
- }
- if err := extractOSPolicyAssignmentRolloutFields(r, vRollout); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vRollout) {
- r.Rollout = vRollout
- }
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPolicies) error {
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroups) error {
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFiltersFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters) error {
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResources) error {
- vPkg := o.Pkg
- if vPkg == nil {
- // note: explicitly not the empty object.
- vPkg = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgFields(r, vPkg); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPkg) {
- o.Pkg = vPkg
- }
- vRepository := o.Repository
- if vRepository == nil {
- // note: explicitly not the empty object.
- vRepository = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryFields(r, vRepository); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vRepository) {
- o.Repository = vRepository
- }
- vExec := o.Exec
- if vExec == nil {
- // note: explicitly not the empty object.
- vExec = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecFields(r, vExec); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vExec) {
- o.Exec = vExec
- }
- vFile := o.File
- if vFile == nil {
- // note: explicitly not the empty object.
- vFile = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFields(r, vFile); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vFile) {
- o.File = vFile
- }
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg) error {
- vApt := o.Apt
- if vApt == nil {
- // note: explicitly not the empty object.
- vApt = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgAptFields(r, vApt); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vApt) {
- o.Apt = vApt
- }
- vDeb := o.Deb
- if vDeb == nil {
- // note: explicitly not the empty object.
- vDeb = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebFields(r, vDeb); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vDeb) {
- o.Deb = vDeb
- }
- vYum := o.Yum
- if vYum == nil {
- // note: explicitly not the empty object.
- vYum = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYumFields(r, vYum); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vYum) {
- o.Yum = vYum
- }
- vZypper := o.Zypper
- if vZypper == nil {
- // note: explicitly not the empty object.
- vZypper = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypperFields(r, vZypper); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vZypper) {
- o.Zypper = vZypper
- }
- vRpm := o.Rpm
- if vRpm == nil {
- // note: explicitly not the empty object.
- vRpm = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmFields(r, vRpm); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vRpm) {
- o.Rpm = vRpm
- }
- vGooget := o.Googet
- if vGooget == nil {
- // note: explicitly not the empty object.
- vGooget = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGoogetFields(r, vGooget); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGooget) {
- o.Googet = vGooget
- }
- vMsi := o.Msi
- if vMsi == nil {
- // note: explicitly not the empty object.
- vMsi = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiFields(r, vMsi); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vMsi) {
- o.Msi = vMsi
- }
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgAptFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt) error {
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb) error {
- vSource := o.Source
- if vSource == nil {
- // note: explicitly not the empty object.
- vSource = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceFields(r, vSource); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSource) {
- o.Source = vSource
- }
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource) error {
- vRemote := o.Remote
- if vRemote == nil {
- // note: explicitly not the empty object.
- vRemote = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemoteFields(r, vRemote); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vRemote) {
- o.Remote = vRemote
- }
- vGcs := o.Gcs
- if vGcs == nil {
- // note: explicitly not the empty object.
- vGcs = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcsFields(r, vGcs); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGcs) {
- o.Gcs = vGcs
- }
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemoteFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote) error {
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcsFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs) error {
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYumFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum) error {
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypperFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper) error {
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm) error {
- vSource := o.Source
- if vSource == nil {
- // note: explicitly not the empty object.
- vSource = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceFields(r, vSource); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSource) {
- o.Source = vSource
- }
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource) error {
- vRemote := o.Remote
- if vRemote == nil {
- // note: explicitly not the empty object.
- vRemote = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemoteFields(r, vRemote); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vRemote) {
- o.Remote = vRemote
- }
- vGcs := o.Gcs
- if vGcs == nil {
- // note: explicitly not the empty object.
- vGcs = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcsFields(r, vGcs); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGcs) {
- o.Gcs = vGcs
- }
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemoteFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote) error {
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcsFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs) error {
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGoogetFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget) error {
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi) error {
- vSource := o.Source
- if vSource == nil {
- // note: explicitly not the empty object.
- vSource = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceFields(r, vSource); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSource) {
- o.Source = vSource
- }
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource) error {
- vRemote := o.Remote
- if vRemote == nil {
- // note: explicitly not the empty object.
- vRemote = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemoteFields(r, vRemote); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vRemote) {
- o.Remote = vRemote
- }
- vGcs := o.Gcs
- if vGcs == nil {
- // note: explicitly not the empty object.
- vGcs = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcsFields(r, vGcs); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGcs) {
- o.Gcs = vGcs
- }
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemoteFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote) error {
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcsFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs) error {
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository) error {
- vApt := o.Apt
- if vApt == nil {
- // note: explicitly not the empty object.
- vApt = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptFields(r, vApt); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vApt) {
- o.Apt = vApt
- }
- vYum := o.Yum
- if vYum == nil {
- // note: explicitly not the empty object.
- vYum = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYumFields(r, vYum); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vYum) {
- o.Yum = vYum
- }
- vZypper := o.Zypper
- if vZypper == nil {
- // note: explicitly not the empty object.
- vZypper = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypperFields(r, vZypper); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vZypper) {
- o.Zypper = vZypper
- }
- vGoo := o.Goo
- if vGoo == nil {
- // note: explicitly not the empty object.
- vGoo = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGooFields(r, vGoo); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGoo) {
- o.Goo = vGoo
- }
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt) error {
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYumFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum) error {
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypperFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper) error {
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGooFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo) error {
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec) error {
- vValidate := o.Validate
- if vValidate == nil {
- // note: explicitly not the empty object.
- vValidate = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFields(r, vValidate); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vValidate) {
- o.Validate = vValidate
- }
- vEnforce := o.Enforce
- if vEnforce == nil {
- // note: explicitly not the empty object.
- vEnforce = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFields(r, vEnforce); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vEnforce) {
- o.Enforce = vEnforce
- }
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate) error {
- vFile := o.File
- if vFile == nil {
- // note: explicitly not the empty object.
- vFile = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileFields(r, vFile); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vFile) {
- o.File = vFile
- }
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile) error {
- vRemote := o.Remote
- if vRemote == nil {
- // note: explicitly not the empty object.
- vRemote = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemoteFields(r, vRemote); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vRemote) {
- o.Remote = vRemote
- }
- vGcs := o.Gcs
- if vGcs == nil {
- // note: explicitly not the empty object.
- vGcs = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcsFields(r, vGcs); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGcs) {
- o.Gcs = vGcs
- }
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemoteFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote) error {
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcsFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs) error {
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce) error {
- vFile := o.File
- if vFile == nil {
- // note: explicitly not the empty object.
- vFile = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileFields(r, vFile); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vFile) {
- o.File = vFile
- }
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile) error {
- vRemote := o.Remote
- if vRemote == nil {
- // note: explicitly not the empty object.
- vRemote = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemoteFields(r, vRemote); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vRemote) {
- o.Remote = vRemote
- }
- vGcs := o.Gcs
- if vGcs == nil {
- // note: explicitly not the empty object.
- vGcs = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcsFields(r, vGcs); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGcs) {
- o.Gcs = vGcs
- }
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemoteFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote) error {
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcsFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs) error {
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile) error {
- vFile := o.File
- if vFile == nil {
- // note: explicitly not the empty object.
- vFile = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileFields(r, vFile); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vFile) {
- o.File = vFile
- }
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile) error {
- vRemote := o.Remote
- if vRemote == nil {
- // note: explicitly not the empty object.
- vRemote = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemoteFields(r, vRemote); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vRemote) {
- o.Remote = vRemote
- }
- vGcs := o.Gcs
- if vGcs == nil {
- // note: explicitly not the empty object.
- vGcs = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcsFields(r, vGcs); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGcs) {
- o.Gcs = vGcs
- }
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemoteFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote) error {
- return nil
-}
-func extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcsFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs) error {
- return nil
-}
-func extractOSPolicyAssignmentInstanceFilterFields(r *OSPolicyAssignment, o *OSPolicyAssignmentInstanceFilter) error {
- return nil
-}
-func extractOSPolicyAssignmentInstanceFilterInclusionLabelsFields(r *OSPolicyAssignment, o *OSPolicyAssignmentInstanceFilterInclusionLabels) error {
- return nil
-}
-func extractOSPolicyAssignmentInstanceFilterExclusionLabelsFields(r *OSPolicyAssignment, o *OSPolicyAssignmentInstanceFilterExclusionLabels) error {
- return nil
-}
-func extractOSPolicyAssignmentInstanceFilterInventoriesFields(r *OSPolicyAssignment, o *OSPolicyAssignmentInstanceFilterInventories) error {
- return nil
-}
-func extractOSPolicyAssignmentRolloutFields(r *OSPolicyAssignment, o *OSPolicyAssignmentRollout) error {
- vDisruptionBudget := o.DisruptionBudget
- if vDisruptionBudget == nil {
- // note: explicitly not the empty object.
- vDisruptionBudget = &OSPolicyAssignmentRolloutDisruptionBudget{}
- }
- if err := extractOSPolicyAssignmentRolloutDisruptionBudgetFields(r, vDisruptionBudget); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vDisruptionBudget) {
- o.DisruptionBudget = vDisruptionBudget
- }
- return nil
-}
-func extractOSPolicyAssignmentRolloutDisruptionBudgetFields(r *OSPolicyAssignment, o *OSPolicyAssignmentRolloutDisruptionBudget) error {
- return nil
-}
-
-func postReadExtractOSPolicyAssignmentFields(r *OSPolicyAssignment) error {
- vInstanceFilter := r.InstanceFilter
- if vInstanceFilter == nil {
- // note: explicitly not the empty object.
- vInstanceFilter = &OSPolicyAssignmentInstanceFilter{}
- }
- if err := postReadExtractOSPolicyAssignmentInstanceFilterFields(r, vInstanceFilter); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vInstanceFilter) {
- r.InstanceFilter = vInstanceFilter
- }
- vRollout := r.Rollout
- if vRollout == nil {
- // note: explicitly not the empty object.
- vRollout = &OSPolicyAssignmentRollout{}
- }
- if err := postReadExtractOSPolicyAssignmentRolloutFields(r, vRollout); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vRollout) {
- r.Rollout = vRollout
- }
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPolicies) error {
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroups) error {
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsInventoryFiltersFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters) error {
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResources) error {
- vPkg := o.Pkg
- if vPkg == nil {
- // note: explicitly not the empty object.
- vPkg = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgFields(r, vPkg); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vPkg) {
- o.Pkg = vPkg
- }
- vRepository := o.Repository
- if vRepository == nil {
- // note: explicitly not the empty object.
- vRepository = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryFields(r, vRepository); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vRepository) {
- o.Repository = vRepository
- }
- vExec := o.Exec
- if vExec == nil {
- // note: explicitly not the empty object.
- vExec = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecFields(r, vExec); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vExec) {
- o.Exec = vExec
- }
- vFile := o.File
- if vFile == nil {
- // note: explicitly not the empty object.
- vFile = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFields(r, vFile); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vFile) {
- o.File = vFile
- }
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg) error {
- vApt := o.Apt
- if vApt == nil {
- // note: explicitly not the empty object.
- vApt = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgAptFields(r, vApt); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vApt) {
- o.Apt = vApt
- }
- vDeb := o.Deb
- if vDeb == nil {
- // note: explicitly not the empty object.
- vDeb = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebFields(r, vDeb); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vDeb) {
- o.Deb = vDeb
- }
- vYum := o.Yum
- if vYum == nil {
- // note: explicitly not the empty object.
- vYum = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYumFields(r, vYum); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vYum) {
- o.Yum = vYum
- }
- vZypper := o.Zypper
- if vZypper == nil {
- // note: explicitly not the empty object.
- vZypper = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypperFields(r, vZypper); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vZypper) {
- o.Zypper = vZypper
- }
- vRpm := o.Rpm
- if vRpm == nil {
- // note: explicitly not the empty object.
- vRpm = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmFields(r, vRpm); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vRpm) {
- o.Rpm = vRpm
- }
- vGooget := o.Googet
- if vGooget == nil {
- // note: explicitly not the empty object.
- vGooget = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGoogetFields(r, vGooget); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGooget) {
- o.Googet = vGooget
- }
- vMsi := o.Msi
- if vMsi == nil {
- // note: explicitly not the empty object.
- vMsi = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiFields(r, vMsi); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vMsi) {
- o.Msi = vMsi
- }
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgAptFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt) error {
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb) error {
- vSource := o.Source
- if vSource == nil {
- // note: explicitly not the empty object.
- vSource = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceFields(r, vSource); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSource) {
- o.Source = vSource
- }
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource) error {
- vRemote := o.Remote
- if vRemote == nil {
- // note: explicitly not the empty object.
- vRemote = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemoteFields(r, vRemote); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vRemote) {
- o.Remote = vRemote
- }
- vGcs := o.Gcs
- if vGcs == nil {
- // note: explicitly not the empty object.
- vGcs = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcsFields(r, vGcs); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGcs) {
- o.Gcs = vGcs
- }
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemoteFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote) error {
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcsFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs) error {
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYumFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum) error {
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypperFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper) error {
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm) error {
- vSource := o.Source
- if vSource == nil {
- // note: explicitly not the empty object.
- vSource = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceFields(r, vSource); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSource) {
- o.Source = vSource
- }
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource) error {
- vRemote := o.Remote
- if vRemote == nil {
- // note: explicitly not the empty object.
- vRemote = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemoteFields(r, vRemote); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vRemote) {
- o.Remote = vRemote
- }
- vGcs := o.Gcs
- if vGcs == nil {
- // note: explicitly not the empty object.
- vGcs = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcsFields(r, vGcs); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGcs) {
- o.Gcs = vGcs
- }
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemoteFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote) error {
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcsFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs) error {
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGoogetFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget) error {
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi) error {
- vSource := o.Source
- if vSource == nil {
- // note: explicitly not the empty object.
- vSource = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceFields(r, vSource); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vSource) {
- o.Source = vSource
- }
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource) error {
- vRemote := o.Remote
- if vRemote == nil {
- // note: explicitly not the empty object.
- vRemote = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemoteFields(r, vRemote); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vRemote) {
- o.Remote = vRemote
- }
- vGcs := o.Gcs
- if vGcs == nil {
- // note: explicitly not the empty object.
- vGcs = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcsFields(r, vGcs); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGcs) {
- o.Gcs = vGcs
- }
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemoteFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote) error {
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcsFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs) error {
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository) error {
- vApt := o.Apt
- if vApt == nil {
- // note: explicitly not the empty object.
- vApt = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptFields(r, vApt); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vApt) {
- o.Apt = vApt
- }
- vYum := o.Yum
- if vYum == nil {
- // note: explicitly not the empty object.
- vYum = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYumFields(r, vYum); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vYum) {
- o.Yum = vYum
- }
- vZypper := o.Zypper
- if vZypper == nil {
- // note: explicitly not the empty object.
- vZypper = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypperFields(r, vZypper); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vZypper) {
- o.Zypper = vZypper
- }
- vGoo := o.Goo
- if vGoo == nil {
- // note: explicitly not the empty object.
- vGoo = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGooFields(r, vGoo); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGoo) {
- o.Goo = vGoo
- }
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt) error {
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYumFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum) error {
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypperFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper) error {
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGooFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo) error {
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec) error {
- vValidate := o.Validate
- if vValidate == nil {
- // note: explicitly not the empty object.
- vValidate = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFields(r, vValidate); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vValidate) {
- o.Validate = vValidate
- }
- vEnforce := o.Enforce
- if vEnforce == nil {
- // note: explicitly not the empty object.
- vEnforce = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFields(r, vEnforce); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vEnforce) {
- o.Enforce = vEnforce
- }
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate) error {
- vFile := o.File
- if vFile == nil {
- // note: explicitly not the empty object.
- vFile = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileFields(r, vFile); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vFile) {
- o.File = vFile
- }
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile) error {
- vRemote := o.Remote
- if vRemote == nil {
- // note: explicitly not the empty object.
- vRemote = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemoteFields(r, vRemote); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vRemote) {
- o.Remote = vRemote
- }
- vGcs := o.Gcs
- if vGcs == nil {
- // note: explicitly not the empty object.
- vGcs = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcsFields(r, vGcs); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGcs) {
- o.Gcs = vGcs
- }
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemoteFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote) error {
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcsFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs) error {
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce) error {
- vFile := o.File
- if vFile == nil {
- // note: explicitly not the empty object.
- vFile = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileFields(r, vFile); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vFile) {
- o.File = vFile
- }
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile) error {
- vRemote := o.Remote
- if vRemote == nil {
- // note: explicitly not the empty object.
- vRemote = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemoteFields(r, vRemote); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vRemote) {
- o.Remote = vRemote
- }
- vGcs := o.Gcs
- if vGcs == nil {
- // note: explicitly not the empty object.
- vGcs = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcsFields(r, vGcs); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGcs) {
- o.Gcs = vGcs
- }
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemoteFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote) error {
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcsFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs) error {
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile) error {
- vFile := o.File
- if vFile == nil {
- // note: explicitly not the empty object.
- vFile = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileFields(r, vFile); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vFile) {
- o.File = vFile
- }
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile) error {
- vRemote := o.Remote
- if vRemote == nil {
- // note: explicitly not the empty object.
- vRemote = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemoteFields(r, vRemote); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vRemote) {
- o.Remote = vRemote
- }
- vGcs := o.Gcs
- if vGcs == nil {
- // note: explicitly not the empty object.
- vGcs = &OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs{}
- }
- if err := extractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcsFields(r, vGcs); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vGcs) {
- o.Gcs = vGcs
- }
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemoteFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote) error {
- return nil
-}
-func postReadExtractOSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcsFields(r *OSPolicyAssignment, o *OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs) error {
- return nil
-}
-func postReadExtractOSPolicyAssignmentInstanceFilterFields(r *OSPolicyAssignment, o *OSPolicyAssignmentInstanceFilter) error {
- return nil
-}
-func postReadExtractOSPolicyAssignmentInstanceFilterInclusionLabelsFields(r *OSPolicyAssignment, o *OSPolicyAssignmentInstanceFilterInclusionLabels) error {
- return nil
-}
-func postReadExtractOSPolicyAssignmentInstanceFilterExclusionLabelsFields(r *OSPolicyAssignment, o *OSPolicyAssignmentInstanceFilterExclusionLabels) error {
- return nil
-}
-func postReadExtractOSPolicyAssignmentInstanceFilterInventoriesFields(r *OSPolicyAssignment, o *OSPolicyAssignmentInstanceFilterInventories) error {
- return nil
-}
-func postReadExtractOSPolicyAssignmentRolloutFields(r *OSPolicyAssignment, o *OSPolicyAssignmentRollout) error {
- vDisruptionBudget := o.DisruptionBudget
- if vDisruptionBudget == nil {
- // note: explicitly not the empty object.
- vDisruptionBudget = &OSPolicyAssignmentRolloutDisruptionBudget{}
- }
- if err := extractOSPolicyAssignmentRolloutDisruptionBudgetFields(r, vDisruptionBudget); err != nil {
- return err
- }
- if !dcl.IsEmptyValueIndirect(vDisruptionBudget) {
- o.DisruptionBudget = vDisruptionBudget
- }
- return nil
-}
-func postReadExtractOSPolicyAssignmentRolloutDisruptionBudgetFields(r *OSPolicyAssignment, o *OSPolicyAssignmentRolloutDisruptionBudget) error {
- return nil
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/osconfig/os_policy_assignment_schema.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/osconfig/os_policy_assignment_schema.go
deleted file mode 100644
index 91b794a125..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/osconfig/os_policy_assignment_schema.go
+++ /dev/null
@@ -1,1484 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 osconfig
-
-import (
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
-)
-
-func DCLOSPolicyAssignmentSchema() *dcl.Schema {
- return &dcl.Schema{
- Info: &dcl.Info{
- Title: "OSConfig/OSPolicyAssignment",
- Description: "Represents an OSPolicyAssignment resource.",
- StructName: "OSPolicyAssignment",
- Reference: &dcl.Link{
- Text: "API documentation",
- URL: "https://cloud.google.com/compute/docs/osconfig/rest/v1/projects.locations.osPolicyAssignments",
- },
- },
- Paths: &dcl.Paths{
- Get: &dcl.Path{
- Description: "The function used to get information about a OSPolicyAssignment",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "oSPolicyAssignment",
- Required: true,
- Description: "A full instance of a OSPolicyAssignment",
- },
- },
- },
- Apply: &dcl.Path{
- Description: "The function used to apply information about a OSPolicyAssignment",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "oSPolicyAssignment",
- Required: true,
- Description: "A full instance of a OSPolicyAssignment",
- },
- },
- },
- Delete: &dcl.Path{
- Description: "The function used to delete a OSPolicyAssignment",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "oSPolicyAssignment",
- Required: true,
- Description: "A full instance of a OSPolicyAssignment",
- },
- },
- },
- DeleteAll: &dcl.Path{
- Description: "The function used to delete all OSPolicyAssignment",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "project",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- dcl.PathParameters{
- Name: "location",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- },
- },
- List: &dcl.Path{
- Description: "The function used to list information about many OSPolicyAssignment",
- Parameters: []dcl.PathParameters{
- dcl.PathParameters{
- Name: "project",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- dcl.PathParameters{
- Name: "location",
- Required: true,
- Schema: &dcl.PathParametersSchema{
- Type: "string",
- },
- },
- },
- },
- },
- Components: &dcl.Components{
- Schemas: map[string]*dcl.Component{
- "OSPolicyAssignment": &dcl.Component{
- Title: "OSPolicyAssignment",
- ID: "projects/{{project}}/locations/{{location}}/osPolicyAssignments/{{name}}",
- UsesStateHint: true,
- ParentContainer: "project",
- HasCreate: true,
- SchemaProperty: dcl.Property{
- Type: "object",
- Required: []string{
- "name",
- "osPolicies",
- "instanceFilter",
- "rollout",
- "project",
- "location",
- },
- Properties: map[string]*dcl.Property{
- "baseline": &dcl.Property{
- Type: "boolean",
- GoName: "Baseline",
- ReadOnly: true,
- Description: "Output only. Indicates that this revision has been successfully rolled out in this zone and new VMs will be assigned OS policies from this revision. For a given OS policy assignment, there is only one revision with a value of `true` for this field.",
- Immutable: true,
- },
- "deleted": &dcl.Property{
- Type: "boolean",
- GoName: "Deleted",
- ReadOnly: true,
- Description: "Output only. Indicates that this revision deletes the OS policy assignment.",
- Immutable: true,
- },
- "description": &dcl.Property{
- Type: "string",
- GoName: "Description",
- Description: "OS policy assignment description. Length of the description is limited to 1024 characters.",
- },
- "etag": &dcl.Property{
- Type: "string",
- GoName: "Etag",
- ReadOnly: true,
- Description: "The etag for this OS policy assignment. If this is provided on update, it must match the server's etag.",
- Immutable: true,
- },
- "instanceFilter": &dcl.Property{
- Type: "object",
- GoName: "InstanceFilter",
- GoType: "OSPolicyAssignmentInstanceFilter",
- Description: "Required. Filter to select VMs.",
- Properties: map[string]*dcl.Property{
- "all": &dcl.Property{
- Type: "boolean",
- GoName: "All",
- Description: "Target all VMs in the project. If true, no other criteria is permitted.",
- SendEmpty: true,
- },
- "exclusionLabels": &dcl.Property{
- Type: "array",
- GoName: "ExclusionLabels",
- Description: "List of label sets used for VM exclusion. If the list has more than one label set, the VM is excluded if any of the label sets are applicable for the VM.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "object",
- GoType: "OSPolicyAssignmentInstanceFilterExclusionLabels",
- Properties: map[string]*dcl.Property{
- "labels": &dcl.Property{
- Type: "object",
- AdditionalProperties: &dcl.Property{
- Type: "string",
- },
- GoName: "Labels",
- Description: "Labels are identified by key/value pairs in this map. A VM should contain all the key/value pairs specified in this map to be selected.",
- },
- },
- },
- },
- "inclusionLabels": &dcl.Property{
- Type: "array",
- GoName: "InclusionLabels",
- Description: "List of label sets used for VM inclusion. If the list has more than one `LabelSet`, the VM is included if any of the label sets are applicable for the VM.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "object",
- GoType: "OSPolicyAssignmentInstanceFilterInclusionLabels",
- Properties: map[string]*dcl.Property{
- "labels": &dcl.Property{
- Type: "object",
- AdditionalProperties: &dcl.Property{
- Type: "string",
- },
- GoName: "Labels",
- Description: "Labels are identified by key/value pairs in this map. A VM should contain all the key/value pairs specified in this map to be selected.",
- },
- },
- },
- },
- "inventories": &dcl.Property{
- Type: "array",
- GoName: "Inventories",
- Description: "List of inventories to select VMs. A VM is selected if its inventory data matches at least one of the following inventories.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "object",
- GoType: "OSPolicyAssignmentInstanceFilterInventories",
- Required: []string{
- "osShortName",
- },
- Properties: map[string]*dcl.Property{
- "osShortName": &dcl.Property{
- Type: "string",
- GoName: "OSShortName",
- Description: "Required. The OS short name",
- },
- "osVersion": &dcl.Property{
- Type: "string",
- GoName: "OSVersion",
- Description: "The OS version Prefix matches are supported if asterisk(*) is provided as the last character. For example, to match all versions with a major version of `7`, specify the following value for this field `7.*` An empty string matches all OS versions.",
- },
- },
- },
- },
- },
- },
- "location": &dcl.Property{
- Type: "string",
- GoName: "Location",
- Description: "The location for the resource",
- Immutable: true,
- },
- "name": &dcl.Property{
- Type: "string",
- GoName: "Name",
- Description: "Resource name.",
- Immutable: true,
- },
- "osPolicies": &dcl.Property{
- Type: "array",
- GoName: "OSPolicies",
- Description: "Required. List of OS policies to be applied to the VMs.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "object",
- GoType: "OSPolicyAssignmentOSPolicies",
- Required: []string{
- "id",
- "mode",
- "resourceGroups",
- },
- Properties: map[string]*dcl.Property{
- "allowNoResourceGroupMatch": &dcl.Property{
- Type: "boolean",
- GoName: "AllowNoResourceGroupMatch",
- Description: "This flag determines the OS policy compliance status when none of the resource groups within the policy are applicable for a VM. Set this value to `true` if the policy needs to be reported as compliant even if the policy has nothing to validate or enforce.",
- },
- "description": &dcl.Property{
- Type: "string",
- GoName: "Description",
- Description: "Policy description. Length of the description is limited to 1024 characters.",
- },
- "id": &dcl.Property{
- Type: "string",
- GoName: "Id",
- Description: "Required. The id of the OS policy with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the assignment.",
- },
- "mode": &dcl.Property{
- Type: "string",
- GoName: "Mode",
- GoType: "OSPolicyAssignmentOSPoliciesModeEnum",
- Description: "Required. Policy mode Possible values: MODE_UNSPECIFIED, VALIDATION, ENFORCEMENT",
- Enum: []string{
- "MODE_UNSPECIFIED",
- "VALIDATION",
- "ENFORCEMENT",
- },
- },
- "resourceGroups": &dcl.Property{
- Type: "array",
- GoName: "ResourceGroups",
- Description: "Required. List of resource groups for the policy. For a particular VM, resource groups are evaluated in the order specified and the first resource group that is applicable is selected and the rest are ignored. If none of the resource groups are applicable for a VM, the VM is considered to be non-compliant w.r.t this policy. This behavior can be toggled by the flag `allow_no_resource_group_match`",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "object",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroups",
- Required: []string{
- "resources",
- },
- Properties: map[string]*dcl.Property{
- "inventoryFilters": &dcl.Property{
- Type: "array",
- GoName: "InventoryFilters",
- Description: "List of inventory filters for the resource group. The resources in this resource group are applied to the target VM if it satisfies at least one of the following inventory filters. For example, to apply this resource group to VMs running either `RHEL` or `CentOS` operating systems, specify 2 items for the list with following values: inventory_filters[0].os_short_name='rhel' and inventory_filters[1].os_short_name='centos' If the list is empty, this resource group will be applied to the target VM unconditionally.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "object",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters",
- Required: []string{
- "osShortName",
- },
- Properties: map[string]*dcl.Property{
- "osShortName": &dcl.Property{
- Type: "string",
- GoName: "OSShortName",
- Description: "Required. The OS short name",
- },
- "osVersion": &dcl.Property{
- Type: "string",
- GoName: "OSVersion",
- Description: "The OS version Prefix matches are supported if asterisk(*) is provided as the last character. For example, to match all versions with a major version of `7`, specify the following value for this field `7.*` An empty string matches all OS versions.",
- },
- },
- },
- },
- "resources": &dcl.Property{
- Type: "array",
- GoName: "Resources",
- Description: "Required. List of resources configured for this resource group. The resources are executed in the exact order specified here.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "object",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResources",
- Required: []string{
- "id",
- },
- Properties: map[string]*dcl.Property{
- "exec": &dcl.Property{
- Type: "object",
- GoName: "Exec",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec",
- Description: "Exec resource",
- Conflicts: []string{
- "pkg",
- "repository",
- "file",
- },
- Required: []string{
- "validate",
- },
- Properties: map[string]*dcl.Property{
- "enforce": &dcl.Property{
- Type: "object",
- GoName: "Enforce",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce",
- Description: "What to run to bring this resource into the desired state. An exit code of 100 indicates \"success\", any other exit code indicates a failure running enforce.",
- Required: []string{
- "interpreter",
- },
- Properties: map[string]*dcl.Property{
- "args": &dcl.Property{
- Type: "array",
- GoName: "Args",
- Description: "Optional arguments to pass to the source during execution.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "file": &dcl.Property{
- Type: "object",
- GoName: "File",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile",
- Description: "A remote or local file.",
- Conflicts: []string{
- "script",
- },
- Properties: map[string]*dcl.Property{
- "allowInsecure": &dcl.Property{
- Type: "boolean",
- GoName: "AllowInsecure",
- Description: "Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.",
- },
- "gcs": &dcl.Property{
- Type: "object",
- GoName: "Gcs",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs",
- Description: "A Cloud Storage object.",
- Conflicts: []string{
- "remote",
- "localPath",
- },
- Required: []string{
- "bucket",
- "object",
- },
- Properties: map[string]*dcl.Property{
- "bucket": &dcl.Property{
- Type: "string",
- GoName: "Bucket",
- Description: "Required. Bucket of the Cloud Storage object.",
- },
- "generation": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "Generation",
- Description: "Generation number of the Cloud Storage object.",
- },
- "object": &dcl.Property{
- Type: "string",
- GoName: "Object",
- Description: "Required. Name of the Cloud Storage object.",
- },
- },
- },
- "localPath": &dcl.Property{
- Type: "string",
- GoName: "LocalPath",
- Description: "A local path within the VM to use.",
- Conflicts: []string{
- "remote",
- "gcs",
- },
- },
- "remote": &dcl.Property{
- Type: "object",
- GoName: "Remote",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote",
- Description: "A generic remote file.",
- Conflicts: []string{
- "gcs",
- "localPath",
- },
- Required: []string{
- "uri",
- },
- Properties: map[string]*dcl.Property{
- "sha256Checksum": &dcl.Property{
- Type: "string",
- GoName: "Sha256Checksum",
- Description: "SHA256 checksum of the remote file.",
- },
- "uri": &dcl.Property{
- Type: "string",
- GoName: "Uri",
- Description: "Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.",
- },
- },
- },
- },
- },
- "interpreter": &dcl.Property{
- Type: "string",
- GoName: "Interpreter",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnum",
- Description: "Required. The script interpreter to use. Possible values: INTERPRETER_UNSPECIFIED, NONE, SHELL, POWERSHELL",
- Enum: []string{
- "INTERPRETER_UNSPECIFIED",
- "NONE",
- "SHELL",
- "POWERSHELL",
- },
- },
- "outputFilePath": &dcl.Property{
- Type: "string",
- GoName: "OutputFilePath",
- Description: "Only recorded for enforce Exec. Path to an output file (that is created by this Exec) whose content will be recorded in OSPolicyResourceCompliance after a successful run. Absence or failure to read this file will result in this ExecResource being non-compliant. Output file size is limited to 100K bytes.",
- },
- "script": &dcl.Property{
- Type: "string",
- GoName: "Script",
- Description: "An inline script. The size of the script is limited to 1024 characters.",
- Conflicts: []string{
- "file",
- },
- },
- },
- },
- "validate": &dcl.Property{
- Type: "object",
- GoName: "Validate",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate",
- Description: "Required. What to run to validate this resource is in the desired state. An exit code of 100 indicates \"in desired state\", and exit code of 101 indicates \"not in desired state\". Any other exit code indicates a failure running validate.",
- Required: []string{
- "interpreter",
- },
- Properties: map[string]*dcl.Property{
- "args": &dcl.Property{
- Type: "array",
- GoName: "Args",
- Description: "Optional arguments to pass to the source during execution.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "file": &dcl.Property{
- Type: "object",
- GoName: "File",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile",
- Description: "A remote or local file.",
- Conflicts: []string{
- "script",
- },
- Properties: map[string]*dcl.Property{
- "allowInsecure": &dcl.Property{
- Type: "boolean",
- GoName: "AllowInsecure",
- Description: "Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.",
- },
- "gcs": &dcl.Property{
- Type: "object",
- GoName: "Gcs",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs",
- Description: "A Cloud Storage object.",
- Conflicts: []string{
- "remote",
- "localPath",
- },
- Required: []string{
- "bucket",
- "object",
- },
- Properties: map[string]*dcl.Property{
- "bucket": &dcl.Property{
- Type: "string",
- GoName: "Bucket",
- Description: "Required. Bucket of the Cloud Storage object.",
- },
- "generation": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "Generation",
- Description: "Generation number of the Cloud Storage object.",
- },
- "object": &dcl.Property{
- Type: "string",
- GoName: "Object",
- Description: "Required. Name of the Cloud Storage object.",
- },
- },
- },
- "localPath": &dcl.Property{
- Type: "string",
- GoName: "LocalPath",
- Description: "A local path within the VM to use.",
- Conflicts: []string{
- "remote",
- "gcs",
- },
- },
- "remote": &dcl.Property{
- Type: "object",
- GoName: "Remote",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote",
- Description: "A generic remote file.",
- Conflicts: []string{
- "gcs",
- "localPath",
- },
- Required: []string{
- "uri",
- },
- Properties: map[string]*dcl.Property{
- "sha256Checksum": &dcl.Property{
- Type: "string",
- GoName: "Sha256Checksum",
- Description: "SHA256 checksum of the remote file.",
- },
- "uri": &dcl.Property{
- Type: "string",
- GoName: "Uri",
- Description: "Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.",
- },
- },
- },
- },
- },
- "interpreter": &dcl.Property{
- Type: "string",
- GoName: "Interpreter",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnum",
- Description: "Required. The script interpreter to use. Possible values: INTERPRETER_UNSPECIFIED, NONE, SHELL, POWERSHELL",
- Enum: []string{
- "INTERPRETER_UNSPECIFIED",
- "NONE",
- "SHELL",
- "POWERSHELL",
- },
- },
- "outputFilePath": &dcl.Property{
- Type: "string",
- GoName: "OutputFilePath",
- Description: "Only recorded for enforce Exec. Path to an output file (that is created by this Exec) whose content will be recorded in OSPolicyResourceCompliance after a successful run. Absence or failure to read this file will result in this ExecResource being non-compliant. Output file size is limited to 100K bytes.",
- },
- "script": &dcl.Property{
- Type: "string",
- GoName: "Script",
- Description: "An inline script. The size of the script is limited to 1024 characters.",
- Conflicts: []string{
- "file",
- },
- },
- },
- },
- },
- },
- "file": &dcl.Property{
- Type: "object",
- GoName: "File",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile",
- Description: "File resource",
- Conflicts: []string{
- "pkg",
- "repository",
- "exec",
- },
- Required: []string{
- "path",
- "state",
- },
- Properties: map[string]*dcl.Property{
- "content": &dcl.Property{
- Type: "string",
- GoName: "Content",
- Description: "A a file with this content. The size of the content is limited to 1024 characters.",
- Conflicts: []string{
- "file",
- },
- },
- "file": &dcl.Property{
- Type: "object",
- GoName: "File",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile",
- Description: "A remote or local source.",
- Conflicts: []string{
- "content",
- },
- Properties: map[string]*dcl.Property{
- "allowInsecure": &dcl.Property{
- Type: "boolean",
- GoName: "AllowInsecure",
- Description: "Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.",
- },
- "gcs": &dcl.Property{
- Type: "object",
- GoName: "Gcs",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs",
- Description: "A Cloud Storage object.",
- Conflicts: []string{
- "remote",
- "localPath",
- },
- Required: []string{
- "bucket",
- "object",
- },
- Properties: map[string]*dcl.Property{
- "bucket": &dcl.Property{
- Type: "string",
- GoName: "Bucket",
- Description: "Required. Bucket of the Cloud Storage object.",
- },
- "generation": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "Generation",
- Description: "Generation number of the Cloud Storage object.",
- },
- "object": &dcl.Property{
- Type: "string",
- GoName: "Object",
- Description: "Required. Name of the Cloud Storage object.",
- },
- },
- },
- "localPath": &dcl.Property{
- Type: "string",
- GoName: "LocalPath",
- Description: "A local path within the VM to use.",
- Conflicts: []string{
- "remote",
- "gcs",
- },
- },
- "remote": &dcl.Property{
- Type: "object",
- GoName: "Remote",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote",
- Description: "A generic remote file.",
- Conflicts: []string{
- "gcs",
- "localPath",
- },
- Required: []string{
- "uri",
- },
- Properties: map[string]*dcl.Property{
- "sha256Checksum": &dcl.Property{
- Type: "string",
- GoName: "Sha256Checksum",
- Description: "SHA256 checksum of the remote file.",
- },
- "uri": &dcl.Property{
- Type: "string",
- GoName: "Uri",
- Description: "Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.",
- },
- },
- },
- },
- },
- "path": &dcl.Property{
- Type: "string",
- GoName: "Path",
- Description: "Required. The absolute path of the file within the VM.",
- },
- "permissions": &dcl.Property{
- Type: "string",
- GoName: "Permissions",
- ReadOnly: true,
- Description: "Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4",
- },
- "state": &dcl.Property{
- Type: "string",
- GoName: "State",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnum",
- Description: "Required. Desired state of the file. Possible values: OS_POLICY_COMPLIANCE_STATE_UNSPECIFIED, COMPLIANT, NON_COMPLIANT, UNKNOWN, NO_OS_POLICIES_APPLICABLE",
- Enum: []string{
- "OS_POLICY_COMPLIANCE_STATE_UNSPECIFIED",
- "COMPLIANT",
- "NON_COMPLIANT",
- "UNKNOWN",
- "NO_OS_POLICIES_APPLICABLE",
- },
- },
- },
- },
- "id": &dcl.Property{
- Type: "string",
- GoName: "Id",
- Description: "Required. The id of the resource with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the OS policy.",
- },
- "pkg": &dcl.Property{
- Type: "object",
- GoName: "Pkg",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg",
- Description: "Package resource",
- Conflicts: []string{
- "repository",
- "exec",
- "file",
- },
- Required: []string{
- "desiredState",
- },
- Properties: map[string]*dcl.Property{
- "apt": &dcl.Property{
- Type: "object",
- GoName: "Apt",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt",
- Description: "A package managed by Apt.",
- Conflicts: []string{
- "deb",
- "yum",
- "zypper",
- "rpm",
- "googet",
- "msi",
- },
- Required: []string{
- "name",
- },
- Properties: map[string]*dcl.Property{
- "name": &dcl.Property{
- Type: "string",
- GoName: "Name",
- Description: "Required. Package name.",
- },
- },
- },
- "deb": &dcl.Property{
- Type: "object",
- GoName: "Deb",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb",
- Description: "A deb package file.",
- Conflicts: []string{
- "apt",
- "yum",
- "zypper",
- "rpm",
- "googet",
- "msi",
- },
- Required: []string{
- "source",
- },
- Properties: map[string]*dcl.Property{
- "pullDeps": &dcl.Property{
- Type: "boolean",
- GoName: "PullDeps",
- Description: "Whether dependencies should also be installed. - install when false: `dpkg -i package` - install when true: `apt-get update && apt-get -y install package.deb`",
- },
- "source": &dcl.Property{
- Type: "object",
- GoName: "Source",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource",
- Description: "Required. A deb package.",
- Properties: map[string]*dcl.Property{
- "allowInsecure": &dcl.Property{
- Type: "boolean",
- GoName: "AllowInsecure",
- Description: "Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.",
- },
- "gcs": &dcl.Property{
- Type: "object",
- GoName: "Gcs",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs",
- Description: "A Cloud Storage object.",
- Conflicts: []string{
- "remote",
- "localPath",
- },
- Required: []string{
- "bucket",
- "object",
- },
- Properties: map[string]*dcl.Property{
- "bucket": &dcl.Property{
- Type: "string",
- GoName: "Bucket",
- Description: "Required. Bucket of the Cloud Storage object.",
- },
- "generation": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "Generation",
- Description: "Generation number of the Cloud Storage object.",
- },
- "object": &dcl.Property{
- Type: "string",
- GoName: "Object",
- Description: "Required. Name of the Cloud Storage object.",
- },
- },
- },
- "localPath": &dcl.Property{
- Type: "string",
- GoName: "LocalPath",
- Description: "A local path within the VM to use.",
- Conflicts: []string{
- "remote",
- "gcs",
- },
- },
- "remote": &dcl.Property{
- Type: "object",
- GoName: "Remote",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote",
- Description: "A generic remote file.",
- Conflicts: []string{
- "gcs",
- "localPath",
- },
- Required: []string{
- "uri",
- },
- Properties: map[string]*dcl.Property{
- "sha256Checksum": &dcl.Property{
- Type: "string",
- GoName: "Sha256Checksum",
- Description: "SHA256 checksum of the remote file.",
- },
- "uri": &dcl.Property{
- Type: "string",
- GoName: "Uri",
- Description: "Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.",
- },
- },
- },
- },
- },
- },
- },
- "desiredState": &dcl.Property{
- Type: "string",
- GoName: "DesiredState",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnum",
- Description: "Required. The desired state the agent should maintain for this package. Possible values: DESIRED_STATE_UNSPECIFIED, INSTALLED, REMOVED",
- Enum: []string{
- "DESIRED_STATE_UNSPECIFIED",
- "INSTALLED",
- "REMOVED",
- },
- },
- "googet": &dcl.Property{
- Type: "object",
- GoName: "Googet",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget",
- Description: "A package managed by GooGet.",
- Conflicts: []string{
- "apt",
- "deb",
- "yum",
- "zypper",
- "rpm",
- "msi",
- },
- Required: []string{
- "name",
- },
- Properties: map[string]*dcl.Property{
- "name": &dcl.Property{
- Type: "string",
- GoName: "Name",
- Description: "Required. Package name.",
- },
- },
- },
- "msi": &dcl.Property{
- Type: "object",
- GoName: "Msi",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi",
- Description: "An MSI package.",
- Conflicts: []string{
- "apt",
- "deb",
- "yum",
- "zypper",
- "rpm",
- "googet",
- },
- Required: []string{
- "source",
- },
- Properties: map[string]*dcl.Property{
- "properties": &dcl.Property{
- Type: "array",
- GoName: "Properties",
- Description: "Additional properties to use during installation. This should be in the format of Property=Setting. Appended to the defaults of `ACTION=INSTALL REBOOT=ReallySuppress`.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "source": &dcl.Property{
- Type: "object",
- GoName: "Source",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource",
- Description: "Required. The MSI package.",
- Properties: map[string]*dcl.Property{
- "allowInsecure": &dcl.Property{
- Type: "boolean",
- GoName: "AllowInsecure",
- Description: "Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.",
- },
- "gcs": &dcl.Property{
- Type: "object",
- GoName: "Gcs",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs",
- Description: "A Cloud Storage object.",
- Conflicts: []string{
- "remote",
- "localPath",
- },
- Required: []string{
- "bucket",
- "object",
- },
- Properties: map[string]*dcl.Property{
- "bucket": &dcl.Property{
- Type: "string",
- GoName: "Bucket",
- Description: "Required. Bucket of the Cloud Storage object.",
- },
- "generation": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "Generation",
- Description: "Generation number of the Cloud Storage object.",
- },
- "object": &dcl.Property{
- Type: "string",
- GoName: "Object",
- Description: "Required. Name of the Cloud Storage object.",
- },
- },
- },
- "localPath": &dcl.Property{
- Type: "string",
- GoName: "LocalPath",
- Description: "A local path within the VM to use.",
- Conflicts: []string{
- "remote",
- "gcs",
- },
- },
- "remote": &dcl.Property{
- Type: "object",
- GoName: "Remote",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote",
- Description: "A generic remote file.",
- Conflicts: []string{
- "gcs",
- "localPath",
- },
- Required: []string{
- "uri",
- },
- Properties: map[string]*dcl.Property{
- "sha256Checksum": &dcl.Property{
- Type: "string",
- GoName: "Sha256Checksum",
- Description: "SHA256 checksum of the remote file.",
- },
- "uri": &dcl.Property{
- Type: "string",
- GoName: "Uri",
- Description: "Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.",
- },
- },
- },
- },
- },
- },
- },
- "rpm": &dcl.Property{
- Type: "object",
- GoName: "Rpm",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm",
- Description: "An rpm package file.",
- Conflicts: []string{
- "apt",
- "deb",
- "yum",
- "zypper",
- "googet",
- "msi",
- },
- Required: []string{
- "source",
- },
- Properties: map[string]*dcl.Property{
- "pullDeps": &dcl.Property{
- Type: "boolean",
- GoName: "PullDeps",
- Description: "Whether dependencies should also be installed. - install when false: `rpm --upgrade --replacepkgs package.rpm` - install when true: `yum -y install package.rpm` or `zypper -y install package.rpm`",
- },
- "source": &dcl.Property{
- Type: "object",
- GoName: "Source",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource",
- Description: "Required. An rpm package.",
- Properties: map[string]*dcl.Property{
- "allowInsecure": &dcl.Property{
- Type: "boolean",
- GoName: "AllowInsecure",
- Description: "Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.",
- },
- "gcs": &dcl.Property{
- Type: "object",
- GoName: "Gcs",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs",
- Description: "A Cloud Storage object.",
- Conflicts: []string{
- "remote",
- "localPath",
- },
- Required: []string{
- "bucket",
- "object",
- },
- Properties: map[string]*dcl.Property{
- "bucket": &dcl.Property{
- Type: "string",
- GoName: "Bucket",
- Description: "Required. Bucket of the Cloud Storage object.",
- },
- "generation": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "Generation",
- Description: "Generation number of the Cloud Storage object.",
- },
- "object": &dcl.Property{
- Type: "string",
- GoName: "Object",
- Description: "Required. Name of the Cloud Storage object.",
- },
- },
- },
- "localPath": &dcl.Property{
- Type: "string",
- GoName: "LocalPath",
- Description: "A local path within the VM to use.",
- Conflicts: []string{
- "remote",
- "gcs",
- },
- },
- "remote": &dcl.Property{
- Type: "object",
- GoName: "Remote",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote",
- Description: "A generic remote file.",
- Conflicts: []string{
- "gcs",
- "localPath",
- },
- Required: []string{
- "uri",
- },
- Properties: map[string]*dcl.Property{
- "sha256Checksum": &dcl.Property{
- Type: "string",
- GoName: "Sha256Checksum",
- Description: "SHA256 checksum of the remote file.",
- },
- "uri": &dcl.Property{
- Type: "string",
- GoName: "Uri",
- Description: "Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.",
- },
- },
- },
- },
- },
- },
- },
- "yum": &dcl.Property{
- Type: "object",
- GoName: "Yum",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum",
- Description: "A package managed by YUM.",
- Conflicts: []string{
- "apt",
- "deb",
- "zypper",
- "rpm",
- "googet",
- "msi",
- },
- Required: []string{
- "name",
- },
- Properties: map[string]*dcl.Property{
- "name": &dcl.Property{
- Type: "string",
- GoName: "Name",
- Description: "Required. Package name.",
- },
- },
- },
- "zypper": &dcl.Property{
- Type: "object",
- GoName: "Zypper",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper",
- Description: "A package managed by Zypper.",
- Conflicts: []string{
- "apt",
- "deb",
- "yum",
- "rpm",
- "googet",
- "msi",
- },
- Required: []string{
- "name",
- },
- Properties: map[string]*dcl.Property{
- "name": &dcl.Property{
- Type: "string",
- GoName: "Name",
- Description: "Required. Package name.",
- },
- },
- },
- },
- },
- "repository": &dcl.Property{
- Type: "object",
- GoName: "Repository",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository",
- Description: "Package repository resource",
- Conflicts: []string{
- "pkg",
- "exec",
- "file",
- },
- Properties: map[string]*dcl.Property{
- "apt": &dcl.Property{
- Type: "object",
- GoName: "Apt",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt",
- Description: "An Apt Repository.",
- Conflicts: []string{
- "yum",
- "zypper",
- "goo",
- },
- Required: []string{
- "archiveType",
- "uri",
- "distribution",
- "components",
- },
- Properties: map[string]*dcl.Property{
- "archiveType": &dcl.Property{
- Type: "string",
- GoName: "ArchiveType",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnum",
- Description: "Required. Type of archive files in this repository. Possible values: ARCHIVE_TYPE_UNSPECIFIED, DEB, DEB_SRC",
- Enum: []string{
- "ARCHIVE_TYPE_UNSPECIFIED",
- "DEB",
- "DEB_SRC",
- },
- },
- "components": &dcl.Property{
- Type: "array",
- GoName: "Components",
- Description: "Required. List of components for this repository. Must contain at least one item.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "distribution": &dcl.Property{
- Type: "string",
- GoName: "Distribution",
- Description: "Required. Distribution of this repository.",
- },
- "gpgKey": &dcl.Property{
- Type: "string",
- GoName: "GpgKey",
- Description: "URI of the key file for this repository. The agent maintains a keyring at `/etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg`.",
- },
- "uri": &dcl.Property{
- Type: "string",
- GoName: "Uri",
- Description: "Required. URI for this repository.",
- },
- },
- },
- "goo": &dcl.Property{
- Type: "object",
- GoName: "Goo",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo",
- Description: "A Goo Repository.",
- Conflicts: []string{
- "apt",
- "yum",
- "zypper",
- },
- Required: []string{
- "name",
- "url",
- },
- Properties: map[string]*dcl.Property{
- "name": &dcl.Property{
- Type: "string",
- GoName: "Name",
- Description: "Required. The name of the repository.",
- },
- "url": &dcl.Property{
- Type: "string",
- GoName: "Url",
- Description: "Required. The url of the repository.",
- },
- },
- },
- "yum": &dcl.Property{
- Type: "object",
- GoName: "Yum",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum",
- Description: "A Yum Repository.",
- Conflicts: []string{
- "apt",
- "zypper",
- "goo",
- },
- Required: []string{
- "id",
- "baseUrl",
- },
- Properties: map[string]*dcl.Property{
- "baseUrl": &dcl.Property{
- Type: "string",
- GoName: "BaseUrl",
- Description: "Required. The location of the repository directory.",
- },
- "displayName": &dcl.Property{
- Type: "string",
- GoName: "DisplayName",
- Description: "The display name of the repository.",
- },
- "gpgKeys": &dcl.Property{
- Type: "array",
- GoName: "GpgKeys",
- Description: "URIs of GPG keys.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "id": &dcl.Property{
- Type: "string",
- GoName: "Id",
- Description: "Required. A one word, unique name for this repository. This is the `repo id` in the yum config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for resource conflicts.",
- },
- },
- },
- "zypper": &dcl.Property{
- Type: "object",
- GoName: "Zypper",
- GoType: "OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper",
- Description: "A Zypper Repository.",
- Conflicts: []string{
- "apt",
- "yum",
- "goo",
- },
- Required: []string{
- "id",
- "baseUrl",
- },
- Properties: map[string]*dcl.Property{
- "baseUrl": &dcl.Property{
- Type: "string",
- GoName: "BaseUrl",
- Description: "Required. The location of the repository directory.",
- },
- "displayName": &dcl.Property{
- Type: "string",
- GoName: "DisplayName",
- Description: "The display name of the repository.",
- },
- "gpgKeys": &dcl.Property{
- Type: "array",
- GoName: "GpgKeys",
- Description: "URIs of GPG keys.",
- SendEmpty: true,
- ListType: "list",
- Items: &dcl.Property{
- Type: "string",
- GoType: "string",
- },
- },
- "id": &dcl.Property{
- Type: "string",
- GoName: "Id",
- Description: "Required. A one word, unique name for this repository. This is the `repo id` in the zypper config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for GuestPolicy conflicts.",
- },
- },
- },
- },
- },
- },
- },
- },
- },
- },
- },
- },
- },
- },
- "project": &dcl.Property{
- Type: "string",
- GoName: "Project",
- Description: "The project for the resource",
- Immutable: true,
- ResourceReferences: []*dcl.PropertyResourceReference{
- &dcl.PropertyResourceReference{
- Resource: "Cloudresourcemanager/Project",
- Field: "name",
- Parent: true,
- },
- },
- },
- "reconciling": &dcl.Property{
- Type: "boolean",
- GoName: "Reconciling",
- ReadOnly: true,
- Description: "Output only. Indicates that reconciliation is in progress for the revision. This value is `true` when the `rollout_state` is one of: * IN_PROGRESS * CANCELLING",
- Immutable: true,
- },
- "revisionCreateTime": &dcl.Property{
- Type: "string",
- Format: "date-time",
- GoName: "RevisionCreateTime",
- ReadOnly: true,
- Description: "Output only. The timestamp that the revision was created.",
- Immutable: true,
- },
- "revisionId": &dcl.Property{
- Type: "string",
- GoName: "RevisionId",
- ReadOnly: true,
- Description: "Output only. The assignment revision ID A new revision is committed whenever a rollout is triggered for a OS policy assignment",
- Immutable: true,
- },
- "rollout": &dcl.Property{
- Type: "object",
- GoName: "Rollout",
- GoType: "OSPolicyAssignmentRollout",
- Description: "Required. Rollout to deploy the OS policy assignment. A rollout is triggered in the following situations: 1) OSPolicyAssignment is created. 2) OSPolicyAssignment is updated and the update contains changes to one of the following fields: - instance_filter - os_policies 3) OSPolicyAssignment is deleted.",
- Required: []string{
- "disruptionBudget",
- "minWaitDuration",
- },
- Properties: map[string]*dcl.Property{
- "disruptionBudget": &dcl.Property{
- Type: "object",
- GoName: "DisruptionBudget",
- GoType: "OSPolicyAssignmentRolloutDisruptionBudget",
- Description: "Required. The maximum number (or percentage) of VMs per zone to disrupt at any given moment.",
- Properties: map[string]*dcl.Property{
- "fixed": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "Fixed",
- Description: "Specifies a fixed value.",
- Conflicts: []string{
- "percent",
- },
- },
- "percent": &dcl.Property{
- Type: "integer",
- Format: "int64",
- GoName: "Percent",
- Description: "Specifies the relative value defined as a percentage, which will be multiplied by a reference value.",
- Conflicts: []string{
- "fixed",
- },
- },
- },
- },
- "minWaitDuration": &dcl.Property{
- Type: "string",
- GoName: "MinWaitDuration",
- Description: "Required. This determines the minimum duration of time to wait after the configuration changes are applied through the current rollout. A VM continues to count towards the `disruption_budget` at least until this duration of time has passed after configuration changes are applied.",
- },
- },
- },
- "rolloutState": &dcl.Property{
- Type: "string",
- GoName: "RolloutState",
- GoType: "OSPolicyAssignmentRolloutStateEnum",
- ReadOnly: true,
- Description: "Output only. OS policy assignment rollout state Possible values: ROLLOUT_STATE_UNSPECIFIED, IN_PROGRESS, CANCELLING, CANCELLED, SUCCEEDED",
- Immutable: true,
- Enum: []string{
- "ROLLOUT_STATE_UNSPECIFIED",
- "IN_PROGRESS",
- "CANCELLING",
- "CANCELLED",
- "SUCCEEDED",
- },
- },
- "skipAwaitRollout": &dcl.Property{
- Type: "boolean",
- GoName: "SkipAwaitRollout",
- Description: "Set to true to skip awaiting rollout during resource creation and update.",
- Unreadable: true,
- },
- "uid": &dcl.Property{
- Type: "string",
- GoName: "Uid",
- ReadOnly: true,
- Description: "Output only. Server generated unique id for the OS policy assignment resource.",
- Immutable: true,
- },
- },
- },
- },
- },
- },
- }
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/osconfig/os_policy_assignment_yaml_embed.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/osconfig/os_policy_assignment_yaml_embed.go
deleted file mode 100644
index f552619936..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/osconfig/os_policy_assignment_yaml_embed.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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.
-// GENERATED BY gen_go_data.go
-// gen_go_data -package osconfig -var YAML_os_policy_assignment blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/osconfig/os_policy_assignment.yaml
-
-package osconfig
-
-// blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/osconfig/os_policy_assignment.yaml
-var YAML_os_policy_assignment = []byte("info:\n title: OSConfig/OSPolicyAssignment\n description: Represents an OSPolicyAssignment resource.\n x-dcl-struct-name: OSPolicyAssignment\n x-dcl-has-iam: false\n x-dcl-ref:\n text: API documentation\n url: https://cloud.google.com/compute/docs/osconfig/rest/v1/projects.locations.osPolicyAssignments\npaths:\n get:\n description: The function used to get information about a OSPolicyAssignment\n parameters:\n - name: oSPolicyAssignment\n required: true\n description: A full instance of a OSPolicyAssignment\n apply:\n description: The function used to apply information about a OSPolicyAssignment\n parameters:\n - name: oSPolicyAssignment\n required: true\n description: A full instance of a OSPolicyAssignment\n delete:\n description: The function used to delete a OSPolicyAssignment\n parameters:\n - name: oSPolicyAssignment\n required: true\n description: A full instance of a OSPolicyAssignment\n deleteAll:\n description: The function used to delete all OSPolicyAssignment\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many OSPolicyAssignment\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n OSPolicyAssignment:\n title: OSPolicyAssignment\n x-dcl-id: projects/{{project}}/locations/{{location}}/osPolicyAssignments/{{name}}\n x-dcl-uses-state-hint: true\n x-dcl-parent-container: project\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - osPolicies\n - instanceFilter\n - rollout\n - project\n - location\n properties:\n baseline:\n type: boolean\n x-dcl-go-name: Baseline\n readOnly: true\n description: Output only. Indicates that this revision has been successfully\n rolled out in this zone and new VMs will be assigned OS policies from\n this revision. For a given OS policy assignment, there is only one revision\n with a value of `true` for this field.\n x-kubernetes-immutable: true\n deleted:\n type: boolean\n x-dcl-go-name: Deleted\n readOnly: true\n description: Output only. Indicates that this revision deletes the OS policy\n assignment.\n x-kubernetes-immutable: true\n description:\n type: string\n x-dcl-go-name: Description\n description: OS policy assignment description. Length of the description\n is limited to 1024 characters.\n etag:\n type: string\n x-dcl-go-name: Etag\n readOnly: true\n description: The etag for this OS policy assignment. If this is provided\n on update, it must match the server's etag.\n x-kubernetes-immutable: true\n instanceFilter:\n type: object\n x-dcl-go-name: InstanceFilter\n x-dcl-go-type: OSPolicyAssignmentInstanceFilter\n description: Required. Filter to select VMs.\n properties:\n all:\n type: boolean\n x-dcl-go-name: All\n description: Target all VMs in the project. If true, no other criteria\n is permitted.\n x-dcl-send-empty: true\n exclusionLabels:\n type: array\n x-dcl-go-name: ExclusionLabels\n description: List of label sets used for VM exclusion. If the list has\n more than one label set, the VM is excluded if any of the label sets\n are applicable for the VM.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: OSPolicyAssignmentInstanceFilterExclusionLabels\n properties:\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: Labels are identified by key/value pairs in this\n map. A VM should contain all the key/value pairs specified in\n this map to be selected.\n inclusionLabels:\n type: array\n x-dcl-go-name: InclusionLabels\n description: List of label sets used for VM inclusion. If the list has\n more than one `LabelSet`, the VM is included if any of the label sets\n are applicable for the VM.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: OSPolicyAssignmentInstanceFilterInclusionLabels\n properties:\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: Labels are identified by key/value pairs in this\n map. A VM should contain all the key/value pairs specified in\n this map to be selected.\n inventories:\n type: array\n x-dcl-go-name: Inventories\n description: List of inventories to select VMs. A VM is selected if\n its inventory data matches at least one of the following inventories.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: OSPolicyAssignmentInstanceFilterInventories\n required:\n - osShortName\n properties:\n osShortName:\n type: string\n x-dcl-go-name: OSShortName\n description: Required. The OS short name\n osVersion:\n type: string\n x-dcl-go-name: OSVersion\n description: The OS version Prefix matches are supported if asterisk(*)\n is provided as the last character. For example, to match all\n versions with a major version of `7`, specify the following\n value for this field `7.*` An empty string matches all OS versions.\n location:\n type: string\n x-dcl-go-name: Location\n description: The location for the resource\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: Resource name.\n x-kubernetes-immutable: true\n osPolicies:\n type: array\n x-dcl-go-name: OSPolicies\n description: Required. List of OS policies to be applied to the VMs.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: OSPolicyAssignmentOSPolicies\n required:\n - id\n - mode\n - resourceGroups\n properties:\n allowNoResourceGroupMatch:\n type: boolean\n x-dcl-go-name: AllowNoResourceGroupMatch\n description: This flag determines the OS policy compliance status\n when none of the resource groups within the policy are applicable\n for a VM. Set this value to `true` if the policy needs to be reported\n as compliant even if the policy has nothing to validate or enforce.\n description:\n type: string\n x-dcl-go-name: Description\n description: Policy description. Length of the description is limited\n to 1024 characters.\n id:\n type: string\n x-dcl-go-name: Id\n description: 'Required. The id of the OS policy with the following\n restrictions: * Must contain only lowercase letters, numbers, and\n hyphens. * Must start with a letter. * Must be between 1-63 characters.\n * Must end with a number or a letter. * Must be unique within the\n assignment.'\n mode:\n type: string\n x-dcl-go-name: Mode\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesModeEnum\n description: 'Required. Policy mode Possible values: MODE_UNSPECIFIED,\n VALIDATION, ENFORCEMENT'\n enum:\n - MODE_UNSPECIFIED\n - VALIDATION\n - ENFORCEMENT\n resourceGroups:\n type: array\n x-dcl-go-name: ResourceGroups\n description: Required. List of resource groups for the policy. For\n a particular VM, resource groups are evaluated in the order specified\n and the first resource group that is applicable is selected and\n the rest are ignored. If none of the resource groups are applicable\n for a VM, the VM is considered to be non-compliant w.r.t this policy.\n This behavior can be toggled by the flag `allow_no_resource_group_match`\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroups\n required:\n - resources\n properties:\n inventoryFilters:\n type: array\n x-dcl-go-name: InventoryFilters\n description: 'List of inventory filters for the resource group.\n The resources in this resource group are applied to the target\n VM if it satisfies at least one of the following inventory\n filters. For example, to apply this resource group to VMs\n running either `RHEL` or `CentOS` operating systems, specify\n 2 items for the list with following values: inventory_filters[0].os_short_name=''rhel''\n and inventory_filters[1].os_short_name=''centos'' If the list\n is empty, this resource group will be applied to the target\n VM unconditionally.'\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsInventoryFilters\n required:\n - osShortName\n properties:\n osShortName:\n type: string\n x-dcl-go-name: OSShortName\n description: Required. The OS short name\n osVersion:\n type: string\n x-dcl-go-name: OSVersion\n description: The OS version Prefix matches are supported\n if asterisk(*) is provided as the last character. For\n example, to match all versions with a major version\n of `7`, specify the following value for this field `7.*`\n An empty string matches all OS versions.\n resources:\n type: array\n x-dcl-go-name: Resources\n description: Required. List of resources configured for this\n resource group. The resources are executed in the exact order\n specified here.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResources\n required:\n - id\n properties:\n exec:\n type: object\n x-dcl-go-name: Exec\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExec\n description: Exec resource\n x-dcl-conflicts:\n - pkg\n - repository\n - file\n required:\n - validate\n properties:\n enforce:\n type: object\n x-dcl-go-name: Enforce\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforce\n description: What to run to bring this resource into\n the desired state. An exit code of 100 indicates\n \"success\", any other exit code indicates a failure\n running enforce.\n required:\n - interpreter\n properties:\n args:\n type: array\n x-dcl-go-name: Args\n description: Optional arguments to pass to the\n source during execution.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n file:\n type: object\n x-dcl-go-name: File\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFile\n description: A remote or local file.\n x-dcl-conflicts:\n - script\n properties:\n allowInsecure:\n type: boolean\n x-dcl-go-name: AllowInsecure\n description: 'Defaults to false. When false,\n files are subject to validations based on\n the file type: Remote: A checksum must be\n specified. Cloud Storage: An object generation\n number must be specified.'\n gcs:\n type: object\n x-dcl-go-name: Gcs\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileGcs\n description: A Cloud Storage object.\n x-dcl-conflicts:\n - remote\n - localPath\n required:\n - bucket\n - object\n properties:\n bucket:\n type: string\n x-dcl-go-name: Bucket\n description: Required. Bucket of the Cloud\n Storage object.\n generation:\n type: integer\n format: int64\n x-dcl-go-name: Generation\n description: Generation number of the\n Cloud Storage object.\n object:\n type: string\n x-dcl-go-name: Object\n description: Required. Name of the Cloud\n Storage object.\n localPath:\n type: string\n x-dcl-go-name: LocalPath\n description: A local path within the VM to\n use.\n x-dcl-conflicts:\n - remote\n - gcs\n remote:\n type: object\n x-dcl-go-name: Remote\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceFileRemote\n description: A generic remote file.\n x-dcl-conflicts:\n - gcs\n - localPath\n required:\n - uri\n properties:\n sha256Checksum:\n type: string\n x-dcl-go-name: Sha256Checksum\n description: SHA256 checksum of the remote\n file.\n uri:\n type: string\n x-dcl-go-name: Uri\n description: Required. URI from which\n to fetch the object. It should contain\n both the protocol and path following\n the format `{protocol}://{location}`.\n interpreter:\n type: string\n x-dcl-go-name: Interpreter\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecEnforceInterpreterEnum\n description: 'Required. The script interpreter\n to use. Possible values: INTERPRETER_UNSPECIFIED,\n NONE, SHELL, POWERSHELL'\n enum:\n - INTERPRETER_UNSPECIFIED\n - NONE\n - SHELL\n - POWERSHELL\n outputFilePath:\n type: string\n x-dcl-go-name: OutputFilePath\n description: Only recorded for enforce Exec. Path\n to an output file (that is created by this Exec)\n whose content will be recorded in OSPolicyResourceCompliance\n after a successful run. Absence or failure to\n read this file will result in this ExecResource\n being non-compliant. Output file size is limited\n to 100K bytes.\n script:\n type: string\n x-dcl-go-name: Script\n description: An inline script. The size of the\n script is limited to 1024 characters.\n x-dcl-conflicts:\n - file\n validate:\n type: object\n x-dcl-go-name: Validate\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidate\n description: Required. What to run to validate this\n resource is in the desired state. An exit code of\n 100 indicates \"in desired state\", and exit code\n of 101 indicates \"not in desired state\". Any other\n exit code indicates a failure running validate.\n required:\n - interpreter\n properties:\n args:\n type: array\n x-dcl-go-name: Args\n description: Optional arguments to pass to the\n source during execution.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n file:\n type: object\n x-dcl-go-name: File\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFile\n description: A remote or local file.\n x-dcl-conflicts:\n - script\n properties:\n allowInsecure:\n type: boolean\n x-dcl-go-name: AllowInsecure\n description: 'Defaults to false. When false,\n files are subject to validations based on\n the file type: Remote: A checksum must be\n specified. Cloud Storage: An object generation\n number must be specified.'\n gcs:\n type: object\n x-dcl-go-name: Gcs\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileGcs\n description: A Cloud Storage object.\n x-dcl-conflicts:\n - remote\n - localPath\n required:\n - bucket\n - object\n properties:\n bucket:\n type: string\n x-dcl-go-name: Bucket\n description: Required. Bucket of the Cloud\n Storage object.\n generation:\n type: integer\n format: int64\n x-dcl-go-name: Generation\n description: Generation number of the\n Cloud Storage object.\n object:\n type: string\n x-dcl-go-name: Object\n description: Required. Name of the Cloud\n Storage object.\n localPath:\n type: string\n x-dcl-go-name: LocalPath\n description: A local path within the VM to\n use.\n x-dcl-conflicts:\n - remote\n - gcs\n remote:\n type: object\n x-dcl-go-name: Remote\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateFileRemote\n description: A generic remote file.\n x-dcl-conflicts:\n - gcs\n - localPath\n required:\n - uri\n properties:\n sha256Checksum:\n type: string\n x-dcl-go-name: Sha256Checksum\n description: SHA256 checksum of the remote\n file.\n uri:\n type: string\n x-dcl-go-name: Uri\n description: Required. URI from which\n to fetch the object. It should contain\n both the protocol and path following\n the format `{protocol}://{location}`.\n interpreter:\n type: string\n x-dcl-go-name: Interpreter\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesExecValidateInterpreterEnum\n description: 'Required. The script interpreter\n to use. Possible values: INTERPRETER_UNSPECIFIED,\n NONE, SHELL, POWERSHELL'\n enum:\n - INTERPRETER_UNSPECIFIED\n - NONE\n - SHELL\n - POWERSHELL\n outputFilePath:\n type: string\n x-dcl-go-name: OutputFilePath\n description: Only recorded for enforce Exec. Path\n to an output file (that is created by this Exec)\n whose content will be recorded in OSPolicyResourceCompliance\n after a successful run. Absence or failure to\n read this file will result in this ExecResource\n being non-compliant. Output file size is limited\n to 100K bytes.\n script:\n type: string\n x-dcl-go-name: Script\n description: An inline script. The size of the\n script is limited to 1024 characters.\n x-dcl-conflicts:\n - file\n file:\n type: object\n x-dcl-go-name: File\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFile\n description: File resource\n x-dcl-conflicts:\n - pkg\n - repository\n - exec\n required:\n - path\n - state\n properties:\n content:\n type: string\n x-dcl-go-name: Content\n description: A a file with this content. The size\n of the content is limited to 1024 characters.\n x-dcl-conflicts:\n - file\n file:\n type: object\n x-dcl-go-name: File\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFile\n description: A remote or local source.\n x-dcl-conflicts:\n - content\n properties:\n allowInsecure:\n type: boolean\n x-dcl-go-name: AllowInsecure\n description: 'Defaults to false. When false, files\n are subject to validations based on the file\n type: Remote: A checksum must be specified.\n Cloud Storage: An object generation number must\n be specified.'\n gcs:\n type: object\n x-dcl-go-name: Gcs\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileGcs\n description: A Cloud Storage object.\n x-dcl-conflicts:\n - remote\n - localPath\n required:\n - bucket\n - object\n properties:\n bucket:\n type: string\n x-dcl-go-name: Bucket\n description: Required. Bucket of the Cloud\n Storage object.\n generation:\n type: integer\n format: int64\n x-dcl-go-name: Generation\n description: Generation number of the Cloud\n Storage object.\n object:\n type: string\n x-dcl-go-name: Object\n description: Required. Name of the Cloud Storage\n object.\n localPath:\n type: string\n x-dcl-go-name: LocalPath\n description: A local path within the VM to use.\n x-dcl-conflicts:\n - remote\n - gcs\n remote:\n type: object\n x-dcl-go-name: Remote\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileFileRemote\n description: A generic remote file.\n x-dcl-conflicts:\n - gcs\n - localPath\n required:\n - uri\n properties:\n sha256Checksum:\n type: string\n x-dcl-go-name: Sha256Checksum\n description: SHA256 checksum of the remote\n file.\n uri:\n type: string\n x-dcl-go-name: Uri\n description: Required. URI from which to fetch\n the object. It should contain both the protocol\n and path following the format `{protocol}://{location}`.\n path:\n type: string\n x-dcl-go-name: Path\n description: Required. The absolute path of the file\n within the VM.\n permissions:\n type: string\n x-dcl-go-name: Permissions\n readOnly: true\n description: 'Consists of three octal digits which\n represent, in order, the permissions of the owner,\n group, and other users for the file (similarly to\n the numeric mode used in the linux chmod utility).\n Each digit represents a three bit number with the\n 4 bit corresponding to the read permissions, the\n 2 bit corresponds to the write bit, and the one\n bit corresponds to the execute permission. Default\n behavior is 755. Below are some examples of permissions\n and their associated values: read, write, and execute:\n 7 read and execute: 5 read and write: 6 read only:\n 4'\n state:\n type: string\n x-dcl-go-name: State\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesFileStateEnum\n description: 'Required. Desired state of the file.\n Possible values: OS_POLICY_COMPLIANCE_STATE_UNSPECIFIED,\n COMPLIANT, NON_COMPLIANT, UNKNOWN, NO_OS_POLICIES_APPLICABLE'\n enum:\n - OS_POLICY_COMPLIANCE_STATE_UNSPECIFIED\n - COMPLIANT\n - NON_COMPLIANT\n - UNKNOWN\n - NO_OS_POLICIES_APPLICABLE\n id:\n type: string\n x-dcl-go-name: Id\n description: 'Required. The id of the resource with the\n following restrictions: * Must contain only lowercase\n letters, numbers, and hyphens. * Must start with a letter.\n * Must be between 1-63 characters. * Must end with a\n number or a letter. * Must be unique within the OS policy.'\n pkg:\n type: object\n x-dcl-go-name: Pkg\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkg\n description: Package resource\n x-dcl-conflicts:\n - repository\n - exec\n - file\n required:\n - desiredState\n properties:\n apt:\n type: object\n x-dcl-go-name: Apt\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgApt\n description: A package managed by Apt.\n x-dcl-conflicts:\n - deb\n - yum\n - zypper\n - rpm\n - googet\n - msi\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Required. Package name.\n deb:\n type: object\n x-dcl-go-name: Deb\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDeb\n description: A deb package file.\n x-dcl-conflicts:\n - apt\n - yum\n - zypper\n - rpm\n - googet\n - msi\n required:\n - source\n properties:\n pullDeps:\n type: boolean\n x-dcl-go-name: PullDeps\n description: 'Whether dependencies should also\n be installed. - install when false: `dpkg -i\n package` - install when true: `apt-get update\n && apt-get -y install package.deb`'\n source:\n type: object\n x-dcl-go-name: Source\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSource\n description: Required. A deb package.\n properties:\n allowInsecure:\n type: boolean\n x-dcl-go-name: AllowInsecure\n description: 'Defaults to false. When false,\n files are subject to validations based on\n the file type: Remote: A checksum must be\n specified. Cloud Storage: An object generation\n number must be specified.'\n gcs:\n type: object\n x-dcl-go-name: Gcs\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceGcs\n description: A Cloud Storage object.\n x-dcl-conflicts:\n - remote\n - localPath\n required:\n - bucket\n - object\n properties:\n bucket:\n type: string\n x-dcl-go-name: Bucket\n description: Required. Bucket of the Cloud\n Storage object.\n generation:\n type: integer\n format: int64\n x-dcl-go-name: Generation\n description: Generation number of the\n Cloud Storage object.\n object:\n type: string\n x-dcl-go-name: Object\n description: Required. Name of the Cloud\n Storage object.\n localPath:\n type: string\n x-dcl-go-name: LocalPath\n description: A local path within the VM to\n use.\n x-dcl-conflicts:\n - remote\n - gcs\n remote:\n type: object\n x-dcl-go-name: Remote\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDebSourceRemote\n description: A generic remote file.\n x-dcl-conflicts:\n - gcs\n - localPath\n required:\n - uri\n properties:\n sha256Checksum:\n type: string\n x-dcl-go-name: Sha256Checksum\n description: SHA256 checksum of the remote\n file.\n uri:\n type: string\n x-dcl-go-name: Uri\n description: Required. URI from which\n to fetch the object. It should contain\n both the protocol and path following\n the format `{protocol}://{location}`.\n desiredState:\n type: string\n x-dcl-go-name: DesiredState\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgDesiredStateEnum\n description: 'Required. The desired state the agent\n should maintain for this package. Possible values:\n DESIRED_STATE_UNSPECIFIED, INSTALLED, REMOVED'\n enum:\n - DESIRED_STATE_UNSPECIFIED\n - INSTALLED\n - REMOVED\n googet:\n type: object\n x-dcl-go-name: Googet\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgGooget\n description: A package managed by GooGet.\n x-dcl-conflicts:\n - apt\n - deb\n - yum\n - zypper\n - rpm\n - msi\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Required. Package name.\n msi:\n type: object\n x-dcl-go-name: Msi\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsi\n description: An MSI package.\n x-dcl-conflicts:\n - apt\n - deb\n - yum\n - zypper\n - rpm\n - googet\n required:\n - source\n properties:\n properties:\n type: array\n x-dcl-go-name: Properties\n description: Additional properties to use during\n installation. This should be in the format of\n Property=Setting. Appended to the defaults of\n `ACTION=INSTALL REBOOT=ReallySuppress`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n source:\n type: object\n x-dcl-go-name: Source\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSource\n description: Required. The MSI package.\n properties:\n allowInsecure:\n type: boolean\n x-dcl-go-name: AllowInsecure\n description: 'Defaults to false. When false,\n files are subject to validations based on\n the file type: Remote: A checksum must be\n specified. Cloud Storage: An object generation\n number must be specified.'\n gcs:\n type: object\n x-dcl-go-name: Gcs\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceGcs\n description: A Cloud Storage object.\n x-dcl-conflicts:\n - remote\n - localPath\n required:\n - bucket\n - object\n properties:\n bucket:\n type: string\n x-dcl-go-name: Bucket\n description: Required. Bucket of the Cloud\n Storage object.\n generation:\n type: integer\n format: int64\n x-dcl-go-name: Generation\n description: Generation number of the\n Cloud Storage object.\n object:\n type: string\n x-dcl-go-name: Object\n description: Required. Name of the Cloud\n Storage object.\n localPath:\n type: string\n x-dcl-go-name: LocalPath\n description: A local path within the VM to\n use.\n x-dcl-conflicts:\n - remote\n - gcs\n remote:\n type: object\n x-dcl-go-name: Remote\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgMsiSourceRemote\n description: A generic remote file.\n x-dcl-conflicts:\n - gcs\n - localPath\n required:\n - uri\n properties:\n sha256Checksum:\n type: string\n x-dcl-go-name: Sha256Checksum\n description: SHA256 checksum of the remote\n file.\n uri:\n type: string\n x-dcl-go-name: Uri\n description: Required. URI from which\n to fetch the object. It should contain\n both the protocol and path following\n the format `{protocol}://{location}`.\n rpm:\n type: object\n x-dcl-go-name: Rpm\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpm\n description: An rpm package file.\n x-dcl-conflicts:\n - apt\n - deb\n - yum\n - zypper\n - googet\n - msi\n required:\n - source\n properties:\n pullDeps:\n type: boolean\n x-dcl-go-name: PullDeps\n description: 'Whether dependencies should also\n be installed. - install when false: `rpm --upgrade\n --replacepkgs package.rpm` - install when true:\n `yum -y install package.rpm` or `zypper -y install\n package.rpm`'\n source:\n type: object\n x-dcl-go-name: Source\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSource\n description: Required. An rpm package.\n properties:\n allowInsecure:\n type: boolean\n x-dcl-go-name: AllowInsecure\n description: 'Defaults to false. When false,\n files are subject to validations based on\n the file type: Remote: A checksum must be\n specified. Cloud Storage: An object generation\n number must be specified.'\n gcs:\n type: object\n x-dcl-go-name: Gcs\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceGcs\n description: A Cloud Storage object.\n x-dcl-conflicts:\n - remote\n - localPath\n required:\n - bucket\n - object\n properties:\n bucket:\n type: string\n x-dcl-go-name: Bucket\n description: Required. Bucket of the Cloud\n Storage object.\n generation:\n type: integer\n format: int64\n x-dcl-go-name: Generation\n description: Generation number of the\n Cloud Storage object.\n object:\n type: string\n x-dcl-go-name: Object\n description: Required. Name of the Cloud\n Storage object.\n localPath:\n type: string\n x-dcl-go-name: LocalPath\n description: A local path within the VM to\n use.\n x-dcl-conflicts:\n - remote\n - gcs\n remote:\n type: object\n x-dcl-go-name: Remote\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgRpmSourceRemote\n description: A generic remote file.\n x-dcl-conflicts:\n - gcs\n - localPath\n required:\n - uri\n properties:\n sha256Checksum:\n type: string\n x-dcl-go-name: Sha256Checksum\n description: SHA256 checksum of the remote\n file.\n uri:\n type: string\n x-dcl-go-name: Uri\n description: Required. URI from which\n to fetch the object. It should contain\n both the protocol and path following\n the format `{protocol}://{location}`.\n yum:\n type: object\n x-dcl-go-name: Yum\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgYum\n description: A package managed by YUM.\n x-dcl-conflicts:\n - apt\n - deb\n - zypper\n - rpm\n - googet\n - msi\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Required. Package name.\n zypper:\n type: object\n x-dcl-go-name: Zypper\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesPkgZypper\n description: A package managed by Zypper.\n x-dcl-conflicts:\n - apt\n - deb\n - yum\n - rpm\n - googet\n - msi\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Required. Package name.\n repository:\n type: object\n x-dcl-go-name: Repository\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepository\n description: Package repository resource\n x-dcl-conflicts:\n - pkg\n - exec\n - file\n properties:\n apt:\n type: object\n x-dcl-go-name: Apt\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryApt\n description: An Apt Repository.\n x-dcl-conflicts:\n - yum\n - zypper\n - goo\n required:\n - archiveType\n - uri\n - distribution\n - components\n properties:\n archiveType:\n type: string\n x-dcl-go-name: ArchiveType\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryAptArchiveTypeEnum\n description: 'Required. Type of archive files\n in this repository. Possible values: ARCHIVE_TYPE_UNSPECIFIED,\n DEB, DEB_SRC'\n enum:\n - ARCHIVE_TYPE_UNSPECIFIED\n - DEB\n - DEB_SRC\n components:\n type: array\n x-dcl-go-name: Components\n description: Required. List of components for\n this repository. Must contain at least one item.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n distribution:\n type: string\n x-dcl-go-name: Distribution\n description: Required. Distribution of this repository.\n gpgKey:\n type: string\n x-dcl-go-name: GpgKey\n description: URI of the key file for this repository.\n The agent maintains a keyring at `/etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg`.\n uri:\n type: string\n x-dcl-go-name: Uri\n description: Required. URI for this repository.\n goo:\n type: object\n x-dcl-go-name: Goo\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryGoo\n description: A Goo Repository.\n x-dcl-conflicts:\n - apt\n - yum\n - zypper\n required:\n - name\n - url\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Required. The name of the repository.\n url:\n type: string\n x-dcl-go-name: Url\n description: Required. The url of the repository.\n yum:\n type: object\n x-dcl-go-name: Yum\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryYum\n description: A Yum Repository.\n x-dcl-conflicts:\n - apt\n - zypper\n - goo\n required:\n - id\n - baseUrl\n properties:\n baseUrl:\n type: string\n x-dcl-go-name: BaseUrl\n description: Required. The location of the repository\n directory.\n displayName:\n type: string\n x-dcl-go-name: DisplayName\n description: The display name of the repository.\n gpgKeys:\n type: array\n x-dcl-go-name: GpgKeys\n description: URIs of GPG keys.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n id:\n type: string\n x-dcl-go-name: Id\n description: Required. A one word, unique name\n for this repository. This is the `repo id` in\n the yum config file and also the `display_name`\n if `display_name` is omitted. This id is also\n used as the unique identifier when checking\n for resource conflicts.\n zypper:\n type: object\n x-dcl-go-name: Zypper\n x-dcl-go-type: OSPolicyAssignmentOSPoliciesResourceGroupsResourcesRepositoryZypper\n description: A Zypper Repository.\n x-dcl-conflicts:\n - apt\n - yum\n - goo\n required:\n - id\n - baseUrl\n properties:\n baseUrl:\n type: string\n x-dcl-go-name: BaseUrl\n description: Required. The location of the repository\n directory.\n displayName:\n type: string\n x-dcl-go-name: DisplayName\n description: The display name of the repository.\n gpgKeys:\n type: array\n x-dcl-go-name: GpgKeys\n description: URIs of GPG keys.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n id:\n type: string\n x-dcl-go-name: Id\n description: Required. A one word, unique name\n for this repository. This is the `repo id` in\n the zypper config file and also the `display_name`\n if `display_name` is omitted. This id is also\n used as the unique identifier when checking\n for GuestPolicy conflicts.\n project:\n type: string\n x-dcl-go-name: Project\n description: The project for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n reconciling:\n type: boolean\n x-dcl-go-name: Reconciling\n readOnly: true\n description: 'Output only. Indicates that reconciliation is in progress\n for the revision. This value is `true` when the `rollout_state` is one\n of: * IN_PROGRESS * CANCELLING'\n x-kubernetes-immutable: true\n revisionCreateTime:\n type: string\n format: date-time\n x-dcl-go-name: RevisionCreateTime\n readOnly: true\n description: Output only. The timestamp that the revision was created.\n x-kubernetes-immutable: true\n revisionId:\n type: string\n x-dcl-go-name: RevisionId\n readOnly: true\n description: Output only. The assignment revision ID A new revision is committed\n whenever a rollout is triggered for a OS policy assignment\n x-kubernetes-immutable: true\n rollout:\n type: object\n x-dcl-go-name: Rollout\n x-dcl-go-type: OSPolicyAssignmentRollout\n description: 'Required. Rollout to deploy the OS policy assignment. A rollout\n is triggered in the following situations: 1) OSPolicyAssignment is created.\n 2) OSPolicyAssignment is updated and the update contains changes to one\n of the following fields: - instance_filter - os_policies 3) OSPolicyAssignment\n is deleted.'\n required:\n - disruptionBudget\n - minWaitDuration\n properties:\n disruptionBudget:\n type: object\n x-dcl-go-name: DisruptionBudget\n x-dcl-go-type: OSPolicyAssignmentRolloutDisruptionBudget\n description: Required. The maximum number (or percentage) of VMs per\n zone to disrupt at any given moment.\n properties:\n fixed:\n type: integer\n format: int64\n x-dcl-go-name: Fixed\n description: Specifies a fixed value.\n x-dcl-conflicts:\n - percent\n percent:\n type: integer\n format: int64\n x-dcl-go-name: Percent\n description: Specifies the relative value defined as a percentage,\n which will be multiplied by a reference value.\n x-dcl-conflicts:\n - fixed\n minWaitDuration:\n type: string\n x-dcl-go-name: MinWaitDuration\n description: Required. This determines the minimum duration of time\n to wait after the configuration changes are applied through the current\n rollout. A VM continues to count towards the `disruption_budget` at\n least until this duration of time has passed after configuration changes\n are applied.\n rolloutState:\n type: string\n x-dcl-go-name: RolloutState\n x-dcl-go-type: OSPolicyAssignmentRolloutStateEnum\n readOnly: true\n description: 'Output only. OS policy assignment rollout state Possible values:\n ROLLOUT_STATE_UNSPECIFIED, IN_PROGRESS, CANCELLING, CANCELLED, SUCCEEDED'\n x-kubernetes-immutable: true\n enum:\n - ROLLOUT_STATE_UNSPECIFIED\n - IN_PROGRESS\n - CANCELLING\n - CANCELLED\n - SUCCEEDED\n skipAwaitRollout:\n type: boolean\n x-dcl-go-name: SkipAwaitRollout\n description: Set to true to skip awaiting rollout during resource creation\n and update.\n x-dcl-mutable-unreadable: true\n uid:\n type: string\n x-dcl-go-name: Uid\n readOnly: true\n description: Output only. Server generated unique id for the OS policy assignment\n resource.\n x-kubernetes-immutable: true\n")
-
-// 73353 bytes
-// MD5: fb683ef5ed536f19f669a17a052fb49d
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/osconfig/osconfig_ga_utils.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/osconfig/osconfig_ga_utils.go
deleted file mode 100644
index b73421c8cb..0000000000
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/osconfig/osconfig_ga_utils.go
+++ /dev/null
@@ -1,208 +0,0 @@
-// Copyright 2023 Google LLC. All Rights Reserved.
-//
-// 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 osconfig defines types and functions for managing osconfig GCP resources.
-package osconfig
-
-import (
- "bytes"
- "context"
- "time"
-
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
- "github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl/operations"
-)
-
-// Returns true if m and n represent the same floating point value of seconds.
-func canonicalizeOSPolicyAssignmentRolloutMinWaitDuration(m, n interface{}) bool {
- mStr := dcl.ValueOrEmptyString(m)
- nStr := dcl.ValueOrEmptyString(n)
- if mStr == "" && nStr == "" {
- return true
- }
- if mStr == "" || nStr == "" {
- return false
- }
- mDuration, err := time.ParseDuration(mStr)
- if err != nil {
- return false
- }
- nDuration, err := time.ParseDuration(nStr)
- if err != nil {
- return false
- }
- return mDuration == nDuration
-}
-
-// Waits for os policy assignment to be done reconciling before deletion.
-func (r *OSPolicyAssignment) waitForNotReconciling(ctx context.Context, client *Client) error {
- return dcl.Do(ctx, func(ctx context.Context) (*dcl.RetryDetails, error) {
- nr, err := client.GetOSPolicyAssignment(ctx, r)
- if err != nil {
- return nil, err
- }
- if dcl.ValueOrEmptyBool(nr.Reconciling) {
- return &dcl.RetryDetails{}, dcl.OperationNotDone{}
- }
- return nil, nil
- }, client.Config.RetryProvider)
-}
-
-func (op *createOSPolicyAssignmentOperation) do(ctx context.Context, r *OSPolicyAssignment, c *Client) error {
- c.Config.Logger.InfoWithContextf(ctx, "Attempting to create %v", r)
- u, err := r.createURL(c.Config.BasePath)
- if err != nil {
- return err
- }
-
- req, err := r.marshal(c)
- if err != nil {
- return err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "POST", u, bytes.NewBuffer(req), c.Config.RetryProvider)
- if err != nil {
- return err
- }
-
- if !dcl.ValueOrEmptyBool(r.SkipAwaitRollout) {
- // wait for object to be created.
- var o operations.StandardGCPOperation
- if err := dcl.ParseResponse(resp.Response, &o); err != nil {
- return err
- }
- if err := o.Wait(context.WithValue(ctx, dcl.DoNotLogRequestsKey, true), c.Config, r.basePath(), "GET"); err != nil {
- c.Config.Logger.Warningf("Creation failed after waiting for operation: %v", err)
- return err
- }
- c.Config.Logger.InfoWithContextf(ctx, "Successfully waited for operation")
- op.response, _ = o.FirstResponse()
- }
-
- if _, err := c.GetOSPolicyAssignment(ctx, r); err != nil {
- c.Config.Logger.WarningWithContextf(ctx, "get returned error: %v", err)
- return err
- }
-
- return nil
-}
-
-func (op *updateOSPolicyAssignmentUpdateOSPolicyAssignmentOperation) do(ctx context.Context, r *OSPolicyAssignment, c *Client) error {
- _, err := c.GetOSPolicyAssignment(ctx, r)
- if err != nil {
- return err
- }
-
- u, err := r.updateURL(c.Config.BasePath, "UpdateOSPolicyAssignment")
- if err != nil {
- return err
- }
- diffs := make([]*dcl.FieldDiff, 0)
- for _, d := range op.FieldDiffs {
- // skipAwaitUpdate is a custom field not available in the API and should not be included in an update mask
- if d.FieldName != "SkipAwaitRollout" {
- diffs = append(diffs, d)
- }
- }
- if len(diffs) == 0 {
- // Only diff was skipAwaitUpdate, return success
- return nil
- }
- mask := dcl.TopLevelUpdateMask(diffs)
- u, err = dcl.AddQueryParams(u, map[string]string{"updateMask": mask})
- if err != nil {
- return err
- }
-
- req, err := newUpdateOSPolicyAssignmentUpdateOSPolicyAssignmentRequest(ctx, r, c)
- if err != nil {
- return err
- }
-
- c.Config.Logger.InfoWithContextf(ctx, "Created update: %#v", req)
- body, err := marshalUpdateOSPolicyAssignmentUpdateOSPolicyAssignmentRequest(c, req)
- if err != nil {
- return err
- }
- resp, err := dcl.SendRequest(ctx, c.Config, "PATCH", u, bytes.NewBuffer(body), c.Config.RetryProvider)
- if err != nil {
- return err
- }
-
- if !dcl.ValueOrEmptyBool(r.SkipAwaitRollout) {
- var o operations.StandardGCPOperation
- if err := dcl.ParseResponse(resp.Response, &o); err != nil {
- return err
- }
- err = o.Wait(context.WithValue(ctx, dcl.DoNotLogRequestsKey, true), c.Config, r.basePath(), "GET")
-
- if err != nil {
- return err
- }
- }
-
- return nil
-}
-
-func (op *deleteOSPolicyAssignmentOperation) do(ctx context.Context, r *OSPolicyAssignment, c *Client) error {
- r, err := c.GetOSPolicyAssignment(ctx, r)
- if err != nil {
- if dcl.IsNotFound(err) {
- c.Config.Logger.InfoWithContextf(ctx, "OSPolicyAssignment not found, returning. Original error: %v", err)
- return nil
- }
- c.Config.Logger.WarningWithContextf(ctx, "GetOSPolicyAssignment checking for existence. error: %v", err)
- return err
- }
- err = r.waitForNotReconciling(ctx, c)
- if err != nil {
- return err
- }
- u, err := r.deleteURL(c.Config.BasePath)
- if err != nil {
- return err
- }
-
- // Delete should never have a body
- body := &bytes.Buffer{}
- resp, err := dcl.SendRequest(ctx, c.Config, "DELETE", u, body, c.Config.RetryProvider)
- if err != nil {
- return err
- }
-
- if !dcl.ValueOrEmptyBool(r.SkipAwaitRollout) {
- // wait for object to be deleted.
- var o operations.StandardGCPOperation
- if err := dcl.ParseResponse(resp.Response, &o); err != nil {
- return err
- }
- if err := o.Wait(context.WithValue(ctx, dcl.DoNotLogRequestsKey, true), c.Config, r.basePath(), "GET"); err != nil {
- return err
- }
- }
-
- // We saw a race condition where for some successful delete operation, the Get calls returned resources for a short duration.
- // This is the reason we are adding retry to handle that case.
- retriesRemaining := 10
- dcl.Do(ctx, func(ctx context.Context) (*dcl.RetryDetails, error) {
- _, err := c.GetOSPolicyAssignment(ctx, r)
- if dcl.IsNotFound(err) {
- return nil, nil
- }
- if retriesRemaining > 0 {
- retriesRemaining--
- return &dcl.RetryDetails{}, dcl.OperationNotDone{}
- }
- return nil, dcl.NotDeletedError{ExistingResource: r}
- }, c.Config.RetryProvider)
- return nil
-}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/ca_pool.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/ca_pool.go
index 01f43ad162..69732cc51b 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/ca_pool.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/ca_pool.go
@@ -661,9 +661,10 @@ func (r *CaPoolIssuancePolicyBaselineValuesKeyUsageUnknownExtendedKeyUsages) Has
}
type CaPoolIssuancePolicyBaselineValuesCaOptions struct {
- empty bool `json:"-"`
- IsCa *bool `json:"isCa"`
- MaxIssuerPathLength *int64 `json:"maxIssuerPathLength"`
+ empty bool `json:"-"`
+ IsCa *bool `json:"isCa"`
+ MaxIssuerPathLength *int64 `json:"maxIssuerPathLength"`
+ ZeroMaxIssuerPathLength *bool `json:"zeroMaxIssuerPathLength"`
}
type jsonCaPoolIssuancePolicyBaselineValuesCaOptions CaPoolIssuancePolicyBaselineValuesCaOptions
@@ -685,6 +686,8 @@ func (r *CaPoolIssuancePolicyBaselineValuesCaOptions) UnmarshalJSON(data []byte)
r.MaxIssuerPathLength = res.MaxIssuerPathLength
+ r.ZeroMaxIssuerPathLength = res.ZeroMaxIssuerPathLength
+
}
return nil
}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/ca_pool.yaml b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/ca_pool.yaml
index 29fa530ef1..912c8cbbe7 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/ca_pool.yaml
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/ca_pool.yaml
@@ -244,6 +244,13 @@ components:
If this value is less than 0, the request will fail. If this
value is missing, the max path length will be omitted from
the CA certificate.
+ zeroMaxIssuerPathLength:
+ type: boolean
+ x-dcl-go-name: ZeroMaxIssuerPathLength
+ description: Optional. When true, the "path length constraint"
+ in Basic Constraints extension will be set to 0. if both max_issuer_path_length
+ and zero_max_issuer_path_length are unset, the max path length
+ will be omitted from the CA certificate.
keyUsage:
type: object
x-dcl-go-name: KeyUsage
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/ca_pool_internal.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/ca_pool_internal.go
index 6ac1516b5c..2ee4963b27 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/ca_pool_internal.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/ca_pool_internal.go
@@ -2021,6 +2021,11 @@ func canonicalizeCaPoolIssuancePolicyBaselineValuesCaOptions(des, initial *CaPoo
} else {
cDes.MaxIssuerPathLength = des.MaxIssuerPathLength
}
+ if dcl.BoolCanonicalize(des.ZeroMaxIssuerPathLength, initial.ZeroMaxIssuerPathLength) || dcl.IsZeroValue(des.ZeroMaxIssuerPathLength) {
+ cDes.ZeroMaxIssuerPathLength = initial.ZeroMaxIssuerPathLength
+ } else {
+ cDes.ZeroMaxIssuerPathLength = des.ZeroMaxIssuerPathLength
+ }
return cDes
}
@@ -2070,6 +2075,9 @@ func canonicalizeNewCaPoolIssuancePolicyBaselineValuesCaOptions(c *Client, des,
if dcl.BoolCanonicalize(des.IsCa, nw.IsCa) {
nw.IsCa = des.IsCa
}
+ if dcl.BoolCanonicalize(des.ZeroMaxIssuerPathLength, nw.ZeroMaxIssuerPathLength) {
+ nw.ZeroMaxIssuerPathLength = des.ZeroMaxIssuerPathLength
+ }
return nw
}
@@ -3691,6 +3699,13 @@ func compareCaPoolIssuancePolicyBaselineValuesCaOptionsNewStyle(d, a interface{}
}
diffs = append(diffs, ds...)
}
+
+ if ds, err := dcl.Diff(desired.ZeroMaxIssuerPathLength, actual.ZeroMaxIssuerPathLength, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateCaPoolUpdateCaPoolOperation")}, fn.AddNest("ZeroMaxIssuerPathLength")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
return diffs, nil
}
@@ -4818,7 +4833,7 @@ func expandCaPoolIssuancePolicyBaselineValues(c *Client, f *CaPoolIssuancePolicy
} else if !dcl.IsEmptyValueIndirect(v) {
m["keyUsage"] = v
}
- if v, err := expandCaPoolIssuancePolicyBaselineValuesCaOptions(c, f.CaOptions, res); err != nil {
+ if v, err := expandCaPoolIssuancePolicyBaselineValuesCAOptions(c, f.CaOptions, res); err != nil {
return nil, fmt.Errorf("error expanding CaOptions into caOptions: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["caOptions"] = v
@@ -4854,7 +4869,7 @@ func flattenCaPoolIssuancePolicyBaselineValues(c *Client, i interface{}, res *Ca
return EmptyCaPoolIssuancePolicyBaselineValues
}
r.KeyUsage = flattenCaPoolIssuancePolicyBaselineValuesKeyUsage(c, m["keyUsage"], res)
- r.CaOptions = flattenCaPoolIssuancePolicyBaselineValuesCaOptions(c, m["caOptions"], res)
+ r.CaOptions = flattenCaPoolIssuancePolicyBaselineValuesCAOptions(c, m["caOptions"], res)
r.PolicyIds = flattenCaPoolIssuancePolicyBaselineValuesPolicyIdsSlice(c, m["policyIds"], res)
r.AiaOcspServers = dcl.FlattenStringSlice(m["aiaOcspServers"])
r.AdditionalExtensions = flattenCaPoolIssuancePolicyBaselineValuesAdditionalExtensionsSlice(c, m["additionalExtensions"], res)
@@ -5479,6 +5494,9 @@ func expandCaPoolIssuancePolicyBaselineValuesCaOptions(c *Client, f *CaPoolIssua
if v := f.MaxIssuerPathLength; !dcl.IsEmptyValueIndirect(v) {
m["maxIssuerPathLength"] = v
}
+ if v := f.ZeroMaxIssuerPathLength; !dcl.IsEmptyValueIndirect(v) {
+ m["zeroMaxIssuerPathLength"] = v
+ }
return m, nil
}
@@ -5498,6 +5516,7 @@ func flattenCaPoolIssuancePolicyBaselineValuesCaOptions(c *Client, i interface{}
}
r.IsCa = dcl.FlattenBool(m["isCa"])
r.MaxIssuerPathLength = dcl.FlattenInteger(m["maxIssuerPathLength"])
+ r.ZeroMaxIssuerPathLength = dcl.FlattenBool(m["zeroMaxIssuerPathLength"])
return r
}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/ca_pool_schema.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/ca_pool_schema.go
index d065cc0a37..da3e115cad 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/ca_pool_schema.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/ca_pool_schema.go
@@ -278,6 +278,11 @@ func DCLCaPoolSchema() *dcl.Schema {
GoName: "MaxIssuerPathLength",
Description: "Optional. Refers to the path length restriction X.509 extension. For a CA certificate, this value describes the depth of subordinate CA certificates that are allowed. If this value is less than 0, the request will fail. If this value is missing, the max path length will be omitted from the CA certificate.",
},
+ "zeroMaxIssuerPathLength": &dcl.Property{
+ Type: "boolean",
+ GoName: "ZeroMaxIssuerPathLength",
+ Description: "Optional. When true, the \"path length constraint\" in Basic Constraints extension will be set to 0. if both max_issuer_path_length and zero_max_issuer_path_length are unset, the max path length will be omitted from the CA certificate.",
+ },
},
},
"keyUsage": &dcl.Property{
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/ca_pool_yaml_embed.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/ca_pool_yaml_embed.go
index c638959d02..ff72d1e008 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/ca_pool_yaml_embed.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/ca_pool_yaml_embed.go
@@ -17,7 +17,7 @@
package privateca
// blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/privateca/ca_pool.yaml
-var YAML_ca_pool = []byte("info:\n title: Privateca/CaPool\n description: The Privateca CaPool resource\n x-dcl-struct-name: CaPool\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a CaPool\n parameters:\n - name: caPool\n required: true\n description: A full instance of a CaPool\n apply:\n description: The function used to apply information about a CaPool\n parameters:\n - name: caPool\n required: true\n description: A full instance of a CaPool\n delete:\n description: The function used to delete a CaPool\n parameters:\n - name: caPool\n required: true\n description: A full instance of a CaPool\n deleteAll:\n description: The function used to delete all CaPool\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many CaPool\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n CaPool:\n title: CaPool\n x-dcl-id: projects/{{project}}/locations/{{location}}/caPools/{{name}}\n x-dcl-parent-container: project\n x-dcl-labels: labels\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - tier\n - project\n - location\n properties:\n issuancePolicy:\n type: object\n x-dcl-go-name: IssuancePolicy\n x-dcl-go-type: CaPoolIssuancePolicy\n description: Optional. The IssuancePolicy to control how Certificates will\n be issued from this CaPool.\n properties:\n allowedIssuanceModes:\n type: object\n x-dcl-go-name: AllowedIssuanceModes\n x-dcl-go-type: CaPoolIssuancePolicyAllowedIssuanceModes\n description: Optional. If specified, then only methods allowed in the\n IssuanceModes may be used to issue Certificates.\n properties:\n allowConfigBasedIssuance:\n type: boolean\n x-dcl-go-name: AllowConfigBasedIssuance\n description: Optional. When true, allows callers to create Certificates\n by specifying a CertificateConfig.\n allowCsrBasedIssuance:\n type: boolean\n x-dcl-go-name: AllowCsrBasedIssuance\n description: Optional. When true, allows callers to create Certificates\n by specifying a CSR.\n allowedKeyTypes:\n type: array\n x-dcl-go-name: AllowedKeyTypes\n description: Optional. If any AllowedKeyType is specified, then the\n certificate request's public key must match one of the key types listed\n here. Otherwise, any key may be used.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: CaPoolIssuancePolicyAllowedKeyTypes\n properties:\n ellipticCurve:\n type: object\n x-dcl-go-name: EllipticCurve\n x-dcl-go-type: CaPoolIssuancePolicyAllowedKeyTypesEllipticCurve\n description: Represents an allowed Elliptic Curve key type.\n x-dcl-conflicts:\n - rsa\n properties:\n signatureAlgorithm:\n type: string\n x-dcl-go-name: SignatureAlgorithm\n x-dcl-go-type: CaPoolIssuancePolicyAllowedKeyTypesEllipticCurveSignatureAlgorithmEnum\n description: 'Optional. A signature algorithm that must be\n used. If this is omitted, any EC-based signature algorithm\n will be allowed. Possible values: EC_SIGNATURE_ALGORITHM_UNSPECIFIED,\n ECDSA_P256, ECDSA_P384, EDDSA_25519'\n enum:\n - EC_SIGNATURE_ALGORITHM_UNSPECIFIED\n - ECDSA_P256\n - ECDSA_P384\n - EDDSA_25519\n rsa:\n type: object\n x-dcl-go-name: Rsa\n x-dcl-go-type: CaPoolIssuancePolicyAllowedKeyTypesRsa\n description: Represents an allowed RSA key type.\n x-dcl-conflicts:\n - ellipticCurve\n properties:\n maxModulusSize:\n type: integer\n format: int64\n x-dcl-go-name: MaxModulusSize\n description: Optional. The maximum allowed RSA modulus size,\n in bits. If this is not set, or if set to zero, the service\n will not enforce an explicit upper bound on RSA modulus\n sizes.\n minModulusSize:\n type: integer\n format: int64\n x-dcl-go-name: MinModulusSize\n description: Optional. The minimum allowed RSA modulus size,\n in bits. If this is not set, or if set to zero, the service-level\n min RSA modulus size will continue to apply.\n baselineValues:\n type: object\n x-dcl-go-name: BaselineValues\n x-dcl-go-type: CaPoolIssuancePolicyBaselineValues\n description: Optional. A set of X.509 values that will be applied to\n all certificates issued through this CaPool. If a certificate request\n includes conflicting values for the same properties, they will be\n overwritten by the values defined here. If a certificate request uses\n a CertificateTemplate that defines conflicting predefined_values for\n the same properties, the certificate issuance request will fail.\n properties:\n additionalExtensions:\n type: array\n x-dcl-go-name: AdditionalExtensions\n description: Optional. Describes custom X.509 extensions.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: CaPoolIssuancePolicyBaselineValuesAdditionalExtensions\n required:\n - objectId\n - value\n properties:\n critical:\n type: boolean\n x-dcl-go-name: Critical\n description: Optional. Indicates whether or not this extension\n is critical (i.e., if the client does not know how to handle\n this extension, the client should consider this to be an\n error).\n objectId:\n type: object\n x-dcl-go-name: ObjectId\n x-dcl-go-type: CaPoolIssuancePolicyBaselineValuesAdditionalExtensionsObjectId\n description: Required. The OID for this X.509 extension.\n required:\n - objectIdPath\n properties:\n objectIdPath:\n type: array\n x-dcl-go-name: ObjectIdPath\n description: Required. The parts of an OID path. The most\n significant parts of the path come first.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: integer\n format: int64\n x-dcl-go-type: int64\n value:\n type: string\n x-dcl-go-name: Value\n description: Required. The value of this X.509 extension.\n aiaOcspServers:\n type: array\n x-dcl-go-name: AiaOcspServers\n description: Optional. Describes Online Certificate Status Protocol\n (OCSP) endpoint addresses that appear in the \"Authority Information\n Access\" extension in the certificate.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n caOptions:\n type: object\n x-dcl-go-name: CaOptions\n x-dcl-go-type: CaPoolIssuancePolicyBaselineValuesCaOptions\n description: Optional. Describes options in this X509Parameters\n that are relevant in a CA certificate.\n properties:\n isCa:\n type: boolean\n x-dcl-go-name: IsCa\n description: Optional. Refers to the \"CA\" X.509 extension, which\n is a boolean value. When this value is missing, the extension\n will be omitted from the CA certificate.\n maxIssuerPathLength:\n type: integer\n format: int64\n x-dcl-go-name: MaxIssuerPathLength\n description: Optional. Refers to the path length restriction\n X.509 extension. For a CA certificate, this value describes\n the depth of subordinate CA certificates that are allowed.\n If this value is less than 0, the request will fail. If this\n value is missing, the max path length will be omitted from\n the CA certificate.\n keyUsage:\n type: object\n x-dcl-go-name: KeyUsage\n x-dcl-go-type: CaPoolIssuancePolicyBaselineValuesKeyUsage\n description: Optional. Indicates the intended use for keys that\n correspond to a certificate.\n properties:\n baseKeyUsage:\n type: object\n x-dcl-go-name: BaseKeyUsage\n x-dcl-go-type: CaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage\n description: Describes high-level ways in which a key may be\n used.\n properties:\n certSign:\n type: boolean\n x-dcl-go-name: CertSign\n description: The key may be used to sign certificates.\n contentCommitment:\n type: boolean\n x-dcl-go-name: ContentCommitment\n description: The key may be used for cryptographic commitments.\n Note that this may also be referred to as \"non-repudiation\".\n crlSign:\n type: boolean\n x-dcl-go-name: CrlSign\n description: The key may be used sign certificate revocation\n lists.\n dataEncipherment:\n type: boolean\n x-dcl-go-name: DataEncipherment\n description: The key may be used to encipher data.\n decipherOnly:\n type: boolean\n x-dcl-go-name: DecipherOnly\n description: The key may be used to decipher only.\n digitalSignature:\n type: boolean\n x-dcl-go-name: DigitalSignature\n description: The key may be used for digital signatures.\n encipherOnly:\n type: boolean\n x-dcl-go-name: EncipherOnly\n description: The key may be used to encipher only.\n keyAgreement:\n type: boolean\n x-dcl-go-name: KeyAgreement\n description: The key may be used in a key agreement protocol.\n keyEncipherment:\n type: boolean\n x-dcl-go-name: KeyEncipherment\n description: The key may be used to encipher other keys.\n extendedKeyUsage:\n type: object\n x-dcl-go-name: ExtendedKeyUsage\n x-dcl-go-type: CaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsage\n description: Detailed scenarios in which a key may be used.\n properties:\n clientAuth:\n type: boolean\n x-dcl-go-name: ClientAuth\n description: Corresponds to OID 1.3.6.1.5.5.7.3.2. Officially\n described as \"TLS WWW client authentication\", though regularly\n used for non-WWW TLS.\n codeSigning:\n type: boolean\n x-dcl-go-name: CodeSigning\n description: Corresponds to OID 1.3.6.1.5.5.7.3.3. Officially\n described as \"Signing of downloadable executable code\n client authentication\".\n emailProtection:\n type: boolean\n x-dcl-go-name: EmailProtection\n description: Corresponds to OID 1.3.6.1.5.5.7.3.4. Officially\n described as \"Email protection\".\n ocspSigning:\n type: boolean\n x-dcl-go-name: OcspSigning\n description: Corresponds to OID 1.3.6.1.5.5.7.3.9. Officially\n described as \"Signing OCSP responses\".\n serverAuth:\n type: boolean\n x-dcl-go-name: ServerAuth\n description: Corresponds to OID 1.3.6.1.5.5.7.3.1. Officially\n described as \"TLS WWW server authentication\", though regularly\n used for non-WWW TLS.\n timeStamping:\n type: boolean\n x-dcl-go-name: TimeStamping\n description: Corresponds to OID 1.3.6.1.5.5.7.3.8. Officially\n described as \"Binding the hash of an object to a time\".\n unknownExtendedKeyUsages:\n type: array\n x-dcl-go-name: UnknownExtendedKeyUsages\n description: Used to describe extended key usages that are not\n listed in the KeyUsage.ExtendedKeyUsageOptions message.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: CaPoolIssuancePolicyBaselineValuesKeyUsageUnknownExtendedKeyUsages\n required:\n - objectIdPath\n properties:\n objectIdPath:\n type: array\n x-dcl-go-name: ObjectIdPath\n description: Required. The parts of an OID path. The most\n significant parts of the path come first.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: integer\n format: int64\n x-dcl-go-type: int64\n policyIds:\n type: array\n x-dcl-go-name: PolicyIds\n description: Optional. Describes the X.509 certificate policy object\n identifiers, per https://tools.ietf.org/html/rfc5280#section-4.2.1.4.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: CaPoolIssuancePolicyBaselineValuesPolicyIds\n required:\n - objectIdPath\n properties:\n objectIdPath:\n type: array\n x-dcl-go-name: ObjectIdPath\n description: Required. The parts of an OID path. The most\n significant parts of the path come first.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: integer\n format: int64\n x-dcl-go-type: int64\n identityConstraints:\n type: object\n x-dcl-go-name: IdentityConstraints\n x-dcl-go-type: CaPoolIssuancePolicyIdentityConstraints\n description: Optional. Describes constraints on identities that may\n appear in Certificates issued through this CaPool. If this is omitted,\n then this CaPool will not add restrictions on a certificate's identity.\n required:\n - allowSubjectPassthrough\n - allowSubjectAltNamesPassthrough\n properties:\n allowSubjectAltNamesPassthrough:\n type: boolean\n x-dcl-go-name: AllowSubjectAltNamesPassthrough\n description: Required. If this is true, the SubjectAltNames extension\n may be copied from a certificate request into the signed certificate.\n Otherwise, the requested SubjectAltNames will be discarded.\n allowSubjectPassthrough:\n type: boolean\n x-dcl-go-name: AllowSubjectPassthrough\n description: Required. If this is true, the Subject field may be\n copied from a certificate request into the signed certificate.\n Otherwise, the requested Subject will be discarded.\n celExpression:\n type: object\n x-dcl-go-name: CelExpression\n x-dcl-go-type: CaPoolIssuancePolicyIdentityConstraintsCelExpression\n description: Optional. A CEL expression that may be used to validate\n the resolved X.509 Subject and/or Subject Alternative Name before\n a certificate is signed. To see the full allowed syntax and some\n examples, see https://cloud.google.com/certificate-authority-service/docs/using-cel\n properties:\n description:\n type: string\n x-dcl-go-name: Description\n description: Optional. Description of the expression. This is\n a longer text which describes the expression, e.g. when hovered\n over it in a UI.\n expression:\n type: string\n x-dcl-go-name: Expression\n description: Textual representation of an expression in Common\n Expression Language syntax.\n location:\n type: string\n x-dcl-go-name: Location\n description: Optional. String indicating the location of the\n expression for error reporting, e.g. a file name and a position\n in the file.\n title:\n type: string\n x-dcl-go-name: Title\n description: Optional. Title for the expression, i.e. a short\n string describing its purpose. This can be used e.g. in UIs\n which allow to enter the expression.\n maximumLifetime:\n type: string\n x-dcl-go-name: MaximumLifetime\n description: Optional. The maximum lifetime allowed for issued Certificates.\n Note that if the issuing CertificateAuthority expires before a Certificate's\n requested maximum_lifetime, the effective lifetime will be explicitly\n truncated to match it.\n passthroughExtensions:\n type: object\n x-dcl-go-name: PassthroughExtensions\n x-dcl-go-type: CaPoolIssuancePolicyPassthroughExtensions\n description: Optional. Describes the set of X.509 extensions that may\n appear in a Certificate issued through this CaPool. If a certificate\n request sets extensions that don't appear in the passthrough_extensions,\n those extensions will be dropped. If a certificate request uses a\n CertificateTemplate with predefined_values that don't appear here,\n the certificate issuance request will fail. If this is omitted, then\n this CaPool will not add restrictions on a certificate's X.509 extensions.\n These constraints do not apply to X.509 extensions set in this CaPool's\n baseline_values.\n properties:\n additionalExtensions:\n type: array\n x-dcl-go-name: AdditionalExtensions\n description: Optional. A set of ObjectIds identifying custom X.509\n extensions. Will be combined with known_extensions to determine\n the full set of X.509 extensions.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: CaPoolIssuancePolicyPassthroughExtensionsAdditionalExtensions\n required:\n - objectIdPath\n properties:\n objectIdPath:\n type: array\n x-dcl-go-name: ObjectIdPath\n description: Required. The parts of an OID path. The most\n significant parts of the path come first.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: integer\n format: int64\n x-dcl-go-type: int64\n knownExtensions:\n type: array\n x-dcl-go-name: KnownExtensions\n description: Optional. A set of named X.509 extensions. Will be\n combined with additional_extensions to determine the full set\n of X.509 extensions.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: CaPoolIssuancePolicyPassthroughExtensionsKnownExtensionsEnum\n enum:\n - KNOWN_CERTIFICATE_EXTENSION_UNSPECIFIED\n - BASE_KEY_USAGE\n - EXTENDED_KEY_USAGE\n - CA_OPTIONS\n - POLICY_IDS\n - AIA_OCSP_SERVERS\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: Optional. Labels with user-defined metadata.\n location:\n type: string\n x-dcl-go-name: Location\n description: The location for the resource\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: The resource name for this CaPool in the format `projects/*/locations/*/caPools/*`.\n x-kubernetes-immutable: true\n project:\n type: string\n x-dcl-go-name: Project\n description: The project for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n publishingOptions:\n type: object\n x-dcl-go-name: PublishingOptions\n x-dcl-go-type: CaPoolPublishingOptions\n description: Optional. The PublishingOptions to follow when issuing Certificates\n from any CertificateAuthority in this CaPool.\n properties:\n publishCaCert:\n type: boolean\n x-dcl-go-name: PublishCaCert\n description: Optional. When true, publishes each CertificateAuthority's\n CA certificate and includes its URL in the \"Authority Information\n Access\" X.509 extension in all issued Certificates. If this is false,\n the CA certificate will not be published and the corresponding X.509\n extension will not be written in issued certificates.\n publishCrl:\n type: boolean\n x-dcl-go-name: PublishCrl\n description: Optional. When true, publishes each CertificateAuthority's\n CRL and includes its URL in the \"CRL Distribution Points\" X.509 extension\n in all issued Certificates. If this is false, CRLs will not be published\n and the corresponding X.509 extension will not be written in issued\n certificates. CRLs will expire 7 days from their creation. However,\n we will rebuild daily. CRLs are also rebuilt shortly after a certificate\n is revoked.\n tier:\n type: string\n x-dcl-go-name: Tier\n x-dcl-go-type: CaPoolTierEnum\n description: 'Required. Immutable. The Tier of this CaPool. Possible values:\n TIER_UNSPECIFIED, ENTERPRISE, DEVOPS'\n x-kubernetes-immutable: true\n enum:\n - TIER_UNSPECIFIED\n - ENTERPRISE\n - DEVOPS\n")
+var YAML_ca_pool = []byte("info:\n title: Privateca/CaPool\n description: The Privateca CaPool resource\n x-dcl-struct-name: CaPool\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a CaPool\n parameters:\n - name: caPool\n required: true\n description: A full instance of a CaPool\n apply:\n description: The function used to apply information about a CaPool\n parameters:\n - name: caPool\n required: true\n description: A full instance of a CaPool\n delete:\n description: The function used to delete a CaPool\n parameters:\n - name: caPool\n required: true\n description: A full instance of a CaPool\n deleteAll:\n description: The function used to delete all CaPool\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many CaPool\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n CaPool:\n title: CaPool\n x-dcl-id: projects/{{project}}/locations/{{location}}/caPools/{{name}}\n x-dcl-parent-container: project\n x-dcl-labels: labels\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - tier\n - project\n - location\n properties:\n issuancePolicy:\n type: object\n x-dcl-go-name: IssuancePolicy\n x-dcl-go-type: CaPoolIssuancePolicy\n description: Optional. The IssuancePolicy to control how Certificates will\n be issued from this CaPool.\n properties:\n allowedIssuanceModes:\n type: object\n x-dcl-go-name: AllowedIssuanceModes\n x-dcl-go-type: CaPoolIssuancePolicyAllowedIssuanceModes\n description: Optional. If specified, then only methods allowed in the\n IssuanceModes may be used to issue Certificates.\n properties:\n allowConfigBasedIssuance:\n type: boolean\n x-dcl-go-name: AllowConfigBasedIssuance\n description: Optional. When true, allows callers to create Certificates\n by specifying a CertificateConfig.\n allowCsrBasedIssuance:\n type: boolean\n x-dcl-go-name: AllowCsrBasedIssuance\n description: Optional. When true, allows callers to create Certificates\n by specifying a CSR.\n allowedKeyTypes:\n type: array\n x-dcl-go-name: AllowedKeyTypes\n description: Optional. If any AllowedKeyType is specified, then the\n certificate request's public key must match one of the key types listed\n here. Otherwise, any key may be used.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: CaPoolIssuancePolicyAllowedKeyTypes\n properties:\n ellipticCurve:\n type: object\n x-dcl-go-name: EllipticCurve\n x-dcl-go-type: CaPoolIssuancePolicyAllowedKeyTypesEllipticCurve\n description: Represents an allowed Elliptic Curve key type.\n x-dcl-conflicts:\n - rsa\n properties:\n signatureAlgorithm:\n type: string\n x-dcl-go-name: SignatureAlgorithm\n x-dcl-go-type: CaPoolIssuancePolicyAllowedKeyTypesEllipticCurveSignatureAlgorithmEnum\n description: 'Optional. A signature algorithm that must be\n used. If this is omitted, any EC-based signature algorithm\n will be allowed. Possible values: EC_SIGNATURE_ALGORITHM_UNSPECIFIED,\n ECDSA_P256, ECDSA_P384, EDDSA_25519'\n enum:\n - EC_SIGNATURE_ALGORITHM_UNSPECIFIED\n - ECDSA_P256\n - ECDSA_P384\n - EDDSA_25519\n rsa:\n type: object\n x-dcl-go-name: Rsa\n x-dcl-go-type: CaPoolIssuancePolicyAllowedKeyTypesRsa\n description: Represents an allowed RSA key type.\n x-dcl-conflicts:\n - ellipticCurve\n properties:\n maxModulusSize:\n type: integer\n format: int64\n x-dcl-go-name: MaxModulusSize\n description: Optional. The maximum allowed RSA modulus size,\n in bits. If this is not set, or if set to zero, the service\n will not enforce an explicit upper bound on RSA modulus\n sizes.\n minModulusSize:\n type: integer\n format: int64\n x-dcl-go-name: MinModulusSize\n description: Optional. The minimum allowed RSA modulus size,\n in bits. If this is not set, or if set to zero, the service-level\n min RSA modulus size will continue to apply.\n baselineValues:\n type: object\n x-dcl-go-name: BaselineValues\n x-dcl-go-type: CaPoolIssuancePolicyBaselineValues\n description: Optional. A set of X.509 values that will be applied to\n all certificates issued through this CaPool. If a certificate request\n includes conflicting values for the same properties, they will be\n overwritten by the values defined here. If a certificate request uses\n a CertificateTemplate that defines conflicting predefined_values for\n the same properties, the certificate issuance request will fail.\n properties:\n additionalExtensions:\n type: array\n x-dcl-go-name: AdditionalExtensions\n description: Optional. Describes custom X.509 extensions.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: CaPoolIssuancePolicyBaselineValuesAdditionalExtensions\n required:\n - objectId\n - value\n properties:\n critical:\n type: boolean\n x-dcl-go-name: Critical\n description: Optional. Indicates whether or not this extension\n is critical (i.e., if the client does not know how to handle\n this extension, the client should consider this to be an\n error).\n objectId:\n type: object\n x-dcl-go-name: ObjectId\n x-dcl-go-type: CaPoolIssuancePolicyBaselineValuesAdditionalExtensionsObjectId\n description: Required. The OID for this X.509 extension.\n required:\n - objectIdPath\n properties:\n objectIdPath:\n type: array\n x-dcl-go-name: ObjectIdPath\n description: Required. The parts of an OID path. The most\n significant parts of the path come first.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: integer\n format: int64\n x-dcl-go-type: int64\n value:\n type: string\n x-dcl-go-name: Value\n description: Required. The value of this X.509 extension.\n aiaOcspServers:\n type: array\n x-dcl-go-name: AiaOcspServers\n description: Optional. Describes Online Certificate Status Protocol\n (OCSP) endpoint addresses that appear in the \"Authority Information\n Access\" extension in the certificate.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n caOptions:\n type: object\n x-dcl-go-name: CaOptions\n x-dcl-go-type: CaPoolIssuancePolicyBaselineValuesCaOptions\n description: Optional. Describes options in this X509Parameters\n that are relevant in a CA certificate.\n properties:\n isCa:\n type: boolean\n x-dcl-go-name: IsCa\n description: Optional. Refers to the \"CA\" X.509 extension, which\n is a boolean value. When this value is missing, the extension\n will be omitted from the CA certificate.\n maxIssuerPathLength:\n type: integer\n format: int64\n x-dcl-go-name: MaxIssuerPathLength\n description: Optional. Refers to the path length restriction\n X.509 extension. For a CA certificate, this value describes\n the depth of subordinate CA certificates that are allowed.\n If this value is less than 0, the request will fail. If this\n value is missing, the max path length will be omitted from\n the CA certificate.\n zeroMaxIssuerPathLength:\n type: boolean\n x-dcl-go-name: ZeroMaxIssuerPathLength\n description: Optional. When true, the \"path length constraint\"\n in Basic Constraints extension will be set to 0. if both max_issuer_path_length\n and zero_max_issuer_path_length are unset, the max path length\n will be omitted from the CA certificate.\n keyUsage:\n type: object\n x-dcl-go-name: KeyUsage\n x-dcl-go-type: CaPoolIssuancePolicyBaselineValuesKeyUsage\n description: Optional. Indicates the intended use for keys that\n correspond to a certificate.\n properties:\n baseKeyUsage:\n type: object\n x-dcl-go-name: BaseKeyUsage\n x-dcl-go-type: CaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsage\n description: Describes high-level ways in which a key may be\n used.\n properties:\n certSign:\n type: boolean\n x-dcl-go-name: CertSign\n description: The key may be used to sign certificates.\n contentCommitment:\n type: boolean\n x-dcl-go-name: ContentCommitment\n description: The key may be used for cryptographic commitments.\n Note that this may also be referred to as \"non-repudiation\".\n crlSign:\n type: boolean\n x-dcl-go-name: CrlSign\n description: The key may be used sign certificate revocation\n lists.\n dataEncipherment:\n type: boolean\n x-dcl-go-name: DataEncipherment\n description: The key may be used to encipher data.\n decipherOnly:\n type: boolean\n x-dcl-go-name: DecipherOnly\n description: The key may be used to decipher only.\n digitalSignature:\n type: boolean\n x-dcl-go-name: DigitalSignature\n description: The key may be used for digital signatures.\n encipherOnly:\n type: boolean\n x-dcl-go-name: EncipherOnly\n description: The key may be used to encipher only.\n keyAgreement:\n type: boolean\n x-dcl-go-name: KeyAgreement\n description: The key may be used in a key agreement protocol.\n keyEncipherment:\n type: boolean\n x-dcl-go-name: KeyEncipherment\n description: The key may be used to encipher other keys.\n extendedKeyUsage:\n type: object\n x-dcl-go-name: ExtendedKeyUsage\n x-dcl-go-type: CaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsage\n description: Detailed scenarios in which a key may be used.\n properties:\n clientAuth:\n type: boolean\n x-dcl-go-name: ClientAuth\n description: Corresponds to OID 1.3.6.1.5.5.7.3.2. Officially\n described as \"TLS WWW client authentication\", though regularly\n used for non-WWW TLS.\n codeSigning:\n type: boolean\n x-dcl-go-name: CodeSigning\n description: Corresponds to OID 1.3.6.1.5.5.7.3.3. Officially\n described as \"Signing of downloadable executable code\n client authentication\".\n emailProtection:\n type: boolean\n x-dcl-go-name: EmailProtection\n description: Corresponds to OID 1.3.6.1.5.5.7.3.4. Officially\n described as \"Email protection\".\n ocspSigning:\n type: boolean\n x-dcl-go-name: OcspSigning\n description: Corresponds to OID 1.3.6.1.5.5.7.3.9. Officially\n described as \"Signing OCSP responses\".\n serverAuth:\n type: boolean\n x-dcl-go-name: ServerAuth\n description: Corresponds to OID 1.3.6.1.5.5.7.3.1. Officially\n described as \"TLS WWW server authentication\", though regularly\n used for non-WWW TLS.\n timeStamping:\n type: boolean\n x-dcl-go-name: TimeStamping\n description: Corresponds to OID 1.3.6.1.5.5.7.3.8. Officially\n described as \"Binding the hash of an object to a time\".\n unknownExtendedKeyUsages:\n type: array\n x-dcl-go-name: UnknownExtendedKeyUsages\n description: Used to describe extended key usages that are not\n listed in the KeyUsage.ExtendedKeyUsageOptions message.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: CaPoolIssuancePolicyBaselineValuesKeyUsageUnknownExtendedKeyUsages\n required:\n - objectIdPath\n properties:\n objectIdPath:\n type: array\n x-dcl-go-name: ObjectIdPath\n description: Required. The parts of an OID path. The most\n significant parts of the path come first.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: integer\n format: int64\n x-dcl-go-type: int64\n policyIds:\n type: array\n x-dcl-go-name: PolicyIds\n description: Optional. Describes the X.509 certificate policy object\n identifiers, per https://tools.ietf.org/html/rfc5280#section-4.2.1.4.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: CaPoolIssuancePolicyBaselineValuesPolicyIds\n required:\n - objectIdPath\n properties:\n objectIdPath:\n type: array\n x-dcl-go-name: ObjectIdPath\n description: Required. The parts of an OID path. The most\n significant parts of the path come first.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: integer\n format: int64\n x-dcl-go-type: int64\n identityConstraints:\n type: object\n x-dcl-go-name: IdentityConstraints\n x-dcl-go-type: CaPoolIssuancePolicyIdentityConstraints\n description: Optional. Describes constraints on identities that may\n appear in Certificates issued through this CaPool. If this is omitted,\n then this CaPool will not add restrictions on a certificate's identity.\n required:\n - allowSubjectPassthrough\n - allowSubjectAltNamesPassthrough\n properties:\n allowSubjectAltNamesPassthrough:\n type: boolean\n x-dcl-go-name: AllowSubjectAltNamesPassthrough\n description: Required. If this is true, the SubjectAltNames extension\n may be copied from a certificate request into the signed certificate.\n Otherwise, the requested SubjectAltNames will be discarded.\n allowSubjectPassthrough:\n type: boolean\n x-dcl-go-name: AllowSubjectPassthrough\n description: Required. If this is true, the Subject field may be\n copied from a certificate request into the signed certificate.\n Otherwise, the requested Subject will be discarded.\n celExpression:\n type: object\n x-dcl-go-name: CelExpression\n x-dcl-go-type: CaPoolIssuancePolicyIdentityConstraintsCelExpression\n description: Optional. A CEL expression that may be used to validate\n the resolved X.509 Subject and/or Subject Alternative Name before\n a certificate is signed. To see the full allowed syntax and some\n examples, see https://cloud.google.com/certificate-authority-service/docs/using-cel\n properties:\n description:\n type: string\n x-dcl-go-name: Description\n description: Optional. Description of the expression. This is\n a longer text which describes the expression, e.g. when hovered\n over it in a UI.\n expression:\n type: string\n x-dcl-go-name: Expression\n description: Textual representation of an expression in Common\n Expression Language syntax.\n location:\n type: string\n x-dcl-go-name: Location\n description: Optional. String indicating the location of the\n expression for error reporting, e.g. a file name and a position\n in the file.\n title:\n type: string\n x-dcl-go-name: Title\n description: Optional. Title for the expression, i.e. a short\n string describing its purpose. This can be used e.g. in UIs\n which allow to enter the expression.\n maximumLifetime:\n type: string\n x-dcl-go-name: MaximumLifetime\n description: Optional. The maximum lifetime allowed for issued Certificates.\n Note that if the issuing CertificateAuthority expires before a Certificate's\n requested maximum_lifetime, the effective lifetime will be explicitly\n truncated to match it.\n passthroughExtensions:\n type: object\n x-dcl-go-name: PassthroughExtensions\n x-dcl-go-type: CaPoolIssuancePolicyPassthroughExtensions\n description: Optional. Describes the set of X.509 extensions that may\n appear in a Certificate issued through this CaPool. If a certificate\n request sets extensions that don't appear in the passthrough_extensions,\n those extensions will be dropped. If a certificate request uses a\n CertificateTemplate with predefined_values that don't appear here,\n the certificate issuance request will fail. If this is omitted, then\n this CaPool will not add restrictions on a certificate's X.509 extensions.\n These constraints do not apply to X.509 extensions set in this CaPool's\n baseline_values.\n properties:\n additionalExtensions:\n type: array\n x-dcl-go-name: AdditionalExtensions\n description: Optional. A set of ObjectIds identifying custom X.509\n extensions. Will be combined with known_extensions to determine\n the full set of X.509 extensions.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: CaPoolIssuancePolicyPassthroughExtensionsAdditionalExtensions\n required:\n - objectIdPath\n properties:\n objectIdPath:\n type: array\n x-dcl-go-name: ObjectIdPath\n description: Required. The parts of an OID path. The most\n significant parts of the path come first.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: integer\n format: int64\n x-dcl-go-type: int64\n knownExtensions:\n type: array\n x-dcl-go-name: KnownExtensions\n description: Optional. A set of named X.509 extensions. Will be\n combined with additional_extensions to determine the full set\n of X.509 extensions.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: CaPoolIssuancePolicyPassthroughExtensionsKnownExtensionsEnum\n enum:\n - KNOWN_CERTIFICATE_EXTENSION_UNSPECIFIED\n - BASE_KEY_USAGE\n - EXTENDED_KEY_USAGE\n - CA_OPTIONS\n - POLICY_IDS\n - AIA_OCSP_SERVERS\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: Optional. Labels with user-defined metadata.\n location:\n type: string\n x-dcl-go-name: Location\n description: The location for the resource\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: The resource name for this CaPool in the format `projects/*/locations/*/caPools/*`.\n x-kubernetes-immutable: true\n project:\n type: string\n x-dcl-go-name: Project\n description: The project for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n publishingOptions:\n type: object\n x-dcl-go-name: PublishingOptions\n x-dcl-go-type: CaPoolPublishingOptions\n description: Optional. The PublishingOptions to follow when issuing Certificates\n from any CertificateAuthority in this CaPool.\n properties:\n publishCaCert:\n type: boolean\n x-dcl-go-name: PublishCaCert\n description: Optional. When true, publishes each CertificateAuthority's\n CA certificate and includes its URL in the \"Authority Information\n Access\" X.509 extension in all issued Certificates. If this is false,\n the CA certificate will not be published and the corresponding X.509\n extension will not be written in issued certificates.\n publishCrl:\n type: boolean\n x-dcl-go-name: PublishCrl\n description: Optional. When true, publishes each CertificateAuthority's\n CRL and includes its URL in the \"CRL Distribution Points\" X.509 extension\n in all issued Certificates. If this is false, CRLs will not be published\n and the corresponding X.509 extension will not be written in issued\n certificates. CRLs will expire 7 days from their creation. However,\n we will rebuild daily. CRLs are also rebuilt shortly after a certificate\n is revoked.\n tier:\n type: string\n x-dcl-go-name: Tier\n x-dcl-go-type: CaPoolTierEnum\n description: 'Required. Immutable. The Tier of this CaPool. Possible values:\n TIER_UNSPECIFIED, ENTERPRISE, DEVOPS'\n x-kubernetes-immutable: true\n enum:\n - TIER_UNSPECIFIED\n - ENTERPRISE\n - DEVOPS\n")
-// 26986 bytes
-// MD5: 72c69198c2e02c48b76edc92cce8d118
+// 27469 bytes
+// MD5: 4c8ae9ebe41e2775519d6f4850a1e13d
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/certificate_authority.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/certificate_authority.go
index 3368218a7c..6cef361b38 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/certificate_authority.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/certificate_authority.go
@@ -825,9 +825,10 @@ func (r *CertificateAuthorityConfigX509ConfigKeyUsageUnknownExtendedKeyUsages) H
}
type CertificateAuthorityConfigX509ConfigCaOptions struct {
- empty bool `json:"-"`
- IsCa *bool `json:"isCa"`
- MaxIssuerPathLength *int64 `json:"maxIssuerPathLength"`
+ empty bool `json:"-"`
+ IsCa *bool `json:"isCa"`
+ MaxIssuerPathLength *int64 `json:"maxIssuerPathLength"`
+ ZeroMaxIssuerPathLength *bool `json:"zeroMaxIssuerPathLength"`
}
type jsonCertificateAuthorityConfigX509ConfigCaOptions CertificateAuthorityConfigX509ConfigCaOptions
@@ -849,6 +850,8 @@ func (r *CertificateAuthorityConfigX509ConfigCaOptions) UnmarshalJSON(data []byt
r.MaxIssuerPathLength = res.MaxIssuerPathLength
+ r.ZeroMaxIssuerPathLength = res.ZeroMaxIssuerPathLength
+
}
return nil
}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/certificate_authority.yaml b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/certificate_authority.yaml
index 93a3333484..b45fab9003 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/certificate_authority.yaml
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/certificate_authority.yaml
@@ -884,6 +884,14 @@ components:
value is missing, the max path length will be omitted from
the CA certificate.
x-kubernetes-immutable: true
+ zeroMaxIssuerPathLength:
+ type: boolean
+ x-dcl-go-name: ZeroMaxIssuerPathLength
+ description: Optional. When true, the "path length constraint"
+ in Basic Constraints extension will be set to 0. if both max_issuer_path_length
+ and zero_max_issuer_path_length are unset, the max path length
+ will be omitted from the CA certificate.
+ x-kubernetes-immutable: true
keyUsage:
type: object
x-dcl-go-name: KeyUsage
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/certificate_authority_internal.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/certificate_authority_internal.go
index 78fce63d75..fa3d44e4f6 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/certificate_authority_internal.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/certificate_authority_internal.go
@@ -2460,6 +2460,11 @@ func canonicalizeCertificateAuthorityConfigX509ConfigCaOptions(des, initial *Cer
} else {
cDes.MaxIssuerPathLength = des.MaxIssuerPathLength
}
+ if dcl.BoolCanonicalize(des.ZeroMaxIssuerPathLength, initial.ZeroMaxIssuerPathLength) || dcl.IsZeroValue(des.ZeroMaxIssuerPathLength) {
+ cDes.ZeroMaxIssuerPathLength = initial.ZeroMaxIssuerPathLength
+ } else {
+ cDes.ZeroMaxIssuerPathLength = des.ZeroMaxIssuerPathLength
+ }
return cDes
}
@@ -2509,6 +2514,9 @@ func canonicalizeNewCertificateAuthorityConfigX509ConfigCaOptions(c *Client, des
if dcl.BoolCanonicalize(des.IsCa, nw.IsCa) {
nw.IsCa = des.IsCa
}
+ if dcl.BoolCanonicalize(des.ZeroMaxIssuerPathLength, nw.ZeroMaxIssuerPathLength) {
+ nw.ZeroMaxIssuerPathLength = des.ZeroMaxIssuerPathLength
+ }
return nw
}
@@ -6817,6 +6825,13 @@ func compareCertificateAuthorityConfigX509ConfigCaOptionsNewStyle(d, a interface
}
diffs = append(diffs, ds...)
}
+
+ if ds, err := dcl.Diff(desired.ZeroMaxIssuerPathLength, actual.ZeroMaxIssuerPathLength, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ZeroMaxIssuerPathLength")); len(ds) != 0 || err != nil {
+ if err != nil {
+ return nil, err
+ }
+ diffs = append(diffs, ds...)
+ }
return diffs, nil
}
@@ -8979,7 +8994,7 @@ func expandCertificateAuthorityConfigX509Config(c *Client, f *CertificateAuthori
} else if !dcl.IsEmptyValueIndirect(v) {
m["keyUsage"] = v
}
- if v, err := expandCertificateAuthorityConfigX509ConfigCaOptions(c, f.CaOptions, res); err != nil {
+ if v, err := expandCertificateAuthorityConfigX509ConfigCAOptions(c, f.CaOptions, res); err != nil {
return nil, fmt.Errorf("error expanding CaOptions into caOptions: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["caOptions"] = v
@@ -9012,7 +9027,7 @@ func flattenCertificateAuthorityConfigX509Config(c *Client, i interface{}, res *
return EmptyCertificateAuthorityConfigX509Config
}
r.KeyUsage = flattenCertificateAuthorityConfigX509ConfigKeyUsage(c, m["keyUsage"], res)
- r.CaOptions = flattenCertificateAuthorityConfigX509ConfigCaOptions(c, m["caOptions"], res)
+ r.CaOptions = flattenCertificateAuthorityConfigX509ConfigCAOptions(c, m["caOptions"], res)
r.PolicyIds = flattenCertificateAuthorityConfigX509ConfigPolicyIdsSlice(c, m["policyIds"], res)
r.AiaOcspServers = dcl.FlattenStringSlice(m["aiaOcspServers"])
r.AdditionalExtensions = flattenCertificateAuthorityConfigX509ConfigAdditionalExtensionsSlice(c, m["additionalExtensions"], res)
@@ -9637,6 +9652,9 @@ func expandCertificateAuthorityConfigX509ConfigCaOptions(c *Client, f *Certifica
if v := f.MaxIssuerPathLength; !dcl.IsEmptyValueIndirect(v) {
m["maxIssuerPathLength"] = v
}
+ if v := f.ZeroMaxIssuerPathLength; !dcl.IsEmptyValueIndirect(v) {
+ m["zeroMaxIssuerPathLength"] = v
+ }
return m, nil
}
@@ -9656,6 +9674,7 @@ func flattenCertificateAuthorityConfigX509ConfigCaOptions(c *Client, i interface
}
r.IsCa = dcl.FlattenBool(m["isCa"])
r.MaxIssuerPathLength = dcl.FlattenInteger(m["maxIssuerPathLength"])
+ r.ZeroMaxIssuerPathLength = dcl.FlattenBool(m["zeroMaxIssuerPathLength"])
return r
}
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/certificate_authority_schema.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/certificate_authority_schema.go
index c0cbf9ab04..44210f1645 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/certificate_authority_schema.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/certificate_authority_schema.go
@@ -1012,6 +1012,12 @@ func DCLCertificateAuthoritySchema() *dcl.Schema {
Description: "Optional. Refers to the path length restriction X.509 extension. For a CA certificate, this value describes the depth of subordinate CA certificates that are allowed. If this value is less than 0, the request will fail. If this value is missing, the max path length will be omitted from the CA certificate.",
Immutable: true,
},
+ "zeroMaxIssuerPathLength": &dcl.Property{
+ Type: "boolean",
+ GoName: "ZeroMaxIssuerPathLength",
+ Description: "Optional. When true, the \"path length constraint\" in Basic Constraints extension will be set to 0. if both max_issuer_path_length and zero_max_issuer_path_length are unset, the max path length will be omitted from the CA certificate.",
+ Immutable: true,
+ },
},
},
"keyUsage": &dcl.Property{
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/certificate_authority_yaml_embed.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/certificate_authority_yaml_embed.go
index e34ba3eafd..1fd52968a7 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/certificate_authority_yaml_embed.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/certificate_authority_yaml_embed.go
@@ -17,7 +17,7 @@
package privateca
// blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/privateca/certificate_authority.yaml
-var YAML_certificate_authority = []byte("info:\n title: Privateca/CertificateAuthority\n description: The Privateca CertificateAuthority resource\n x-dcl-struct-name: CertificateAuthority\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a CertificateAuthority\n parameters:\n - name: certificateAuthority\n required: true\n description: A full instance of a CertificateAuthority\n apply:\n description: The function used to apply information about a CertificateAuthority\n parameters:\n - name: certificateAuthority\n required: true\n description: A full instance of a CertificateAuthority\n delete:\n description: The function used to delete a CertificateAuthority\n parameters:\n - name: certificateAuthority\n required: true\n description: A full instance of a CertificateAuthority\n deleteAll:\n description: The function used to delete all CertificateAuthority\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n - name: caPool\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many CertificateAuthority\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n - name: caPool\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n CertificateAuthority:\n title: CertificateAuthority\n x-dcl-id: projects/{{project}}/locations/{{location}}/caPools/{{ca_pool}}/certificateAuthorities/{{name}}\n x-dcl-parent-container: project\n x-dcl-labels: labels\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - type\n - config\n - lifetime\n - keySpec\n - project\n - location\n - caPool\n properties:\n accessUrls:\n type: object\n x-dcl-go-name: AccessUrls\n x-dcl-go-type: CertificateAuthorityAccessUrls\n readOnly: true\n description: Output only. URLs for accessing content published by this CA,\n such as the CA certificate and CRLs.\n x-kubernetes-immutable: true\n properties:\n caCertificateAccessUrl:\n type: string\n x-dcl-go-name: CaCertificateAccessUrl\n description: The URL where this CertificateAuthority's CA certificate\n is published. This will only be set for CAs that have been activated.\n x-kubernetes-immutable: true\n crlAccessUrls:\n type: array\n x-dcl-go-name: CrlAccessUrls\n description: The URLs where this CertificateAuthority's CRLs are published.\n This will only be set for CAs that have been activated.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n caCertificateDescriptions:\n type: array\n x-dcl-go-name: CaCertificateDescriptions\n readOnly: true\n description: Output only. A structured description of this CertificateAuthority's\n CA certificate and its issuers. Ordered as self-to-root.\n x-kubernetes-immutable: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptions\n properties:\n aiaIssuingCertificateUrls:\n type: array\n x-dcl-go-name: AiaIssuingCertificateUrls\n description: Describes lists of issuer CA certificate URLs that appear\n in the \"Authority Information Access\" extension in the certificate.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n authorityKeyId:\n type: object\n x-dcl-go-name: AuthorityKeyId\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsAuthorityKeyId\n description: Identifies the subject_key_id of the parent certificate,\n per https://tools.ietf.org/html/rfc5280#section-4.2.1.1\n properties:\n keyId:\n type: string\n x-dcl-go-name: KeyId\n description: Optional. The value of this KeyId encoded in lowercase\n hexadecimal. This is most likely the 160 bit SHA-1 hash of the\n public key.\n certFingerprint:\n type: object\n x-dcl-go-name: CertFingerprint\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsCertFingerprint\n description: The hash of the x.509 certificate.\n properties:\n sha256Hash:\n type: string\n x-dcl-go-name: Sha256Hash\n description: The SHA 256 hash, encoded in hexadecimal, of the\n DER x509 certificate.\n crlDistributionPoints:\n type: array\n x-dcl-go-name: CrlDistributionPoints\n description: Describes a list of locations to obtain CRL information,\n i.e. the DistributionPoint.fullName described by https://tools.ietf.org/html/rfc5280#section-4.2.1.13\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n publicKey:\n type: object\n x-dcl-go-name: PublicKey\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsPublicKey\n description: The public key that corresponds to an issued certificate.\n required:\n - key\n - format\n properties:\n format:\n type: string\n x-dcl-go-name: Format\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsPublicKeyFormatEnum\n description: 'Required. The format of the public key. Possible\n values: PEM'\n enum:\n - PEM\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A public key. The padding and encoding\n must match with the `KeyFormat` value specified for the `format`\n field.\n subjectDescription:\n type: object\n x-dcl-go-name: SubjectDescription\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsSubjectDescription\n description: Describes some of the values in a certificate that are\n related to the subject and lifetime.\n properties:\n hexSerialNumber:\n type: string\n x-dcl-go-name: HexSerialNumber\n description: The serial number encoded in lowercase hexadecimal.\n lifetime:\n type: string\n x-dcl-go-name: Lifetime\n description: For convenience, the actual lifetime of an issued\n certificate.\n notAfterTime:\n type: string\n format: date-time\n x-dcl-go-name: NotAfterTime\n description: The time after which the certificate is expired.\n Per RFC 5280, the validity period for a certificate is the period\n of time from not_before_time through not_after_time, inclusive.\n Corresponds to 'not_before_time' + 'lifetime' - 1 second.\n notBeforeTime:\n type: string\n format: date-time\n x-dcl-go-name: NotBeforeTime\n description: The time at which the certificate becomes valid.\n subject:\n type: object\n x-dcl-go-name: Subject\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsSubjectDescriptionSubject\n description: Contains distinguished name fields such as the common\n name, location and organization.\n properties:\n commonName:\n type: string\n x-dcl-go-name: CommonName\n description: The \"common name\" of the subject.\n countryCode:\n type: string\n x-dcl-go-name: CountryCode\n description: The country code of the subject.\n locality:\n type: string\n x-dcl-go-name: Locality\n description: The locality or city of the subject.\n organization:\n type: string\n x-dcl-go-name: Organization\n description: The organization of the subject.\n organizationalUnit:\n type: string\n x-dcl-go-name: OrganizationalUnit\n description: The organizational_unit of the subject.\n postalCode:\n type: string\n x-dcl-go-name: PostalCode\n description: The postal code of the subject.\n province:\n type: string\n x-dcl-go-name: Province\n description: The province, territory, or regional state of\n the subject.\n streetAddress:\n type: string\n x-dcl-go-name: StreetAddress\n description: The street address of the subject.\n subjectAltName:\n type: object\n x-dcl-go-name: SubjectAltName\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsSubjectDescriptionSubjectAltName\n description: The subject alternative name fields.\n properties:\n customSans:\n type: array\n x-dcl-go-name: CustomSans\n description: Contains additional subject alternative name\n values.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsSubjectDescriptionSubjectAltNameCustomSans\n required:\n - objectId\n - critical\n - value\n properties:\n critical:\n type: boolean\n x-dcl-go-name: Critical\n description: Optional. Indicates whether or not this\n extension is critical (i.e., if the client does not\n know how to handle this extension, the client should\n consider this to be an error).\n objectId:\n type: object\n x-dcl-go-name: ObjectId\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsSubjectDescriptionSubjectAltNameCustomSansObjectId\n description: Required. The OID for this X.509 extension.\n required:\n - objectIdPath\n properties:\n objectIdPath:\n type: array\n x-dcl-go-name: ObjectIdPath\n description: Required. The parts of an OID path.\n The most significant parts of the path come first.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: integer\n format: int64\n x-dcl-go-type: int64\n value:\n type: string\n x-dcl-go-name: Value\n description: Required. The value of this X.509 extension.\n dnsNames:\n type: array\n x-dcl-go-name: DnsNames\n description: Contains only valid, fully-qualified host names.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n emailAddresses:\n type: array\n x-dcl-go-name: EmailAddresses\n description: Contains only valid RFC 2822 E-mail addresses.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n ipAddresses:\n type: array\n x-dcl-go-name: IPAddresses\n description: Contains only valid 32-bit IPv4 addresses or\n RFC 4291 IPv6 addresses.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n uris:\n type: array\n x-dcl-go-name: Uris\n description: Contains only valid RFC 3986 URIs.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n subjectKeyId:\n type: object\n x-dcl-go-name: SubjectKeyId\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsSubjectKeyId\n description: Provides a means of identifiying certificates that contain\n a particular public key, per https://tools.ietf.org/html/rfc5280#section-4.2.1.2.\n properties:\n keyId:\n type: string\n x-dcl-go-name: KeyId\n description: Optional. The value of this KeyId encoded in lowercase\n hexadecimal. This is most likely the 160 bit SHA-1 hash of the\n public key.\n x509Description:\n type: object\n x-dcl-go-name: X509Description\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsX509Description\n description: Describes some of the technical X.509 fields in a certificate.\n properties:\n additionalExtensions:\n type: array\n x-dcl-go-name: AdditionalExtensions\n description: Optional. Describes custom X.509 extensions.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsX509DescriptionAdditionalExtensions\n required:\n - objectId\n - value\n properties:\n critical:\n type: boolean\n x-dcl-go-name: Critical\n description: Optional. Indicates whether or not this extension\n is critical (i.e., if the client does not know how to\n handle this extension, the client should consider this\n to be an error).\n objectId:\n type: object\n x-dcl-go-name: ObjectId\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsX509DescriptionAdditionalExtensionsObjectId\n description: Required. The OID for this X.509 extension.\n required:\n - objectIdPath\n properties:\n objectIdPath:\n type: array\n x-dcl-go-name: ObjectIdPath\n description: Required. The parts of an OID path. The\n most significant parts of the path come first.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: integer\n format: int64\n x-dcl-go-type: int64\n value:\n type: string\n x-dcl-go-name: Value\n description: Required. The value of this X.509 extension.\n aiaOcspServers:\n type: array\n x-dcl-go-name: AiaOcspServers\n readOnly: true\n description: Optional. Describes Online Certificate Status Protocol\n (OCSP) endpoint addresses that appear in the \"Authority Information\n Access\" extension in the certificate.\n x-kubernetes-immutable: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n caOptions:\n type: object\n x-dcl-go-name: CaOptions\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsX509DescriptionCaOptions\n description: Optional. Describes options in this X509Parameters\n that are relevant in a CA certificate.\n properties:\n isCa:\n type: boolean\n x-dcl-go-name: IsCa\n description: Optional. Refers to the \"CA\" X.509 extension,\n which is a boolean value. When this value is missing, the\n extension will be omitted from the CA certificate.\n maxIssuerPathLength:\n type: integer\n format: int64\n x-dcl-go-name: MaxIssuerPathLength\n description: Optional. Refers to the path length restriction\n X.509 extension. For a CA certificate, this value describes\n the depth of subordinate CA certificates that are allowed.\n If this value is less than 0, the request will fail. If\n this value is missing, the max path length will be omitted\n from the CA certificate.\n keyUsage:\n type: object\n x-dcl-go-name: KeyUsage\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsX509DescriptionKeyUsage\n description: Optional. Indicates the intended use for keys that\n correspond to a certificate.\n properties:\n baseKeyUsage:\n type: object\n x-dcl-go-name: BaseKeyUsage\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsX509DescriptionKeyUsageBaseKeyUsage\n description: Describes high-level ways in which a key may\n be used.\n properties:\n certSign:\n type: boolean\n x-dcl-go-name: CertSign\n description: The key may be used to sign certificates.\n contentCommitment:\n type: boolean\n x-dcl-go-name: ContentCommitment\n description: The key may be used for cryptographic commitments.\n Note that this may also be referred to as \"non-repudiation\".\n crlSign:\n type: boolean\n x-dcl-go-name: CrlSign\n description: The key may be used sign certificate revocation\n lists.\n dataEncipherment:\n type: boolean\n x-dcl-go-name: DataEncipherment\n description: The key may be used to encipher data.\n decipherOnly:\n type: boolean\n x-dcl-go-name: DecipherOnly\n description: The key may be used to decipher only.\n digitalSignature:\n type: boolean\n x-dcl-go-name: DigitalSignature\n description: The key may be used for digital signatures.\n encipherOnly:\n type: boolean\n x-dcl-go-name: EncipherOnly\n description: The key may be used to encipher only.\n keyAgreement:\n type: boolean\n x-dcl-go-name: KeyAgreement\n description: The key may be used in a key agreement protocol.\n keyEncipherment:\n type: boolean\n x-dcl-go-name: KeyEncipherment\n description: The key may be used to encipher other keys.\n extendedKeyUsage:\n type: object\n x-dcl-go-name: ExtendedKeyUsage\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsX509DescriptionKeyUsageExtendedKeyUsage\n description: Detailed scenarios in which a key may be used.\n properties:\n clientAuth:\n type: boolean\n x-dcl-go-name: ClientAuth\n description: Corresponds to OID 1.3.6.1.5.5.7.3.2. Officially\n described as \"TLS WWW client authentication\", though\n regularly used for non-WWW TLS.\n codeSigning:\n type: boolean\n x-dcl-go-name: CodeSigning\n description: Corresponds to OID 1.3.6.1.5.5.7.3.3. Officially\n described as \"Signing of downloadable executable code\n client authentication\".\n emailProtection:\n type: boolean\n x-dcl-go-name: EmailProtection\n description: Corresponds to OID 1.3.6.1.5.5.7.3.4. Officially\n described as \"Email protection\".\n ocspSigning:\n type: boolean\n x-dcl-go-name: OcspSigning\n description: Corresponds to OID 1.3.6.1.5.5.7.3.9. Officially\n described as \"Signing OCSP responses\".\n serverAuth:\n type: boolean\n x-dcl-go-name: ServerAuth\n description: Corresponds to OID 1.3.6.1.5.5.7.3.1. Officially\n described as \"TLS WWW server authentication\", though\n regularly used for non-WWW TLS.\n timeStamping:\n type: boolean\n x-dcl-go-name: TimeStamping\n description: Corresponds to OID 1.3.6.1.5.5.7.3.8. Officially\n described as \"Binding the hash of an object to a time\".\n unknownExtendedKeyUsages:\n type: array\n x-dcl-go-name: UnknownExtendedKeyUsages\n description: Used to describe extended key usages that are\n not listed in the KeyUsage.ExtendedKeyUsageOptions message.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsX509DescriptionKeyUsageUnknownExtendedKeyUsages\n required:\n - objectIdPath\n properties:\n objectIdPath:\n type: array\n x-dcl-go-name: ObjectIdPath\n description: Required. The parts of an OID path. The\n most significant parts of the path come first.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: integer\n format: int64\n x-dcl-go-type: int64\n policyIds:\n type: array\n x-dcl-go-name: PolicyIds\n description: Optional. Describes the X.509 certificate policy\n object identifiers, per https://tools.ietf.org/html/rfc5280#section-4.2.1.4.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsX509DescriptionPolicyIds\n required:\n - objectIdPath\n properties:\n objectIdPath:\n type: array\n x-dcl-go-name: ObjectIdPath\n description: Required. The parts of an OID path. The most\n significant parts of the path come first.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: integer\n format: int64\n x-dcl-go-type: int64\n caPool:\n type: string\n x-dcl-go-name: CaPool\n description: The caPool for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Privateca/CaPool\n field: name\n parent: true\n config:\n type: object\n x-dcl-go-name: Config\n x-dcl-go-type: CertificateAuthorityConfig\n description: Required. Immutable. The config used to create a self-signed\n X.509 certificate or CSR.\n x-kubernetes-immutable: true\n required:\n - subjectConfig\n - x509Config\n properties:\n publicKey:\n type: object\n x-dcl-go-name: PublicKey\n x-dcl-go-type: CertificateAuthorityConfigPublicKey\n readOnly: true\n description: Optional. The public key that corresponds to this config.\n This is, for example, used when issuing Certificates, but not when\n creating a self-signed CertificateAuthority or CertificateAuthority\n CSR.\n x-kubernetes-immutable: true\n required:\n - key\n - format\n properties:\n format:\n type: string\n x-dcl-go-name: Format\n x-dcl-go-type: CertificateAuthorityConfigPublicKeyFormatEnum\n description: 'Required. The format of the public key. Possible values:\n PEM'\n x-kubernetes-immutable: true\n enum:\n - PEM\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A public key. The padding and encoding must\n match with the `KeyFormat` value specified for the `format` field.\n x-kubernetes-immutable: true\n subjectConfig:\n type: object\n x-dcl-go-name: SubjectConfig\n x-dcl-go-type: CertificateAuthorityConfigSubjectConfig\n description: Required. Specifies some of the values in a certificate\n that are related to the subject.\n x-kubernetes-immutable: true\n required:\n - subject\n properties:\n subject:\n type: object\n x-dcl-go-name: Subject\n x-dcl-go-type: CertificateAuthorityConfigSubjectConfigSubject\n description: Required. Contains distinguished name fields such as\n the common name, location and organization.\n x-kubernetes-immutable: true\n properties:\n commonName:\n type: string\n x-dcl-go-name: CommonName\n description: The \"common name\" of the subject.\n x-kubernetes-immutable: true\n countryCode:\n type: string\n x-dcl-go-name: CountryCode\n description: The country code of the subject.\n x-kubernetes-immutable: true\n locality:\n type: string\n x-dcl-go-name: Locality\n description: The locality or city of the subject.\n x-kubernetes-immutable: true\n organization:\n type: string\n x-dcl-go-name: Organization\n description: The organization of the subject.\n x-kubernetes-immutable: true\n organizationalUnit:\n type: string\n x-dcl-go-name: OrganizationalUnit\n description: The organizational_unit of the subject.\n x-kubernetes-immutable: true\n postalCode:\n type: string\n x-dcl-go-name: PostalCode\n description: The postal code of the subject.\n x-kubernetes-immutable: true\n province:\n type: string\n x-dcl-go-name: Province\n description: The province, territory, or regional state of the\n subject.\n x-kubernetes-immutable: true\n streetAddress:\n type: string\n x-dcl-go-name: StreetAddress\n description: The street address of the subject.\n x-kubernetes-immutable: true\n subjectAltName:\n type: object\n x-dcl-go-name: SubjectAltName\n x-dcl-go-type: CertificateAuthorityConfigSubjectConfigSubjectAltName\n description: Optional. The subject alternative name fields.\n x-kubernetes-immutable: true\n properties:\n customSans:\n type: array\n x-dcl-go-name: CustomSans\n description: Contains additional subject alternative name values.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: CertificateAuthorityConfigSubjectConfigSubjectAltNameCustomSans\n required:\n - objectId\n - value\n properties:\n critical:\n type: boolean\n x-dcl-go-name: Critical\n description: Optional. Indicates whether or not this extension\n is critical (i.e., if the client does not know how to\n handle this extension, the client should consider this\n to be an error).\n x-kubernetes-immutable: true\n objectId:\n type: object\n x-dcl-go-name: ObjectId\n x-dcl-go-type: CertificateAuthorityConfigSubjectConfigSubjectAltNameCustomSansObjectId\n description: Required. The OID for this X.509 extension.\n x-kubernetes-immutable: true\n required:\n - objectIdPath\n properties:\n objectIdPath:\n type: array\n x-dcl-go-name: ObjectIdPath\n description: Required. The parts of an OID path. The\n most significant parts of the path come first.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: integer\n format: int64\n x-dcl-go-type: int64\n value:\n type: string\n x-dcl-go-name: Value\n description: Required. The value of this X.509 extension.\n x-kubernetes-immutable: true\n dnsNames:\n type: array\n x-dcl-go-name: DnsNames\n description: Contains only valid, fully-qualified host names.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n emailAddresses:\n type: array\n x-dcl-go-name: EmailAddresses\n description: Contains only valid RFC 2822 E-mail addresses.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n ipAddresses:\n type: array\n x-dcl-go-name: IPAddresses\n description: Contains only valid 32-bit IPv4 addresses or RFC\n 4291 IPv6 addresses.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n uris:\n type: array\n x-dcl-go-name: Uris\n description: Contains only valid RFC 3986 URIs.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x509Config:\n type: object\n x-dcl-go-name: X509Config\n x-dcl-go-type: CertificateAuthorityConfigX509Config\n description: Required. Describes how some of the technical X.509 fields\n in a certificate should be populated.\n x-kubernetes-immutable: true\n properties:\n additionalExtensions:\n type: array\n x-dcl-go-name: AdditionalExtensions\n description: Optional. Describes custom X.509 extensions.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: CertificateAuthorityConfigX509ConfigAdditionalExtensions\n required:\n - objectId\n - value\n properties:\n critical:\n type: boolean\n x-dcl-go-name: Critical\n description: Optional. Indicates whether or not this extension\n is critical (i.e., if the client does not know how to handle\n this extension, the client should consider this to be an\n error).\n x-kubernetes-immutable: true\n objectId:\n type: object\n x-dcl-go-name: ObjectId\n x-dcl-go-type: CertificateAuthorityConfigX509ConfigAdditionalExtensionsObjectId\n description: Required. The OID for this X.509 extension.\n x-kubernetes-immutable: true\n required:\n - objectIdPath\n properties:\n objectIdPath:\n type: array\n x-dcl-go-name: ObjectIdPath\n description: Required. The parts of an OID path. The most\n significant parts of the path come first.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: integer\n format: int64\n x-dcl-go-type: int64\n value:\n type: string\n x-dcl-go-name: Value\n description: Required. The value of this X.509 extension.\n x-kubernetes-immutable: true\n aiaOcspServers:\n type: array\n x-dcl-go-name: AiaOcspServers\n readOnly: true\n description: Optional. Describes Online Certificate Status Protocol\n (OCSP) endpoint addresses that appear in the \"Authority Information\n Access\" extension in the certificate.\n x-kubernetes-immutable: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n caOptions:\n type: object\n x-dcl-go-name: CaOptions\n x-dcl-go-type: CertificateAuthorityConfigX509ConfigCaOptions\n description: Optional. Describes options in this X509Parameters\n that are relevant in a CA certificate.\n x-kubernetes-immutable: true\n properties:\n isCa:\n type: boolean\n x-dcl-go-name: IsCa\n description: Optional. Refers to the \"CA\" X.509 extension, which\n is a boolean value. When this value is missing, the extension\n will be omitted from the CA certificate.\n x-kubernetes-immutable: true\n maxIssuerPathLength:\n type: integer\n format: int64\n x-dcl-go-name: MaxIssuerPathLength\n description: Optional. Refers to the path length restriction\n X.509 extension. For a CA certificate, this value describes\n the depth of subordinate CA certificates that are allowed.\n If this value is less than 0, the request will fail. If this\n value is missing, the max path length will be omitted from\n the CA certificate.\n x-kubernetes-immutable: true\n keyUsage:\n type: object\n x-dcl-go-name: KeyUsage\n x-dcl-go-type: CertificateAuthorityConfigX509ConfigKeyUsage\n description: Optional. Indicates the intended use for keys that\n correspond to a certificate.\n x-kubernetes-immutable: true\n properties:\n baseKeyUsage:\n type: object\n x-dcl-go-name: BaseKeyUsage\n x-dcl-go-type: CertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage\n description: Describes high-level ways in which a key may be\n used.\n x-kubernetes-immutable: true\n properties:\n certSign:\n type: boolean\n x-dcl-go-name: CertSign\n description: The key may be used to sign certificates.\n x-kubernetes-immutable: true\n contentCommitment:\n type: boolean\n x-dcl-go-name: ContentCommitment\n description: The key may be used for cryptographic commitments.\n Note that this may also be referred to as \"non-repudiation\".\n x-kubernetes-immutable: true\n crlSign:\n type: boolean\n x-dcl-go-name: CrlSign\n description: The key may be used sign certificate revocation\n lists.\n x-kubernetes-immutable: true\n dataEncipherment:\n type: boolean\n x-dcl-go-name: DataEncipherment\n description: The key may be used to encipher data.\n x-kubernetes-immutable: true\n decipherOnly:\n type: boolean\n x-dcl-go-name: DecipherOnly\n description: The key may be used to decipher only.\n x-kubernetes-immutable: true\n digitalSignature:\n type: boolean\n x-dcl-go-name: DigitalSignature\n description: The key may be used for digital signatures.\n x-kubernetes-immutable: true\n encipherOnly:\n type: boolean\n x-dcl-go-name: EncipherOnly\n description: The key may be used to encipher only.\n x-kubernetes-immutable: true\n keyAgreement:\n type: boolean\n x-dcl-go-name: KeyAgreement\n description: The key may be used in a key agreement protocol.\n x-kubernetes-immutable: true\n keyEncipherment:\n type: boolean\n x-dcl-go-name: KeyEncipherment\n description: The key may be used to encipher other keys.\n x-kubernetes-immutable: true\n extendedKeyUsage:\n type: object\n x-dcl-go-name: ExtendedKeyUsage\n x-dcl-go-type: CertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage\n description: Detailed scenarios in which a key may be used.\n x-kubernetes-immutable: true\n properties:\n clientAuth:\n type: boolean\n x-dcl-go-name: ClientAuth\n description: Corresponds to OID 1.3.6.1.5.5.7.3.2. Officially\n described as \"TLS WWW client authentication\", though regularly\n used for non-WWW TLS.\n x-kubernetes-immutable: true\n codeSigning:\n type: boolean\n x-dcl-go-name: CodeSigning\n description: Corresponds to OID 1.3.6.1.5.5.7.3.3. Officially\n described as \"Signing of downloadable executable code\n client authentication\".\n x-kubernetes-immutable: true\n emailProtection:\n type: boolean\n x-dcl-go-name: EmailProtection\n description: Corresponds to OID 1.3.6.1.5.5.7.3.4. Officially\n described as \"Email protection\".\n x-kubernetes-immutable: true\n ocspSigning:\n type: boolean\n x-dcl-go-name: OcspSigning\n description: Corresponds to OID 1.3.6.1.5.5.7.3.9. Officially\n described as \"Signing OCSP responses\".\n x-kubernetes-immutable: true\n serverAuth:\n type: boolean\n x-dcl-go-name: ServerAuth\n description: Corresponds to OID 1.3.6.1.5.5.7.3.1. Officially\n described as \"TLS WWW server authentication\", though regularly\n used for non-WWW TLS.\n x-kubernetes-immutable: true\n timeStamping:\n type: boolean\n x-dcl-go-name: TimeStamping\n description: Corresponds to OID 1.3.6.1.5.5.7.3.8. Officially\n described as \"Binding the hash of an object to a time\".\n x-kubernetes-immutable: true\n unknownExtendedKeyUsages:\n type: array\n x-dcl-go-name: UnknownExtendedKeyUsages\n description: Used to describe extended key usages that are not\n listed in the KeyUsage.ExtendedKeyUsageOptions message.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: CertificateAuthorityConfigX509ConfigKeyUsageUnknownExtendedKeyUsages\n required:\n - objectIdPath\n properties:\n objectIdPath:\n type: array\n x-dcl-go-name: ObjectIdPath\n description: Required. The parts of an OID path. The most\n significant parts of the path come first.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: integer\n format: int64\n x-dcl-go-type: int64\n policyIds:\n type: array\n x-dcl-go-name: PolicyIds\n description: Optional. Describes the X.509 certificate policy object\n identifiers, per https://tools.ietf.org/html/rfc5280#section-4.2.1.4.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: CertificateAuthorityConfigX509ConfigPolicyIds\n required:\n - objectIdPath\n properties:\n objectIdPath:\n type: array\n x-dcl-go-name: ObjectIdPath\n description: Required. The parts of an OID path. The most\n significant parts of the path come first.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: integer\n format: int64\n x-dcl-go-type: int64\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Output only. The time at which this CertificateAuthority was\n created.\n x-kubernetes-immutable: true\n deleteTime:\n type: string\n format: date-time\n x-dcl-go-name: DeleteTime\n readOnly: true\n description: Output only. The time at which this CertificateAuthority was\n soft deleted, if it is in the DELETED state.\n x-kubernetes-immutable: true\n expireTime:\n type: string\n format: date-time\n x-dcl-go-name: ExpireTime\n readOnly: true\n description: Output only. The time at which this CertificateAuthority will\n be permanently purged, if it is in the DELETED state.\n x-kubernetes-immutable: true\n gcsBucket:\n type: string\n x-dcl-go-name: GcsBucket\n description: Immutable. The name of a Cloud Storage bucket where this CertificateAuthority\n will publish content, such as the CA certificate and CRLs. This must be\n a bucket name, without any prefixes (such as `gs://`) or suffixes (such\n as `.googleapis.com`). For example, to use a bucket named `my-bucket`,\n you would simply specify `my-bucket`. If not specified, a managed bucket\n will be created.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Storage/Bucket\n field: name\n keySpec:\n type: object\n x-dcl-go-name: KeySpec\n x-dcl-go-type: CertificateAuthorityKeySpec\n description: Required. Immutable. Used when issuing certificates for this\n CertificateAuthority. If this CertificateAuthority is a self-signed CertificateAuthority,\n this key is also used to sign the self-signed CA certificate. Otherwise,\n it is used to sign a CSR.\n x-kubernetes-immutable: true\n properties:\n algorithm:\n type: string\n x-dcl-go-name: Algorithm\n x-dcl-go-type: CertificateAuthorityKeySpecAlgorithmEnum\n description: 'The algorithm to use for creating a managed Cloud KMS\n key for a for a simplified experience. All managed keys will be have\n their ProtectionLevel as `HSM`. Possible values: RSA_PSS_2048_SHA256,\n RSA_PSS_3072_SHA256, RSA_PSS_4096_SHA256, RSA_PKCS1_2048_SHA256, RSA_PKCS1_3072_SHA256,\n RSA_PKCS1_4096_SHA256, EC_P256_SHA256, EC_P384_SHA384'\n x-kubernetes-immutable: true\n x-dcl-conflicts:\n - cloudKmsKeyVersion\n enum:\n - RSA_PSS_2048_SHA256\n - RSA_PSS_3072_SHA256\n - RSA_PSS_4096_SHA256\n - RSA_PKCS1_2048_SHA256\n - RSA_PKCS1_3072_SHA256\n - RSA_PKCS1_4096_SHA256\n - EC_P256_SHA256\n - EC_P384_SHA384\n cloudKmsKeyVersion:\n type: string\n x-dcl-go-name: CloudKmsKeyVersion\n description: The resource name for an existing Cloud KMS CryptoKeyVersion\n in the format `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.\n This option enables full flexibility in the key's capabilities and\n properties.\n x-kubernetes-immutable: true\n x-dcl-conflicts:\n - algorithm\n x-dcl-references:\n - resource: Cloudkms/CryptoKeyVersion\n field: name\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: Optional. Labels with user-defined metadata.\n lifetime:\n type: string\n x-dcl-go-name: Lifetime\n description: Required. The desired lifetime of the CA certificate. Used\n to create the \"not_before_time\" and \"not_after_time\" fields inside an\n X.509 certificate.\n x-kubernetes-immutable: true\n location:\n type: string\n x-dcl-go-name: Location\n description: The location for the resource\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: The resource name for this CertificateAuthority in the format\n `projects/*/locations/*/caPools/*/certificateAuthorities/*`.\n x-kubernetes-immutable: true\n pemCaCertificates:\n type: array\n x-dcl-go-name: PemCaCertificates\n readOnly: true\n description: Output only. This CertificateAuthority's certificate chain,\n including the current CertificateAuthority's certificate. Ordered such\n that the root issuer is the final element (consistent with RFC 5246).\n For a self-signed CA, this will only list the current CertificateAuthority's\n certificate.\n x-kubernetes-immutable: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n project:\n type: string\n x-dcl-go-name: Project\n description: The project for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n state:\n type: string\n x-dcl-go-name: State\n x-dcl-go-type: CertificateAuthorityStateEnum\n readOnly: true\n description: 'Output only. The State for this CertificateAuthority. Possible\n values: ENABLED, DISABLED, STAGED, AWAITING_USER_ACTIVATION, DELETED'\n x-kubernetes-immutable: true\n enum:\n - ENABLED\n - DISABLED\n - STAGED\n - AWAITING_USER_ACTIVATION\n - DELETED\n subordinateConfig:\n type: object\n x-dcl-go-name: SubordinateConfig\n x-dcl-go-type: CertificateAuthoritySubordinateConfig\n readOnly: true\n description: Optional. If this is a subordinate CertificateAuthority, this\n field will be set with the subordinate configuration, which describes\n its issuers. This may be updated, but this CertificateAuthority must continue\n to validate.\n x-kubernetes-immutable: true\n properties:\n certificateAuthority:\n type: string\n x-dcl-go-name: CertificateAuthority\n description: Required. This can refer to a CertificateAuthority in the\n same project that was used to create a subordinate CertificateAuthority.\n This field is used for information and usability purposes only. The\n resource name is in the format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.\n x-kubernetes-immutable: true\n x-dcl-conflicts:\n - pemIssuerChain\n x-dcl-references:\n - resource: Privateca/CertificateAuthority\n field: selfLink\n pemIssuerChain:\n type: object\n x-dcl-go-name: PemIssuerChain\n x-dcl-go-type: CertificateAuthoritySubordinateConfigPemIssuerChain\n description: Required. Contains the PEM certificate chain for the issuers\n of this CertificateAuthority, but not pem certificate for this CA\n itself.\n x-kubernetes-immutable: true\n x-dcl-conflicts:\n - certificateAuthority\n required:\n - pemCertificates\n properties:\n pemCertificates:\n type: array\n x-dcl-go-name: PemCertificates\n description: Required. Expected to be in leaf-to-root order according\n to RFC 5246.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n tier:\n type: string\n x-dcl-go-name: Tier\n x-dcl-go-type: CertificateAuthorityTierEnum\n readOnly: true\n description: 'Output only. The CaPool.Tier of the CaPool that includes this\n CertificateAuthority. Possible values: ENTERPRISE, DEVOPS'\n x-kubernetes-immutable: true\n enum:\n - ENTERPRISE\n - DEVOPS\n type:\n type: string\n x-dcl-go-name: Type\n x-dcl-go-type: CertificateAuthorityTypeEnum\n description: 'Required. Immutable. The Type of this CertificateAuthority.\n Possible values: SELF_SIGNED, SUBORDINATE'\n x-kubernetes-immutable: true\n enum:\n - SELF_SIGNED\n - SUBORDINATE\n updateTime:\n type: string\n format: date-time\n x-dcl-go-name: UpdateTime\n readOnly: true\n description: Output only. The time at which this CertificateAuthority was\n last updated.\n x-kubernetes-immutable: true\n")
+var YAML_certificate_authority = []byte("info:\n title: Privateca/CertificateAuthority\n description: The Privateca CertificateAuthority resource\n x-dcl-struct-name: CertificateAuthority\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a CertificateAuthority\n parameters:\n - name: certificateAuthority\n required: true\n description: A full instance of a CertificateAuthority\n apply:\n description: The function used to apply information about a CertificateAuthority\n parameters:\n - name: certificateAuthority\n required: true\n description: A full instance of a CertificateAuthority\n delete:\n description: The function used to delete a CertificateAuthority\n parameters:\n - name: certificateAuthority\n required: true\n description: A full instance of a CertificateAuthority\n deleteAll:\n description: The function used to delete all CertificateAuthority\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n - name: caPool\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many CertificateAuthority\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n - name: caPool\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n CertificateAuthority:\n title: CertificateAuthority\n x-dcl-id: projects/{{project}}/locations/{{location}}/caPools/{{ca_pool}}/certificateAuthorities/{{name}}\n x-dcl-parent-container: project\n x-dcl-labels: labels\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - type\n - config\n - lifetime\n - keySpec\n - project\n - location\n - caPool\n properties:\n accessUrls:\n type: object\n x-dcl-go-name: AccessUrls\n x-dcl-go-type: CertificateAuthorityAccessUrls\n readOnly: true\n description: Output only. URLs for accessing content published by this CA,\n such as the CA certificate and CRLs.\n x-kubernetes-immutable: true\n properties:\n caCertificateAccessUrl:\n type: string\n x-dcl-go-name: CaCertificateAccessUrl\n description: The URL where this CertificateAuthority's CA certificate\n is published. This will only be set for CAs that have been activated.\n x-kubernetes-immutable: true\n crlAccessUrls:\n type: array\n x-dcl-go-name: CrlAccessUrls\n description: The URLs where this CertificateAuthority's CRLs are published.\n This will only be set for CAs that have been activated.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n caCertificateDescriptions:\n type: array\n x-dcl-go-name: CaCertificateDescriptions\n readOnly: true\n description: Output only. A structured description of this CertificateAuthority's\n CA certificate and its issuers. Ordered as self-to-root.\n x-kubernetes-immutable: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptions\n properties:\n aiaIssuingCertificateUrls:\n type: array\n x-dcl-go-name: AiaIssuingCertificateUrls\n description: Describes lists of issuer CA certificate URLs that appear\n in the \"Authority Information Access\" extension in the certificate.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n authorityKeyId:\n type: object\n x-dcl-go-name: AuthorityKeyId\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsAuthorityKeyId\n description: Identifies the subject_key_id of the parent certificate,\n per https://tools.ietf.org/html/rfc5280#section-4.2.1.1\n properties:\n keyId:\n type: string\n x-dcl-go-name: KeyId\n description: Optional. The value of this KeyId encoded in lowercase\n hexadecimal. This is most likely the 160 bit SHA-1 hash of the\n public key.\n certFingerprint:\n type: object\n x-dcl-go-name: CertFingerprint\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsCertFingerprint\n description: The hash of the x.509 certificate.\n properties:\n sha256Hash:\n type: string\n x-dcl-go-name: Sha256Hash\n description: The SHA 256 hash, encoded in hexadecimal, of the\n DER x509 certificate.\n crlDistributionPoints:\n type: array\n x-dcl-go-name: CrlDistributionPoints\n description: Describes a list of locations to obtain CRL information,\n i.e. the DistributionPoint.fullName described by https://tools.ietf.org/html/rfc5280#section-4.2.1.13\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n publicKey:\n type: object\n x-dcl-go-name: PublicKey\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsPublicKey\n description: The public key that corresponds to an issued certificate.\n required:\n - key\n - format\n properties:\n format:\n type: string\n x-dcl-go-name: Format\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsPublicKeyFormatEnum\n description: 'Required. The format of the public key. Possible\n values: PEM'\n enum:\n - PEM\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A public key. The padding and encoding\n must match with the `KeyFormat` value specified for the `format`\n field.\n subjectDescription:\n type: object\n x-dcl-go-name: SubjectDescription\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsSubjectDescription\n description: Describes some of the values in a certificate that are\n related to the subject and lifetime.\n properties:\n hexSerialNumber:\n type: string\n x-dcl-go-name: HexSerialNumber\n description: The serial number encoded in lowercase hexadecimal.\n lifetime:\n type: string\n x-dcl-go-name: Lifetime\n description: For convenience, the actual lifetime of an issued\n certificate.\n notAfterTime:\n type: string\n format: date-time\n x-dcl-go-name: NotAfterTime\n description: The time after which the certificate is expired.\n Per RFC 5280, the validity period for a certificate is the period\n of time from not_before_time through not_after_time, inclusive.\n Corresponds to 'not_before_time' + 'lifetime' - 1 second.\n notBeforeTime:\n type: string\n format: date-time\n x-dcl-go-name: NotBeforeTime\n description: The time at which the certificate becomes valid.\n subject:\n type: object\n x-dcl-go-name: Subject\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsSubjectDescriptionSubject\n description: Contains distinguished name fields such as the common\n name, location and organization.\n properties:\n commonName:\n type: string\n x-dcl-go-name: CommonName\n description: The \"common name\" of the subject.\n countryCode:\n type: string\n x-dcl-go-name: CountryCode\n description: The country code of the subject.\n locality:\n type: string\n x-dcl-go-name: Locality\n description: The locality or city of the subject.\n organization:\n type: string\n x-dcl-go-name: Organization\n description: The organization of the subject.\n organizationalUnit:\n type: string\n x-dcl-go-name: OrganizationalUnit\n description: The organizational_unit of the subject.\n postalCode:\n type: string\n x-dcl-go-name: PostalCode\n description: The postal code of the subject.\n province:\n type: string\n x-dcl-go-name: Province\n description: The province, territory, or regional state of\n the subject.\n streetAddress:\n type: string\n x-dcl-go-name: StreetAddress\n description: The street address of the subject.\n subjectAltName:\n type: object\n x-dcl-go-name: SubjectAltName\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsSubjectDescriptionSubjectAltName\n description: The subject alternative name fields.\n properties:\n customSans:\n type: array\n x-dcl-go-name: CustomSans\n description: Contains additional subject alternative name\n values.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsSubjectDescriptionSubjectAltNameCustomSans\n required:\n - objectId\n - critical\n - value\n properties:\n critical:\n type: boolean\n x-dcl-go-name: Critical\n description: Optional. Indicates whether or not this\n extension is critical (i.e., if the client does not\n know how to handle this extension, the client should\n consider this to be an error).\n objectId:\n type: object\n x-dcl-go-name: ObjectId\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsSubjectDescriptionSubjectAltNameCustomSansObjectId\n description: Required. The OID for this X.509 extension.\n required:\n - objectIdPath\n properties:\n objectIdPath:\n type: array\n x-dcl-go-name: ObjectIdPath\n description: Required. The parts of an OID path.\n The most significant parts of the path come first.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: integer\n format: int64\n x-dcl-go-type: int64\n value:\n type: string\n x-dcl-go-name: Value\n description: Required. The value of this X.509 extension.\n dnsNames:\n type: array\n x-dcl-go-name: DnsNames\n description: Contains only valid, fully-qualified host names.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n emailAddresses:\n type: array\n x-dcl-go-name: EmailAddresses\n description: Contains only valid RFC 2822 E-mail addresses.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n ipAddresses:\n type: array\n x-dcl-go-name: IPAddresses\n description: Contains only valid 32-bit IPv4 addresses or\n RFC 4291 IPv6 addresses.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n uris:\n type: array\n x-dcl-go-name: Uris\n description: Contains only valid RFC 3986 URIs.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n subjectKeyId:\n type: object\n x-dcl-go-name: SubjectKeyId\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsSubjectKeyId\n description: Provides a means of identifiying certificates that contain\n a particular public key, per https://tools.ietf.org/html/rfc5280#section-4.2.1.2.\n properties:\n keyId:\n type: string\n x-dcl-go-name: KeyId\n description: Optional. The value of this KeyId encoded in lowercase\n hexadecimal. This is most likely the 160 bit SHA-1 hash of the\n public key.\n x509Description:\n type: object\n x-dcl-go-name: X509Description\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsX509Description\n description: Describes some of the technical X.509 fields in a certificate.\n properties:\n additionalExtensions:\n type: array\n x-dcl-go-name: AdditionalExtensions\n description: Optional. Describes custom X.509 extensions.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsX509DescriptionAdditionalExtensions\n required:\n - objectId\n - value\n properties:\n critical:\n type: boolean\n x-dcl-go-name: Critical\n description: Optional. Indicates whether or not this extension\n is critical (i.e., if the client does not know how to\n handle this extension, the client should consider this\n to be an error).\n objectId:\n type: object\n x-dcl-go-name: ObjectId\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsX509DescriptionAdditionalExtensionsObjectId\n description: Required. The OID for this X.509 extension.\n required:\n - objectIdPath\n properties:\n objectIdPath:\n type: array\n x-dcl-go-name: ObjectIdPath\n description: Required. The parts of an OID path. The\n most significant parts of the path come first.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: integer\n format: int64\n x-dcl-go-type: int64\n value:\n type: string\n x-dcl-go-name: Value\n description: Required. The value of this X.509 extension.\n aiaOcspServers:\n type: array\n x-dcl-go-name: AiaOcspServers\n readOnly: true\n description: Optional. Describes Online Certificate Status Protocol\n (OCSP) endpoint addresses that appear in the \"Authority Information\n Access\" extension in the certificate.\n x-kubernetes-immutable: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n caOptions:\n type: object\n x-dcl-go-name: CaOptions\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsX509DescriptionCaOptions\n description: Optional. Describes options in this X509Parameters\n that are relevant in a CA certificate.\n properties:\n isCa:\n type: boolean\n x-dcl-go-name: IsCa\n description: Optional. Refers to the \"CA\" X.509 extension,\n which is a boolean value. When this value is missing, the\n extension will be omitted from the CA certificate.\n maxIssuerPathLength:\n type: integer\n format: int64\n x-dcl-go-name: MaxIssuerPathLength\n description: Optional. Refers to the path length restriction\n X.509 extension. For a CA certificate, this value describes\n the depth of subordinate CA certificates that are allowed.\n If this value is less than 0, the request will fail. If\n this value is missing, the max path length will be omitted\n from the CA certificate.\n keyUsage:\n type: object\n x-dcl-go-name: KeyUsage\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsX509DescriptionKeyUsage\n description: Optional. Indicates the intended use for keys that\n correspond to a certificate.\n properties:\n baseKeyUsage:\n type: object\n x-dcl-go-name: BaseKeyUsage\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsX509DescriptionKeyUsageBaseKeyUsage\n description: Describes high-level ways in which a key may\n be used.\n properties:\n certSign:\n type: boolean\n x-dcl-go-name: CertSign\n description: The key may be used to sign certificates.\n contentCommitment:\n type: boolean\n x-dcl-go-name: ContentCommitment\n description: The key may be used for cryptographic commitments.\n Note that this may also be referred to as \"non-repudiation\".\n crlSign:\n type: boolean\n x-dcl-go-name: CrlSign\n description: The key may be used sign certificate revocation\n lists.\n dataEncipherment:\n type: boolean\n x-dcl-go-name: DataEncipherment\n description: The key may be used to encipher data.\n decipherOnly:\n type: boolean\n x-dcl-go-name: DecipherOnly\n description: The key may be used to decipher only.\n digitalSignature:\n type: boolean\n x-dcl-go-name: DigitalSignature\n description: The key may be used for digital signatures.\n encipherOnly:\n type: boolean\n x-dcl-go-name: EncipherOnly\n description: The key may be used to encipher only.\n keyAgreement:\n type: boolean\n x-dcl-go-name: KeyAgreement\n description: The key may be used in a key agreement protocol.\n keyEncipherment:\n type: boolean\n x-dcl-go-name: KeyEncipherment\n description: The key may be used to encipher other keys.\n extendedKeyUsage:\n type: object\n x-dcl-go-name: ExtendedKeyUsage\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsX509DescriptionKeyUsageExtendedKeyUsage\n description: Detailed scenarios in which a key may be used.\n properties:\n clientAuth:\n type: boolean\n x-dcl-go-name: ClientAuth\n description: Corresponds to OID 1.3.6.1.5.5.7.3.2. Officially\n described as \"TLS WWW client authentication\", though\n regularly used for non-WWW TLS.\n codeSigning:\n type: boolean\n x-dcl-go-name: CodeSigning\n description: Corresponds to OID 1.3.6.1.5.5.7.3.3. Officially\n described as \"Signing of downloadable executable code\n client authentication\".\n emailProtection:\n type: boolean\n x-dcl-go-name: EmailProtection\n description: Corresponds to OID 1.3.6.1.5.5.7.3.4. Officially\n described as \"Email protection\".\n ocspSigning:\n type: boolean\n x-dcl-go-name: OcspSigning\n description: Corresponds to OID 1.3.6.1.5.5.7.3.9. Officially\n described as \"Signing OCSP responses\".\n serverAuth:\n type: boolean\n x-dcl-go-name: ServerAuth\n description: Corresponds to OID 1.3.6.1.5.5.7.3.1. Officially\n described as \"TLS WWW server authentication\", though\n regularly used for non-WWW TLS.\n timeStamping:\n type: boolean\n x-dcl-go-name: TimeStamping\n description: Corresponds to OID 1.3.6.1.5.5.7.3.8. Officially\n described as \"Binding the hash of an object to a time\".\n unknownExtendedKeyUsages:\n type: array\n x-dcl-go-name: UnknownExtendedKeyUsages\n description: Used to describe extended key usages that are\n not listed in the KeyUsage.ExtendedKeyUsageOptions message.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsX509DescriptionKeyUsageUnknownExtendedKeyUsages\n required:\n - objectIdPath\n properties:\n objectIdPath:\n type: array\n x-dcl-go-name: ObjectIdPath\n description: Required. The parts of an OID path. The\n most significant parts of the path come first.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: integer\n format: int64\n x-dcl-go-type: int64\n policyIds:\n type: array\n x-dcl-go-name: PolicyIds\n description: Optional. Describes the X.509 certificate policy\n object identifiers, per https://tools.ietf.org/html/rfc5280#section-4.2.1.4.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: CertificateAuthorityCaCertificateDescriptionsX509DescriptionPolicyIds\n required:\n - objectIdPath\n properties:\n objectIdPath:\n type: array\n x-dcl-go-name: ObjectIdPath\n description: Required. The parts of an OID path. The most\n significant parts of the path come first.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: integer\n format: int64\n x-dcl-go-type: int64\n caPool:\n type: string\n x-dcl-go-name: CaPool\n description: The caPool for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Privateca/CaPool\n field: name\n parent: true\n config:\n type: object\n x-dcl-go-name: Config\n x-dcl-go-type: CertificateAuthorityConfig\n description: Required. Immutable. The config used to create a self-signed\n X.509 certificate or CSR.\n x-kubernetes-immutable: true\n required:\n - subjectConfig\n - x509Config\n properties:\n publicKey:\n type: object\n x-dcl-go-name: PublicKey\n x-dcl-go-type: CertificateAuthorityConfigPublicKey\n readOnly: true\n description: Optional. The public key that corresponds to this config.\n This is, for example, used when issuing Certificates, but not when\n creating a self-signed CertificateAuthority or CertificateAuthority\n CSR.\n x-kubernetes-immutable: true\n required:\n - key\n - format\n properties:\n format:\n type: string\n x-dcl-go-name: Format\n x-dcl-go-type: CertificateAuthorityConfigPublicKeyFormatEnum\n description: 'Required. The format of the public key. Possible values:\n PEM'\n x-kubernetes-immutable: true\n enum:\n - PEM\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A public key. The padding and encoding must\n match with the `KeyFormat` value specified for the `format` field.\n x-kubernetes-immutable: true\n subjectConfig:\n type: object\n x-dcl-go-name: SubjectConfig\n x-dcl-go-type: CertificateAuthorityConfigSubjectConfig\n description: Required. Specifies some of the values in a certificate\n that are related to the subject.\n x-kubernetes-immutable: true\n required:\n - subject\n properties:\n subject:\n type: object\n x-dcl-go-name: Subject\n x-dcl-go-type: CertificateAuthorityConfigSubjectConfigSubject\n description: Required. Contains distinguished name fields such as\n the common name, location and organization.\n x-kubernetes-immutable: true\n properties:\n commonName:\n type: string\n x-dcl-go-name: CommonName\n description: The \"common name\" of the subject.\n x-kubernetes-immutable: true\n countryCode:\n type: string\n x-dcl-go-name: CountryCode\n description: The country code of the subject.\n x-kubernetes-immutable: true\n locality:\n type: string\n x-dcl-go-name: Locality\n description: The locality or city of the subject.\n x-kubernetes-immutable: true\n organization:\n type: string\n x-dcl-go-name: Organization\n description: The organization of the subject.\n x-kubernetes-immutable: true\n organizationalUnit:\n type: string\n x-dcl-go-name: OrganizationalUnit\n description: The organizational_unit of the subject.\n x-kubernetes-immutable: true\n postalCode:\n type: string\n x-dcl-go-name: PostalCode\n description: The postal code of the subject.\n x-kubernetes-immutable: true\n province:\n type: string\n x-dcl-go-name: Province\n description: The province, territory, or regional state of the\n subject.\n x-kubernetes-immutable: true\n streetAddress:\n type: string\n x-dcl-go-name: StreetAddress\n description: The street address of the subject.\n x-kubernetes-immutable: true\n subjectAltName:\n type: object\n x-dcl-go-name: SubjectAltName\n x-dcl-go-type: CertificateAuthorityConfigSubjectConfigSubjectAltName\n description: Optional. The subject alternative name fields.\n x-kubernetes-immutable: true\n properties:\n customSans:\n type: array\n x-dcl-go-name: CustomSans\n description: Contains additional subject alternative name values.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: CertificateAuthorityConfigSubjectConfigSubjectAltNameCustomSans\n required:\n - objectId\n - value\n properties:\n critical:\n type: boolean\n x-dcl-go-name: Critical\n description: Optional. Indicates whether or not this extension\n is critical (i.e., if the client does not know how to\n handle this extension, the client should consider this\n to be an error).\n x-kubernetes-immutable: true\n objectId:\n type: object\n x-dcl-go-name: ObjectId\n x-dcl-go-type: CertificateAuthorityConfigSubjectConfigSubjectAltNameCustomSansObjectId\n description: Required. The OID for this X.509 extension.\n x-kubernetes-immutable: true\n required:\n - objectIdPath\n properties:\n objectIdPath:\n type: array\n x-dcl-go-name: ObjectIdPath\n description: Required. The parts of an OID path. The\n most significant parts of the path come first.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: integer\n format: int64\n x-dcl-go-type: int64\n value:\n type: string\n x-dcl-go-name: Value\n description: Required. The value of this X.509 extension.\n x-kubernetes-immutable: true\n dnsNames:\n type: array\n x-dcl-go-name: DnsNames\n description: Contains only valid, fully-qualified host names.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n emailAddresses:\n type: array\n x-dcl-go-name: EmailAddresses\n description: Contains only valid RFC 2822 E-mail addresses.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n ipAddresses:\n type: array\n x-dcl-go-name: IPAddresses\n description: Contains only valid 32-bit IPv4 addresses or RFC\n 4291 IPv6 addresses.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n uris:\n type: array\n x-dcl-go-name: Uris\n description: Contains only valid RFC 3986 URIs.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x509Config:\n type: object\n x-dcl-go-name: X509Config\n x-dcl-go-type: CertificateAuthorityConfigX509Config\n description: Required. Describes how some of the technical X.509 fields\n in a certificate should be populated.\n x-kubernetes-immutable: true\n properties:\n additionalExtensions:\n type: array\n x-dcl-go-name: AdditionalExtensions\n description: Optional. Describes custom X.509 extensions.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: CertificateAuthorityConfigX509ConfigAdditionalExtensions\n required:\n - objectId\n - value\n properties:\n critical:\n type: boolean\n x-dcl-go-name: Critical\n description: Optional. Indicates whether or not this extension\n is critical (i.e., if the client does not know how to handle\n this extension, the client should consider this to be an\n error).\n x-kubernetes-immutable: true\n objectId:\n type: object\n x-dcl-go-name: ObjectId\n x-dcl-go-type: CertificateAuthorityConfigX509ConfigAdditionalExtensionsObjectId\n description: Required. The OID for this X.509 extension.\n x-kubernetes-immutable: true\n required:\n - objectIdPath\n properties:\n objectIdPath:\n type: array\n x-dcl-go-name: ObjectIdPath\n description: Required. The parts of an OID path. The most\n significant parts of the path come first.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: integer\n format: int64\n x-dcl-go-type: int64\n value:\n type: string\n x-dcl-go-name: Value\n description: Required. The value of this X.509 extension.\n x-kubernetes-immutable: true\n aiaOcspServers:\n type: array\n x-dcl-go-name: AiaOcspServers\n readOnly: true\n description: Optional. Describes Online Certificate Status Protocol\n (OCSP) endpoint addresses that appear in the \"Authority Information\n Access\" extension in the certificate.\n x-kubernetes-immutable: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n caOptions:\n type: object\n x-dcl-go-name: CaOptions\n x-dcl-go-type: CertificateAuthorityConfigX509ConfigCaOptions\n description: Optional. Describes options in this X509Parameters\n that are relevant in a CA certificate.\n x-kubernetes-immutable: true\n properties:\n isCa:\n type: boolean\n x-dcl-go-name: IsCa\n description: Optional. Refers to the \"CA\" X.509 extension, which\n is a boolean value. When this value is missing, the extension\n will be omitted from the CA certificate.\n x-kubernetes-immutable: true\n maxIssuerPathLength:\n type: integer\n format: int64\n x-dcl-go-name: MaxIssuerPathLength\n description: Optional. Refers to the path length restriction\n X.509 extension. For a CA certificate, this value describes\n the depth of subordinate CA certificates that are allowed.\n If this value is less than 0, the request will fail. If this\n value is missing, the max path length will be omitted from\n the CA certificate.\n x-kubernetes-immutable: true\n zeroMaxIssuerPathLength:\n type: boolean\n x-dcl-go-name: ZeroMaxIssuerPathLength\n description: Optional. When true, the \"path length constraint\"\n in Basic Constraints extension will be set to 0. if both max_issuer_path_length\n and zero_max_issuer_path_length are unset, the max path length\n will be omitted from the CA certificate.\n x-kubernetes-immutable: true\n keyUsage:\n type: object\n x-dcl-go-name: KeyUsage\n x-dcl-go-type: CertificateAuthorityConfigX509ConfigKeyUsage\n description: Optional. Indicates the intended use for keys that\n correspond to a certificate.\n x-kubernetes-immutable: true\n properties:\n baseKeyUsage:\n type: object\n x-dcl-go-name: BaseKeyUsage\n x-dcl-go-type: CertificateAuthorityConfigX509ConfigKeyUsageBaseKeyUsage\n description: Describes high-level ways in which a key may be\n used.\n x-kubernetes-immutable: true\n properties:\n certSign:\n type: boolean\n x-dcl-go-name: CertSign\n description: The key may be used to sign certificates.\n x-kubernetes-immutable: true\n contentCommitment:\n type: boolean\n x-dcl-go-name: ContentCommitment\n description: The key may be used for cryptographic commitments.\n Note that this may also be referred to as \"non-repudiation\".\n x-kubernetes-immutable: true\n crlSign:\n type: boolean\n x-dcl-go-name: CrlSign\n description: The key may be used sign certificate revocation\n lists.\n x-kubernetes-immutable: true\n dataEncipherment:\n type: boolean\n x-dcl-go-name: DataEncipherment\n description: The key may be used to encipher data.\n x-kubernetes-immutable: true\n decipherOnly:\n type: boolean\n x-dcl-go-name: DecipherOnly\n description: The key may be used to decipher only.\n x-kubernetes-immutable: true\n digitalSignature:\n type: boolean\n x-dcl-go-name: DigitalSignature\n description: The key may be used for digital signatures.\n x-kubernetes-immutable: true\n encipherOnly:\n type: boolean\n x-dcl-go-name: EncipherOnly\n description: The key may be used to encipher only.\n x-kubernetes-immutable: true\n keyAgreement:\n type: boolean\n x-dcl-go-name: KeyAgreement\n description: The key may be used in a key agreement protocol.\n x-kubernetes-immutable: true\n keyEncipherment:\n type: boolean\n x-dcl-go-name: KeyEncipherment\n description: The key may be used to encipher other keys.\n x-kubernetes-immutable: true\n extendedKeyUsage:\n type: object\n x-dcl-go-name: ExtendedKeyUsage\n x-dcl-go-type: CertificateAuthorityConfigX509ConfigKeyUsageExtendedKeyUsage\n description: Detailed scenarios in which a key may be used.\n x-kubernetes-immutable: true\n properties:\n clientAuth:\n type: boolean\n x-dcl-go-name: ClientAuth\n description: Corresponds to OID 1.3.6.1.5.5.7.3.2. Officially\n described as \"TLS WWW client authentication\", though regularly\n used for non-WWW TLS.\n x-kubernetes-immutable: true\n codeSigning:\n type: boolean\n x-dcl-go-name: CodeSigning\n description: Corresponds to OID 1.3.6.1.5.5.7.3.3. Officially\n described as \"Signing of downloadable executable code\n client authentication\".\n x-kubernetes-immutable: true\n emailProtection:\n type: boolean\n x-dcl-go-name: EmailProtection\n description: Corresponds to OID 1.3.6.1.5.5.7.3.4. Officially\n described as \"Email protection\".\n x-kubernetes-immutable: true\n ocspSigning:\n type: boolean\n x-dcl-go-name: OcspSigning\n description: Corresponds to OID 1.3.6.1.5.5.7.3.9. Officially\n described as \"Signing OCSP responses\".\n x-kubernetes-immutable: true\n serverAuth:\n type: boolean\n x-dcl-go-name: ServerAuth\n description: Corresponds to OID 1.3.6.1.5.5.7.3.1. Officially\n described as \"TLS WWW server authentication\", though regularly\n used for non-WWW TLS.\n x-kubernetes-immutable: true\n timeStamping:\n type: boolean\n x-dcl-go-name: TimeStamping\n description: Corresponds to OID 1.3.6.1.5.5.7.3.8. Officially\n described as \"Binding the hash of an object to a time\".\n x-kubernetes-immutable: true\n unknownExtendedKeyUsages:\n type: array\n x-dcl-go-name: UnknownExtendedKeyUsages\n description: Used to describe extended key usages that are not\n listed in the KeyUsage.ExtendedKeyUsageOptions message.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: CertificateAuthorityConfigX509ConfigKeyUsageUnknownExtendedKeyUsages\n required:\n - objectIdPath\n properties:\n objectIdPath:\n type: array\n x-dcl-go-name: ObjectIdPath\n description: Required. The parts of an OID path. The most\n significant parts of the path come first.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: integer\n format: int64\n x-dcl-go-type: int64\n policyIds:\n type: array\n x-dcl-go-name: PolicyIds\n description: Optional. Describes the X.509 certificate policy object\n identifiers, per https://tools.ietf.org/html/rfc5280#section-4.2.1.4.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: CertificateAuthorityConfigX509ConfigPolicyIds\n required:\n - objectIdPath\n properties:\n objectIdPath:\n type: array\n x-dcl-go-name: ObjectIdPath\n description: Required. The parts of an OID path. The most\n significant parts of the path come first.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: integer\n format: int64\n x-dcl-go-type: int64\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Output only. The time at which this CertificateAuthority was\n created.\n x-kubernetes-immutable: true\n deleteTime:\n type: string\n format: date-time\n x-dcl-go-name: DeleteTime\n readOnly: true\n description: Output only. The time at which this CertificateAuthority was\n soft deleted, if it is in the DELETED state.\n x-kubernetes-immutable: true\n expireTime:\n type: string\n format: date-time\n x-dcl-go-name: ExpireTime\n readOnly: true\n description: Output only. The time at which this CertificateAuthority will\n be permanently purged, if it is in the DELETED state.\n x-kubernetes-immutable: true\n gcsBucket:\n type: string\n x-dcl-go-name: GcsBucket\n description: Immutable. The name of a Cloud Storage bucket where this CertificateAuthority\n will publish content, such as the CA certificate and CRLs. This must be\n a bucket name, without any prefixes (such as `gs://`) or suffixes (such\n as `.googleapis.com`). For example, to use a bucket named `my-bucket`,\n you would simply specify `my-bucket`. If not specified, a managed bucket\n will be created.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Storage/Bucket\n field: name\n keySpec:\n type: object\n x-dcl-go-name: KeySpec\n x-dcl-go-type: CertificateAuthorityKeySpec\n description: Required. Immutable. Used when issuing certificates for this\n CertificateAuthority. If this CertificateAuthority is a self-signed CertificateAuthority,\n this key is also used to sign the self-signed CA certificate. Otherwise,\n it is used to sign a CSR.\n x-kubernetes-immutable: true\n properties:\n algorithm:\n type: string\n x-dcl-go-name: Algorithm\n x-dcl-go-type: CertificateAuthorityKeySpecAlgorithmEnum\n description: 'The algorithm to use for creating a managed Cloud KMS\n key for a for a simplified experience. All managed keys will be have\n their ProtectionLevel as `HSM`. Possible values: RSA_PSS_2048_SHA256,\n RSA_PSS_3072_SHA256, RSA_PSS_4096_SHA256, RSA_PKCS1_2048_SHA256, RSA_PKCS1_3072_SHA256,\n RSA_PKCS1_4096_SHA256, EC_P256_SHA256, EC_P384_SHA384'\n x-kubernetes-immutable: true\n x-dcl-conflicts:\n - cloudKmsKeyVersion\n enum:\n - RSA_PSS_2048_SHA256\n - RSA_PSS_3072_SHA256\n - RSA_PSS_4096_SHA256\n - RSA_PKCS1_2048_SHA256\n - RSA_PKCS1_3072_SHA256\n - RSA_PKCS1_4096_SHA256\n - EC_P256_SHA256\n - EC_P384_SHA384\n cloudKmsKeyVersion:\n type: string\n x-dcl-go-name: CloudKmsKeyVersion\n description: The resource name for an existing Cloud KMS CryptoKeyVersion\n in the format `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.\n This option enables full flexibility in the key's capabilities and\n properties.\n x-kubernetes-immutable: true\n x-dcl-conflicts:\n - algorithm\n x-dcl-references:\n - resource: Cloudkms/CryptoKeyVersion\n field: name\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: Optional. Labels with user-defined metadata.\n lifetime:\n type: string\n x-dcl-go-name: Lifetime\n description: Required. The desired lifetime of the CA certificate. Used\n to create the \"not_before_time\" and \"not_after_time\" fields inside an\n X.509 certificate.\n x-kubernetes-immutable: true\n location:\n type: string\n x-dcl-go-name: Location\n description: The location for the resource\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: The resource name for this CertificateAuthority in the format\n `projects/*/locations/*/caPools/*/certificateAuthorities/*`.\n x-kubernetes-immutable: true\n pemCaCertificates:\n type: array\n x-dcl-go-name: PemCaCertificates\n readOnly: true\n description: Output only. This CertificateAuthority's certificate chain,\n including the current CertificateAuthority's certificate. Ordered such\n that the root issuer is the final element (consistent with RFC 5246).\n For a self-signed CA, this will only list the current CertificateAuthority's\n certificate.\n x-kubernetes-immutable: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n project:\n type: string\n x-dcl-go-name: Project\n description: The project for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n state:\n type: string\n x-dcl-go-name: State\n x-dcl-go-type: CertificateAuthorityStateEnum\n readOnly: true\n description: 'Output only. The State for this CertificateAuthority. Possible\n values: ENABLED, DISABLED, STAGED, AWAITING_USER_ACTIVATION, DELETED'\n x-kubernetes-immutable: true\n enum:\n - ENABLED\n - DISABLED\n - STAGED\n - AWAITING_USER_ACTIVATION\n - DELETED\n subordinateConfig:\n type: object\n x-dcl-go-name: SubordinateConfig\n x-dcl-go-type: CertificateAuthoritySubordinateConfig\n readOnly: true\n description: Optional. If this is a subordinate CertificateAuthority, this\n field will be set with the subordinate configuration, which describes\n its issuers. This may be updated, but this CertificateAuthority must continue\n to validate.\n x-kubernetes-immutable: true\n properties:\n certificateAuthority:\n type: string\n x-dcl-go-name: CertificateAuthority\n description: Required. This can refer to a CertificateAuthority in the\n same project that was used to create a subordinate CertificateAuthority.\n This field is used for information and usability purposes only. The\n resource name is in the format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.\n x-kubernetes-immutable: true\n x-dcl-conflicts:\n - pemIssuerChain\n x-dcl-references:\n - resource: Privateca/CertificateAuthority\n field: selfLink\n pemIssuerChain:\n type: object\n x-dcl-go-name: PemIssuerChain\n x-dcl-go-type: CertificateAuthoritySubordinateConfigPemIssuerChain\n description: Required. Contains the PEM certificate chain for the issuers\n of this CertificateAuthority, but not pem certificate for this CA\n itself.\n x-kubernetes-immutable: true\n x-dcl-conflicts:\n - certificateAuthority\n required:\n - pemCertificates\n properties:\n pemCertificates:\n type: array\n x-dcl-go-name: PemCertificates\n description: Required. Expected to be in leaf-to-root order according\n to RFC 5246.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n tier:\n type: string\n x-dcl-go-name: Tier\n x-dcl-go-type: CertificateAuthorityTierEnum\n readOnly: true\n description: 'Output only. The CaPool.Tier of the CaPool that includes this\n CertificateAuthority. Possible values: ENTERPRISE, DEVOPS'\n x-kubernetes-immutable: true\n enum:\n - ENTERPRISE\n - DEVOPS\n type:\n type: string\n x-dcl-go-name: Type\n x-dcl-go-type: CertificateAuthorityTypeEnum\n description: 'Required. Immutable. The Type of this CertificateAuthority.\n Possible values: SELF_SIGNED, SUBORDINATE'\n x-kubernetes-immutable: true\n enum:\n - SELF_SIGNED\n - SUBORDINATE\n updateTime:\n type: string\n format: date-time\n x-dcl-go-name: UpdateTime\n readOnly: true\n description: Output only. The time at which this CertificateAuthority was\n last updated.\n x-kubernetes-immutable: true\n")
-// 60286 bytes
-// MD5: eb7c5fe22b0c4f1ff2ac49c8a4718660
+// 60820 bytes
+// MD5: a23e49e188d3fdb6494ba574f8d3ca1f
diff --git a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/privateca_utils.go b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/privateca_utils.go
index 4d2660e814..b9219c6cf4 100644
--- a/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/privateca_utils.go
+++ b/terraform/providers/google/vendor/github.com/GoogleCloudPlatform/declarative-resource-client-library/services/google/privateca/privateca_utils.go
@@ -241,3 +241,103 @@ func flattenCertificateTemplateExtendedKeyUsage(_ *Client, i interface{}, res *C
return r
}
+
+func expandCaPoolIssuancePolicyBaselineValuesCAOptions(_ *Client, f *CaPoolIssuancePolicyBaselineValuesCaOptions, res *CaPool) (map[string]any, error) {
+ if dcl.IsEmptyValueIndirect(f) {
+ return nil, nil
+ }
+
+ m := make(map[string]any)
+ if v := f.IsCa; !dcl.IsEmptyValueIndirect(v) {
+ m["isCa"] = v
+ }
+
+ maxIssuerPathLength := dcl.ValueOrEmptyInt64(f.MaxIssuerPathLength)
+ zeroPathLength := dcl.ValueOrEmptyBool(f.ZeroMaxIssuerPathLength)
+ if zeroPathLength && maxIssuerPathLength > 0 {
+ return nil, fmt.Errorf("max_issuer_path_length and zero_max_issuer_path_length are mutually exclusive")
+ }
+ if maxIssuerPathLength > 0 || zeroPathLength {
+ m["maxIssuerPathLength"] = maxIssuerPathLength
+ }
+
+ return m, nil
+}
+
+func flattenCaPoolIssuancePolicyBaselineValuesCAOptions(_ *Client, i any, res *CaPool) *CaPoolIssuancePolicyBaselineValuesCaOptions {
+ m, ok := i.(map[string]any)
+ if !ok {
+ return nil
+ }
+
+ r := &CaPoolIssuancePolicyBaselineValuesCaOptions{}
+
+ if dcl.IsEmptyValueIndirect(i) {
+ return EmptyCaPoolIssuancePolicyBaselineValuesCaOptions
+ }
+
+ isCA, ok := m["isCa"].(bool)
+ if ok {
+ r.IsCa = dcl.Bool(isCA)
+ }
+
+ if _, ok := m["maxIssuerPathLength"]; ok {
+ pathLen := dcl.FlattenInteger(m["maxIssuerPathLength"])
+ r.MaxIssuerPathLength = pathLen
+ if dcl.ValueOrEmptyInt64(pathLen) == 0 {
+ r.ZeroMaxIssuerPathLength = dcl.Bool(true)
+ }
+ }
+
+ return r
+}
+
+func flattenCertificateAuthorityConfigX509ConfigCAOptions(_ *Client, i any, res *CertificateAuthority) *CertificateAuthorityConfigX509ConfigCaOptions {
+ m, ok := i.(map[string]any)
+ if !ok {
+ return nil
+ }
+
+ r := &CertificateAuthorityConfigX509ConfigCaOptions{}
+
+ if dcl.IsEmptyValueIndirect(i) {
+ return EmptyCertificateAuthorityConfigX509ConfigCaOptions
+ }
+
+ isCA, ok := m["isCa"].(bool)
+ if ok {
+ r.IsCa = dcl.Bool(isCA)
+ }
+
+ if _, ok := m["maxIssuerPathLength"]; ok {
+ pathLen := dcl.FlattenInteger(m["maxIssuerPathLength"])
+ r.MaxIssuerPathLength = pathLen
+ if dcl.ValueOrEmptyInt64(pathLen) == 0 {
+ r.ZeroMaxIssuerPathLength = dcl.Bool(true)
+ }
+ }
+
+ return r
+}
+
+func expandCertificateAuthorityConfigX509ConfigCAOptions(_ *Client, f *CertificateAuthorityConfigX509ConfigCaOptions, res *CertificateAuthority) (map[string]any, error) {
+ if dcl.IsEmptyValueIndirect(f) {
+ return nil, nil
+ }
+
+ m := make(map[string]any)
+ if v := f.IsCa; !dcl.IsEmptyValueIndirect(v) {
+ m["isCa"] = v
+ }
+
+ maxIssuerPathLength := dcl.ValueOrEmptyInt64(f.MaxIssuerPathLength)
+ zeroPathLength := dcl.ValueOrEmptyBool(f.ZeroMaxIssuerPathLength)
+ if zeroPathLength && maxIssuerPathLength > 0 {
+ return nil, fmt.Errorf("max_issuer_path_length and zero_max_issuer_path_length are mutually exclusive")
+ }
+ if maxIssuerPathLength > 0 || zeroPathLength {
+ m["maxIssuerPathLength"] = maxIssuerPathLength
+ }
+
+ return m, nil
+}
diff --git a/terraform/providers/google/vendor/github.com/cncf/xds/go/xds/data/orca/v3/orca_load_report.pb.go b/terraform/providers/google/vendor/github.com/cncf/xds/go/xds/data/orca/v3/orca_load_report.pb.go
index 3536641675..0185b7c186 100644
--- a/terraform/providers/google/vendor/github.com/cncf/xds/go/xds/data/orca/v3/orca_load_report.pb.go
+++ b/terraform/providers/google/vendor/github.com/cncf/xds/go/xds/data/orca/v3/orca_load_report.pb.go
@@ -34,10 +34,13 @@ type OrcaLoadReport struct {
CpuUtilization float64 `protobuf:"fixed64,1,opt,name=cpu_utilization,json=cpuUtilization,proto3" json:"cpu_utilization,omitempty"`
MemUtilization float64 `protobuf:"fixed64,2,opt,name=mem_utilization,json=memUtilization,proto3" json:"mem_utilization,omitempty"`
// Deprecated: Do not use.
- Rps uint64 `protobuf:"varint,3,opt,name=rps,proto3" json:"rps,omitempty"`
- RequestCost map[string]float64 `protobuf:"bytes,4,rep,name=request_cost,json=requestCost,proto3" json:"request_cost,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3"`
- Utilization map[string]float64 `protobuf:"bytes,5,rep,name=utilization,proto3" json:"utilization,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3"`
- RpsFractional float64 `protobuf:"fixed64,6,opt,name=rps_fractional,json=rpsFractional,proto3" json:"rps_fractional,omitempty"`
+ Rps uint64 `protobuf:"varint,3,opt,name=rps,proto3" json:"rps,omitempty"`
+ RequestCost map[string]float64 `protobuf:"bytes,4,rep,name=request_cost,json=requestCost,proto3" json:"request_cost,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3"`
+ Utilization map[string]float64 `protobuf:"bytes,5,rep,name=utilization,proto3" json:"utilization,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3"`
+ RpsFractional float64 `protobuf:"fixed64,6,opt,name=rps_fractional,json=rpsFractional,proto3" json:"rps_fractional,omitempty"`
+ Eps float64 `protobuf:"fixed64,7,opt,name=eps,proto3" json:"eps,omitempty"`
+ NamedMetrics map[string]float64 `protobuf:"bytes,8,rep,name=named_metrics,json=namedMetrics,proto3" json:"named_metrics,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3"`
+ ApplicationUtilization float64 `protobuf:"fixed64,9,opt,name=application_utilization,json=applicationUtilization,proto3" json:"application_utilization,omitempty"`
}
func (x *OrcaLoadReport) Reset() {
@@ -115,6 +118,27 @@ func (x *OrcaLoadReport) GetRpsFractional() float64 {
return 0
}
+func (x *OrcaLoadReport) GetEps() float64 {
+ if x != nil {
+ return x.Eps
+ }
+ return 0
+}
+
+func (x *OrcaLoadReport) GetNamedMetrics() map[string]float64 {
+ if x != nil {
+ return x.NamedMetrics
+ }
+ return nil
+}
+
+func (x *OrcaLoadReport) GetApplicationUtilization() float64 {
+ if x != nil {
+ return x.ApplicationUtilization
+ }
+ return 0
+}
+
var File_xds_data_orca_v3_orca_load_report_proto protoreflect.FileDescriptor
var file_xds_data_orca_v3_orca_load_report_proto_rawDesc = []byte{
@@ -123,49 +147,65 @@ var file_xds_data_orca_v3_orca_load_report_proto_rawDesc = []byte{
0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x10, 0x78, 0x64, 0x73, 0x2e, 0x64,
0x61, 0x74, 0x61, 0x2e, 0x6f, 0x72, 0x63, 0x61, 0x2e, 0x76, 0x33, 0x1a, 0x17, 0x76, 0x61, 0x6c,
0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbe, 0x04, 0x0a, 0x0e, 0x4f, 0x72, 0x63, 0x61, 0x4c, 0x6f, 0x61,
- 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x45, 0x0a, 0x0f, 0x63, 0x70, 0x75, 0x5f, 0x75,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb5, 0x06, 0x0a, 0x0e, 0x4f, 0x72, 0x63, 0x61, 0x4c, 0x6f, 0x61,
+ 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x37, 0x0a, 0x0f, 0x63, 0x70, 0x75, 0x5f, 0x75,
0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01,
- 0x42, 0x1c, 0xfa, 0x42, 0x0b, 0x12, 0x09, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xfa, 0x42, 0x0b, 0x12, 0x09, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0x52, 0x0e,
- 0x63, 0x70, 0x75, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45,
- 0x0a, 0x0f, 0x6d, 0x65, 0x6d, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x42, 0x1c, 0xfa, 0x42, 0x0b, 0x12, 0x09, 0x29, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x42, 0x0b, 0x12, 0x09, 0x19, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xf0, 0x3f, 0x52, 0x0e, 0x6d, 0x65, 0x6d, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x03, 0x72, 0x70, 0x73, 0x18, 0x03, 0x20, 0x01,
- 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x03, 0x72, 0x70, 0x73, 0x12, 0x54, 0x0a, 0x0c, 0x72,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28,
- 0x0b, 0x32, 0x31, 0x2e, 0x78, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6f, 0x72, 0x63,
- 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x72, 0x63, 0x61, 0x4c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x70,
- 0x6f, 0x72, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x73, 0x74, 0x45,
- 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x73,
- 0x74, 0x12, 0x7b, 0x0a, 0x0b, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x78, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x6f, 0x72, 0x63, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x72, 0x63, 0x61, 0x4c, 0x6f,
- 0x61, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x26, 0xfa, 0x42, 0x10, 0x9a, 0x01,
- 0x0d, 0x2a, 0x0b, 0x12, 0x09, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x42,
- 0x10, 0x9a, 0x01, 0x0d, 0x2a, 0x0b, 0x12, 0x09, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0,
- 0x3f, 0x52, 0x0b, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35,
- 0x0a, 0x0e, 0x72, 0x70, 0x73, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
- 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x12, 0x09, 0x29, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x0d, 0x72, 0x70, 0x73, 0x46, 0x72, 0x61, 0x63, 0x74,
- 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x1a, 0x3e, 0x0a, 0x10, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x43, 0x6f, 0x73, 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, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
- 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 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, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
- 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x5d, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x69, 0x74,
- 0x68, 0x75, 0x62, 0x2e, 0x78, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6f, 0x72, 0x63,
- 0x61, 0x2e, 0x76, 0x33, 0x42, 0x13, 0x4f, 0x72, 0x63, 0x61, 0x4c, 0x6f, 0x61, 0x64, 0x52, 0x65,
- 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x27, 0x67, 0x69, 0x74,
- 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6e, 0x63, 0x66, 0x2f, 0x78, 0x64, 0x73,
- 0x2f, 0x67, 0x6f, 0x2f, 0x78, 0x64, 0x73, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x6f, 0x72, 0x63,
- 0x61, 0x2f, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x12, 0x09, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x52, 0x0e, 0x63, 0x70, 0x75, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x12, 0x45, 0x0a, 0x0f, 0x6d, 0x65, 0x6d, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x42, 0x1c, 0xfa, 0x42, 0x0b, 0x12, 0x09,
+ 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x42, 0x0b, 0x12, 0x09, 0x19, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0x52, 0x0e, 0x6d, 0x65, 0x6d, 0x55, 0x74, 0x69, 0x6c,
+ 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x03, 0x72, 0x70, 0x73, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x03, 0x72, 0x70, 0x73, 0x12, 0x54, 0x0a,
+ 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x78, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6f,
+ 0x72, 0x63, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x72, 0x63, 0x61, 0x4c, 0x6f, 0x61, 0x64, 0x52,
+ 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x73,
+ 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43,
+ 0x6f, 0x73, 0x74, 0x12, 0x7b, 0x0a, 0x0b, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x78, 0x64, 0x73, 0x2e, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x6f, 0x72, 0x63, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x72, 0x63, 0x61,
+ 0x4c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x55, 0x74, 0x69, 0x6c, 0x69,
+ 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x26, 0xfa, 0x42, 0x10,
+ 0x9a, 0x01, 0x0d, 0x2a, 0x0b, 0x12, 0x09, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xfa, 0x42, 0x10, 0x9a, 0x01, 0x0d, 0x2a, 0x0b, 0x12, 0x09, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xf0, 0x3f, 0x52, 0x0b, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x12, 0x35, 0x0a, 0x0e, 0x72, 0x70, 0x73, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x12, 0x09, 0x29,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x0d, 0x72, 0x70, 0x73, 0x46, 0x72, 0x61,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x20, 0x0a, 0x03, 0x65, 0x70, 0x73, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x01, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x12, 0x09, 0x29, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x65, 0x70, 0x73, 0x12, 0x57, 0x0a, 0x0d, 0x6e, 0x61, 0x6d,
+ 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x32, 0x2e, 0x78, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6f, 0x72, 0x63, 0x61,
+ 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x72, 0x63, 0x61, 0x4c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x70, 0x6f,
+ 0x72, 0x74, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69,
+ 0x63, 0x73, 0x12, 0x47, 0x0a, 0x17, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x01, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x12, 0x09, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x52, 0x16, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x3e, 0x0a, 0x10, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x73, 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, 0x01,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x55,
+ 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x01,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3f, 0x0a, 0x11, 0x4e,
+ 0x61, 0x6d, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 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,
+ 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x5d, 0x0a, 0x1b,
+ 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x78, 0x64, 0x73, 0x2e, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x6f, 0x72, 0x63, 0x61, 0x2e, 0x76, 0x33, 0x42, 0x13, 0x4f, 0x72, 0x63,
+ 0x61, 0x4c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f,
+ 0x50, 0x01, 0x5a, 0x27, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63,
+ 0x6e, 0x63, 0x66, 0x2f, 0x78, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x78, 0x64, 0x73, 0x2f, 0x64,
+ 0x61, 0x74, 0x61, 0x2f, 0x6f, 0x72, 0x63, 0x61, 0x2f, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
}
var (
@@ -180,20 +220,22 @@ func file_xds_data_orca_v3_orca_load_report_proto_rawDescGZIP() []byte {
return file_xds_data_orca_v3_orca_load_report_proto_rawDescData
}
-var file_xds_data_orca_v3_orca_load_report_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_xds_data_orca_v3_orca_load_report_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_xds_data_orca_v3_orca_load_report_proto_goTypes = []interface{}{
(*OrcaLoadReport)(nil), // 0: xds.data.orca.v3.OrcaLoadReport
nil, // 1: xds.data.orca.v3.OrcaLoadReport.RequestCostEntry
nil, // 2: xds.data.orca.v3.OrcaLoadReport.UtilizationEntry
+ nil, // 3: xds.data.orca.v3.OrcaLoadReport.NamedMetricsEntry
}
var file_xds_data_orca_v3_orca_load_report_proto_depIdxs = []int32{
1, // 0: xds.data.orca.v3.OrcaLoadReport.request_cost:type_name -> xds.data.orca.v3.OrcaLoadReport.RequestCostEntry
2, // 1: xds.data.orca.v3.OrcaLoadReport.utilization:type_name -> xds.data.orca.v3.OrcaLoadReport.UtilizationEntry
- 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
+ 3, // 2: xds.data.orca.v3.OrcaLoadReport.named_metrics:type_name -> xds.data.orca.v3.OrcaLoadReport.NamedMetricsEntry
+ 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_xds_data_orca_v3_orca_load_report_proto_init() }
@@ -221,7 +263,7 @@ func file_xds_data_orca_v3_orca_load_report_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_xds_data_orca_v3_orca_load_report_proto_rawDesc,
NumEnums: 0,
- NumMessages: 3,
+ NumMessages: 4,
NumExtensions: 0,
NumServices: 0,
},
diff --git a/terraform/providers/google/vendor/github.com/cncf/xds/go/xds/data/orca/v3/orca_load_report.pb.validate.go b/terraform/providers/google/vendor/github.com/cncf/xds/go/xds/data/orca/v3/orca_load_report.pb.validate.go
index 19750a09a9..2f505db727 100644
--- a/terraform/providers/google/vendor/github.com/cncf/xds/go/xds/data/orca/v3/orca_load_report.pb.validate.go
+++ b/terraform/providers/google/vendor/github.com/cncf/xds/go/xds/data/orca/v3/orca_load_report.pb.validate.go
@@ -41,10 +41,10 @@ func (m *OrcaLoadReport) Validate() error {
return nil
}
- if val := m.GetCpuUtilization(); val < 0 || val > 1 {
+ if m.GetCpuUtilization() < 0 {
return OrcaLoadReportValidationError{
field: "CpuUtilization",
- reason: "value must be inside range [0, 1]",
+ reason: "value must be greater than or equal to 0",
}
}
@@ -80,6 +80,22 @@ func (m *OrcaLoadReport) Validate() error {
}
}
+ if m.GetEps() < 0 {
+ return OrcaLoadReportValidationError{
+ field: "Eps",
+ reason: "value must be greater than or equal to 0",
+ }
+ }
+
+ // no validation rules for NamedMetrics
+
+ if m.GetApplicationUtilization() < 0 {
+ return OrcaLoadReportValidationError{
+ field: "ApplicationUtilization",
+ reason: "value must be greater than or equal to 0",
+ }
+ }
+
return nil
}
diff --git a/terraform/providers/google/vendor/github.com/cncf/xds/go/xds/service/orca/v3/orca.pb.go b/terraform/providers/google/vendor/github.com/cncf/xds/go/xds/service/orca/v3/orca.pb.go
new file mode 100644
index 0000000000..0aafd1ab67
--- /dev/null
+++ b/terraform/providers/google/vendor/github.com/cncf/xds/go/xds/service/orca/v3/orca.pb.go
@@ -0,0 +1,298 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.25.0
+// protoc v3.18.0
+// source: xds/service/orca/v3/orca.proto
+
+package v3
+
+import (
+ context "context"
+ v3 "github.com/cncf/xds/go/xds/data/orca/v3"
+ proto "github.com/golang/protobuf/proto"
+ duration "github.com/golang/protobuf/ptypes/duration"
+ grpc "google.golang.org/grpc"
+ codes "google.golang.org/grpc/codes"
+ status "google.golang.org/grpc/status"
+ 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)
+)
+
+// This is a compile-time assertion that a sufficiently up-to-date version
+// of the legacy proto package is being used.
+const _ = proto.ProtoPackageIsVersion4
+
+type OrcaLoadReportRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ReportInterval *duration.Duration `protobuf:"bytes,1,opt,name=report_interval,json=reportInterval,proto3" json:"report_interval,omitempty"`
+ RequestCostNames []string `protobuf:"bytes,2,rep,name=request_cost_names,json=requestCostNames,proto3" json:"request_cost_names,omitempty"`
+}
+
+func (x *OrcaLoadReportRequest) Reset() {
+ *x = OrcaLoadReportRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_xds_service_orca_v3_orca_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *OrcaLoadReportRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OrcaLoadReportRequest) ProtoMessage() {}
+
+func (x *OrcaLoadReportRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_xds_service_orca_v3_orca_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 OrcaLoadReportRequest.ProtoReflect.Descriptor instead.
+func (*OrcaLoadReportRequest) Descriptor() ([]byte, []int) {
+ return file_xds_service_orca_v3_orca_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *OrcaLoadReportRequest) GetReportInterval() *duration.Duration {
+ if x != nil {
+ return x.ReportInterval
+ }
+ return nil
+}
+
+func (x *OrcaLoadReportRequest) GetRequestCostNames() []string {
+ if x != nil {
+ return x.RequestCostNames
+ }
+ return nil
+}
+
+var File_xds_service_orca_v3_orca_proto protoreflect.FileDescriptor
+
+var file_xds_service_orca_v3_orca_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x78, 0x64, 0x73, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x6f, 0x72,
+ 0x63, 0x61, 0x2f, 0x76, 0x33, 0x2f, 0x6f, 0x72, 0x63, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x13, 0x78, 0x64, 0x73, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6f, 0x72,
+ 0x63, 0x61, 0x2e, 0x76, 0x33, 0x1a, 0x27, 0x78, 0x64, 0x73, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f,
+ 0x6f, 0x72, 0x63, 0x61, 0x2f, 0x76, 0x33, 0x2f, 0x6f, 0x72, 0x63, 0x61, 0x5f, 0x6c, 0x6f, 0x61,
+ 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 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, 0x22, 0x89,
+ 0x01, 0x0a, 0x15, 0x4f, 0x72, 0x63, 0x61, 0x4c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72,
+ 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6f,
+ 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x01, 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, 0x72, 0x65,
+ 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x12,
+ 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d,
+ 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x43, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x32, 0x75, 0x0a, 0x0e, 0x4f, 0x70,
+ 0x65, 0x6e, 0x52, 0x63, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x63, 0x0a, 0x11,
+ 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
+ 0x73, 0x12, 0x2a, 0x2e, 0x78, 0x64, 0x73, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e,
+ 0x6f, 0x72, 0x63, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x72, 0x63, 0x61, 0x4c, 0x6f, 0x61, 0x64,
+ 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e,
+ 0x78, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6f, 0x72, 0x63, 0x61, 0x2e, 0x76, 0x33,
+ 0x2e, 0x4f, 0x72, 0x63, 0x61, 0x4c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x30,
+ 0x01, 0x42, 0x59, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e,
+ 0x78, 0x64, 0x73, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6f, 0x72, 0x63, 0x61,
+ 0x2e, 0x76, 0x33, 0x42, 0x09, 0x4f, 0x72, 0x63, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01,
+ 0x5a, 0x2a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6e, 0x63,
+ 0x66, 0x2f, 0x78, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x78, 0x64, 0x73, 0x2f, 0x73, 0x65, 0x72,
+ 0x76, 0x69, 0x63, 0x65, 0x2f, 0x6f, 0x72, 0x63, 0x61, 0x2f, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_xds_service_orca_v3_orca_proto_rawDescOnce sync.Once
+ file_xds_service_orca_v3_orca_proto_rawDescData = file_xds_service_orca_v3_orca_proto_rawDesc
+)
+
+func file_xds_service_orca_v3_orca_proto_rawDescGZIP() []byte {
+ file_xds_service_orca_v3_orca_proto_rawDescOnce.Do(func() {
+ file_xds_service_orca_v3_orca_proto_rawDescData = protoimpl.X.CompressGZIP(file_xds_service_orca_v3_orca_proto_rawDescData)
+ })
+ return file_xds_service_orca_v3_orca_proto_rawDescData
+}
+
+var file_xds_service_orca_v3_orca_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_xds_service_orca_v3_orca_proto_goTypes = []interface{}{
+ (*OrcaLoadReportRequest)(nil), // 0: xds.service.orca.v3.OrcaLoadReportRequest
+ (*duration.Duration)(nil), // 1: google.protobuf.Duration
+ (*v3.OrcaLoadReport)(nil), // 2: xds.data.orca.v3.OrcaLoadReport
+}
+var file_xds_service_orca_v3_orca_proto_depIdxs = []int32{
+ 1, // 0: xds.service.orca.v3.OrcaLoadReportRequest.report_interval:type_name -> google.protobuf.Duration
+ 0, // 1: xds.service.orca.v3.OpenRcaService.StreamCoreMetrics:input_type -> xds.service.orca.v3.OrcaLoadReportRequest
+ 2, // 2: xds.service.orca.v3.OpenRcaService.StreamCoreMetrics:output_type -> xds.data.orca.v3.OrcaLoadReport
+ 2, // [2:3] is the sub-list for method output_type
+ 1, // [1:2] 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_xds_service_orca_v3_orca_proto_init() }
+func file_xds_service_orca_v3_orca_proto_init() {
+ if File_xds_service_orca_v3_orca_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_xds_service_orca_v3_orca_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*OrcaLoadReportRequest); 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_xds_service_orca_v3_orca_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 1,
+ },
+ GoTypes: file_xds_service_orca_v3_orca_proto_goTypes,
+ DependencyIndexes: file_xds_service_orca_v3_orca_proto_depIdxs,
+ MessageInfos: file_xds_service_orca_v3_orca_proto_msgTypes,
+ }.Build()
+ File_xds_service_orca_v3_orca_proto = out.File
+ file_xds_service_orca_v3_orca_proto_rawDesc = nil
+ file_xds_service_orca_v3_orca_proto_goTypes = nil
+ file_xds_service_orca_v3_orca_proto_depIdxs = nil
+}
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConnInterface
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+const _ = grpc.SupportPackageIsVersion6
+
+// OpenRcaServiceClient is the client API for OpenRcaService service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
+type OpenRcaServiceClient interface {
+ StreamCoreMetrics(ctx context.Context, in *OrcaLoadReportRequest, opts ...grpc.CallOption) (OpenRcaService_StreamCoreMetricsClient, error)
+}
+
+type openRcaServiceClient struct {
+ cc grpc.ClientConnInterface
+}
+
+func NewOpenRcaServiceClient(cc grpc.ClientConnInterface) OpenRcaServiceClient {
+ return &openRcaServiceClient{cc}
+}
+
+func (c *openRcaServiceClient) StreamCoreMetrics(ctx context.Context, in *OrcaLoadReportRequest, opts ...grpc.CallOption) (OpenRcaService_StreamCoreMetricsClient, error) {
+ stream, err := c.cc.NewStream(ctx, &_OpenRcaService_serviceDesc.Streams[0], "/xds.service.orca.v3.OpenRcaService/StreamCoreMetrics", opts...)
+ if err != nil {
+ return nil, err
+ }
+ x := &openRcaServiceStreamCoreMetricsClient{stream}
+ if err := x.ClientStream.SendMsg(in); err != nil {
+ return nil, err
+ }
+ if err := x.ClientStream.CloseSend(); err != nil {
+ return nil, err
+ }
+ return x, nil
+}
+
+type OpenRcaService_StreamCoreMetricsClient interface {
+ Recv() (*v3.OrcaLoadReport, error)
+ grpc.ClientStream
+}
+
+type openRcaServiceStreamCoreMetricsClient struct {
+ grpc.ClientStream
+}
+
+func (x *openRcaServiceStreamCoreMetricsClient) Recv() (*v3.OrcaLoadReport, error) {
+ m := new(v3.OrcaLoadReport)
+ if err := x.ClientStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+// OpenRcaServiceServer is the server API for OpenRcaService service.
+type OpenRcaServiceServer interface {
+ StreamCoreMetrics(*OrcaLoadReportRequest, OpenRcaService_StreamCoreMetricsServer) error
+}
+
+// UnimplementedOpenRcaServiceServer can be embedded to have forward compatible implementations.
+type UnimplementedOpenRcaServiceServer struct {
+}
+
+func (*UnimplementedOpenRcaServiceServer) StreamCoreMetrics(*OrcaLoadReportRequest, OpenRcaService_StreamCoreMetricsServer) error {
+ return status.Errorf(codes.Unimplemented, "method StreamCoreMetrics not implemented")
+}
+
+func RegisterOpenRcaServiceServer(s *grpc.Server, srv OpenRcaServiceServer) {
+ s.RegisterService(&_OpenRcaService_serviceDesc, srv)
+}
+
+func _OpenRcaService_StreamCoreMetrics_Handler(srv interface{}, stream grpc.ServerStream) error {
+ m := new(OrcaLoadReportRequest)
+ if err := stream.RecvMsg(m); err != nil {
+ return err
+ }
+ return srv.(OpenRcaServiceServer).StreamCoreMetrics(m, &openRcaServiceStreamCoreMetricsServer{stream})
+}
+
+type OpenRcaService_StreamCoreMetricsServer interface {
+ Send(*v3.OrcaLoadReport) error
+ grpc.ServerStream
+}
+
+type openRcaServiceStreamCoreMetricsServer struct {
+ grpc.ServerStream
+}
+
+func (x *openRcaServiceStreamCoreMetricsServer) Send(m *v3.OrcaLoadReport) error {
+ return x.ServerStream.SendMsg(m)
+}
+
+var _OpenRcaService_serviceDesc = grpc.ServiceDesc{
+ ServiceName: "xds.service.orca.v3.OpenRcaService",
+ HandlerType: (*OpenRcaServiceServer)(nil),
+ Methods: []grpc.MethodDesc{},
+ Streams: []grpc.StreamDesc{
+ {
+ StreamName: "StreamCoreMetrics",
+ Handler: _OpenRcaService_StreamCoreMetrics_Handler,
+ ServerStreams: true,
+ },
+ },
+ Metadata: "xds/service/orca/v3/orca.proto",
+}
diff --git a/terraform/providers/google/vendor/github.com/cncf/xds/go/xds/service/orca/v3/orca.pb.validate.go b/terraform/providers/google/vendor/github.com/cncf/xds/go/xds/service/orca/v3/orca.pb.validate.go
new file mode 100644
index 0000000000..5c7c765847
--- /dev/null
+++ b/terraform/providers/google/vendor/github.com/cncf/xds/go/xds/service/orca/v3/orca.pb.validate.go
@@ -0,0 +1,111 @@
+// Code generated by protoc-gen-validate. DO NOT EDIT.
+// source: xds/service/orca/v3/orca.proto
+
+package v3
+
+import (
+ "bytes"
+ "errors"
+ "fmt"
+ "net"
+ "net/mail"
+ "net/url"
+ "regexp"
+ "strings"
+ "time"
+ "unicode/utf8"
+
+ "google.golang.org/protobuf/types/known/anypb"
+)
+
+// ensure the imports are used
+var (
+ _ = bytes.MinRead
+ _ = errors.New("")
+ _ = fmt.Print
+ _ = utf8.UTFMax
+ _ = (*regexp.Regexp)(nil)
+ _ = (*strings.Reader)(nil)
+ _ = net.IPv4len
+ _ = time.Duration(0)
+ _ = (*url.URL)(nil)
+ _ = (*mail.Address)(nil)
+ _ = anypb.Any{}
+)
+
+// Validate checks the field values on OrcaLoadReportRequest with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, an error is returned.
+func (m *OrcaLoadReportRequest) Validate() error {
+ if m == nil {
+ return nil
+ }
+
+ if v, ok := interface{}(m.GetReportInterval()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return OrcaLoadReportRequestValidationError{
+ field: "ReportInterval",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ return nil
+}
+
+// OrcaLoadReportRequestValidationError is the validation error returned by
+// OrcaLoadReportRequest.Validate if the designated constraints aren't met.
+type OrcaLoadReportRequestValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e OrcaLoadReportRequestValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e OrcaLoadReportRequestValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e OrcaLoadReportRequestValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e OrcaLoadReportRequestValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e OrcaLoadReportRequestValidationError) ErrorName() string {
+ return "OrcaLoadReportRequestValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e OrcaLoadReportRequestValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sOrcaLoadReportRequest.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = OrcaLoadReportRequestValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = OrcaLoadReportRequestValidationError{}
diff --git a/terraform/providers/google/vendor/github.com/dnaeon/go-vcr/LICENSE b/terraform/providers/google/vendor/github.com/dnaeon/go-vcr/LICENSE
deleted file mode 100644
index 9a46132086..0000000000
--- a/terraform/providers/google/vendor/github.com/dnaeon/go-vcr/LICENSE
+++ /dev/null
@@ -1,24 +0,0 @@
-Copyright (c) 2015-2016 Marin Atanasov Nikolov
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer
- in this position and unchanged.
- 2. 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 AUTHOR(S) ``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 AUTHOR(S) 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.
diff --git a/terraform/providers/google/vendor/github.com/dnaeon/go-vcr/cassette/cassette.go b/terraform/providers/google/vendor/github.com/dnaeon/go-vcr/cassette/cassette.go
deleted file mode 100644
index cf9e340d30..0000000000
--- a/terraform/providers/google/vendor/github.com/dnaeon/go-vcr/cassette/cassette.go
+++ /dev/null
@@ -1,227 +0,0 @@
-// Copyright (c) 2015 Marin Atanasov Nikolov
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer
-// in this position and unchanged.
-// 2. 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 AUTHOR(S) ``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 AUTHOR(S) 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 cassette
-
-import (
- "errors"
- "fmt"
- "io/ioutil"
- "net/http"
- "net/url"
- "os"
- "path/filepath"
- "sync"
-
- "gopkg.in/yaml.v2"
-)
-
-// Cassette format versions
-const (
- cassetteFormatV1 = 1
-)
-
-var (
- // ErrInteractionNotFound indicates that a requested
- // interaction was not found in the cassette file
- ErrInteractionNotFound = errors.New("Requested interaction not found")
-)
-
-// Request represents a client request as recorded in the
-// cassette file
-type Request struct {
- // Body of request
- Body string `yaml:"body"`
-
- // Form values
- Form url.Values `yaml:"form"`
-
- // Request headers
- Headers http.Header `yaml:"headers"`
-
- // Request URL
- URL string `yaml:"url"`
-
- // Request method
- Method string `yaml:"method"`
-}
-
-// Response represents a server response as recorded in the
-// cassette file
-type Response struct {
- // Body of response
- Body string `yaml:"body"`
-
- // Response headers
- Headers http.Header `yaml:"headers"`
-
- // Response status message
- Status string `yaml:"status"`
-
- // Response status code
- Code int `yaml:"code"`
-
- // Response duration (something like "100ms" or "10s")
- Duration string `yaml:"duration"`
-
- replayed bool
-}
-
-// Interaction type contains a pair of request/response for a
-// single HTTP interaction between a client and a server
-type Interaction struct {
- Request `yaml:"request"`
- Response `yaml:"response"`
-}
-
-// Matcher function returns true when the actual request matches
-// a single HTTP interaction's request according to the function's
-// own criteria.
-type Matcher func(*http.Request, Request) bool
-
-// DefaultMatcher is used when a custom matcher is not defined
-// and compares only the method and URL.
-func DefaultMatcher(r *http.Request, i Request) bool {
- return r.Method == i.Method && r.URL.String() == i.URL
-}
-
-// Filter function allows modification of an interaction before saving.
-type Filter func(*Interaction) error
-
-// Cassette type
-type Cassette struct {
- // Name of the cassette
- Name string `yaml:"-"`
-
- // File name of the cassette as written on disk
- File string `yaml:"-"`
-
- // Cassette format version
- Version int `yaml:"version"`
-
- // Mutex to lock accessing Interactions. omitempty is set
- // to prevent the mutex appearing in the recorded YAML.
- Mu sync.RWMutex `yaml:"mu,omitempty"`
- // Interactions between client and server
- Interactions []*Interaction `yaml:"interactions"`
-
- // Matches actual request with interaction requests.
- Matcher Matcher `yaml:"-"`
-
- // Filters interactions before being saved.
- Filters []Filter `yaml:"-"`
-}
-
-// New creates a new empty cassette
-func New(name string) *Cassette {
- c := &Cassette{
- Name: name,
- File: fmt.Sprintf("%s.yaml", name),
- Version: cassetteFormatV1,
- Interactions: make([]*Interaction, 0),
- Matcher: DefaultMatcher,
- Filters: make([]Filter, 0),
- }
-
- return c
-}
-
-// Load reads a cassette file from disk
-func Load(name string) (*Cassette, error) {
- c := New(name)
- data, err := ioutil.ReadFile(c.File)
- if err != nil {
- return nil, err
- }
-
- err = yaml.Unmarshal(data, &c)
-
- return c, err
-}
-
-// AddInteraction appends a new interaction to the cassette
-func (c *Cassette) AddInteraction(i *Interaction) {
- c.Mu.Lock()
- c.Interactions = append(c.Interactions, i)
- c.Mu.Unlock()
-}
-
-// GetInteraction retrieves a recorded request/response interaction
-func (c *Cassette) GetInteraction(r *http.Request) (*Interaction, error) {
- c.Mu.Lock()
- defer c.Mu.Unlock()
- for _, i := range c.Interactions {
- if !i.replayed && c.Matcher(r, i.Request) {
- i.replayed = true
- return i, nil
- }
- }
-
- return nil, ErrInteractionNotFound
-}
-
-// Save writes the cassette data on disk for future re-use
-func (c *Cassette) Save() error {
- c.Mu.RLock()
- defer c.Mu.RUnlock()
- // Save cassette file only if there were any interactions made
- if len(c.Interactions) == 0 {
- return nil
- }
-
- // Create directory for cassette if missing
- cassetteDir := filepath.Dir(c.File)
- if _, err := os.Stat(cassetteDir); os.IsNotExist(err) {
- if err = os.MkdirAll(cassetteDir, 0755); err != nil {
- return err
- }
- }
-
- // Marshal to YAML and save interactions
- data, err := yaml.Marshal(c)
- if err != nil {
- return err
- }
-
- f, err := os.Create(c.File)
- if err != nil {
- return err
- }
-
- defer f.Close()
-
- // Honor the YAML structure specification
- // http://www.yaml.org/spec/1.2/spec.html#id2760395
- _, err = f.Write([]byte("---\n"))
- if err != nil {
- return err
- }
-
- _, err = f.Write(data)
- if err != nil {
- return err
- }
-
- return nil
-}
diff --git a/terraform/providers/google/vendor/github.com/dnaeon/go-vcr/recorder/go17_nobody.go b/terraform/providers/google/vendor/github.com/dnaeon/go-vcr/recorder/go17_nobody.go
deleted file mode 100644
index 465961abbf..0000000000
--- a/terraform/providers/google/vendor/github.com/dnaeon/go-vcr/recorder/go17_nobody.go
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright (c) 2015-2016 Marin Atanasov Nikolov
-// Copyright (c) 2016 David Jack
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer
-// in this position and unchanged.
-// 2. 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 AUTHOR(S) ``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 AUTHOR(S) 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.
-//
-// +build !go1.8
-
-package recorder
-
-import (
- "io"
-)
-
-// isNoBody returns true iff r is an http.NoBody.
-// http.NoBody didn't exist before Go 1.7, so the version in this file
-// always returns false.
-func isNoBody(r io.ReadCloser) bool { return false }
diff --git a/terraform/providers/google/vendor/github.com/dnaeon/go-vcr/recorder/go18_nobody.go b/terraform/providers/google/vendor/github.com/dnaeon/go-vcr/recorder/go18_nobody.go
deleted file mode 100644
index dac213af8f..0000000000
--- a/terraform/providers/google/vendor/github.com/dnaeon/go-vcr/recorder/go18_nobody.go
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright (c) 2015-2016 Marin Atanasov Nikolov
-// Copyright (c) 2016 David Jack
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer
-// in this position and unchanged.
-// 2. 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 AUTHOR(S) ``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 AUTHOR(S) 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.
-//
-// +build go1.8
-
-package recorder
-
-import (
- "io"
- "net/http"
-)
-
-// isNoBody returns true iff r is an http.NoBody.
-func isNoBody(r io.ReadCloser) bool { return r == http.NoBody }
diff --git a/terraform/providers/google/vendor/github.com/dnaeon/go-vcr/recorder/recorder.go b/terraform/providers/google/vendor/github.com/dnaeon/go-vcr/recorder/recorder.go
deleted file mode 100644
index 2b88919526..0000000000
--- a/terraform/providers/google/vendor/github.com/dnaeon/go-vcr/recorder/recorder.go
+++ /dev/null
@@ -1,275 +0,0 @@
-// Copyright (c) 2015-2016 Marin Atanasov Nikolov
-// Copyright (c) 2016 David Jack
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer
-// in this position and unchanged.
-// 2. 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 AUTHOR(S) ``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 AUTHOR(S) 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 recorder
-
-import (
- "bufio"
- "bytes"
- "fmt"
- "io"
- "io/ioutil"
- "net/http"
- "net/http/httputil"
- "os"
- "strconv"
- "time"
-
- "github.com/dnaeon/go-vcr/cassette"
-)
-
-// Mode represents recording/playback mode
-type Mode int
-
-// Recorder states
-const (
- ModeRecording Mode = iota
- ModeReplaying
- ModeDisabled
-)
-
-// Recorder represents a type used to record and replay
-// client and server interactions
-type Recorder struct {
- // Operating mode of the recorder
- mode Mode
-
- // Cassette used by the recorder
- cassette *cassette.Cassette
-
- // realTransport is the underlying http.RoundTripper to make real requests
- realTransport http.RoundTripper
-}
-
-// SetTransport can be used to configure the behavior of the 'real' client used in record-mode
-func (r *Recorder) SetTransport(t http.RoundTripper) {
- r.realTransport = t
-}
-
-// Proxies client requests to their original destination
-func requestHandler(r *http.Request, c *cassette.Cassette, mode Mode, realTransport http.RoundTripper) (*cassette.Interaction, error) {
- // Return interaction from cassette if in replay mode
- if mode == ModeReplaying {
- if err := r.Context().Err(); err != nil {
- return nil, err
- }
- return c.GetInteraction(r)
- }
-
- // Copy the original request, so we can read the form values
- reqBytes, err := httputil.DumpRequestOut(r, true)
- if err != nil {
- return nil, err
- }
-
- reqBuffer := bytes.NewBuffer(reqBytes)
- copiedReq, err := http.ReadRequest(bufio.NewReader(reqBuffer))
- if err != nil {
- return nil, err
- }
-
- err = copiedReq.ParseForm()
- if err != nil {
- return nil, err
- }
-
- reqBody := &bytes.Buffer{}
- if r.Body != nil && !isNoBody(r.Body) {
- // Record the request body so we can add it to the cassette
- r.Body = ioutil.NopCloser(io.TeeReader(r.Body, reqBody))
- }
-
- // Perform client request to it's original
- // destination and record interactions
- resp, err := realTransport.RoundTrip(r)
- if err != nil {
- return nil, err
- }
- defer resp.Body.Close()
-
- respBody, err := ioutil.ReadAll(resp.Body)
- if err != nil {
- return nil, err
- }
-
- // Add interaction to cassette
- interaction := &cassette.Interaction{
- Request: cassette.Request{
- Body: reqBody.String(),
- Form: copiedReq.PostForm,
- Headers: r.Header,
- URL: r.URL.String(),
- Method: r.Method,
- },
- Response: cassette.Response{
- Body: string(respBody),
- Headers: resp.Header,
- Status: resp.Status,
- Code: resp.StatusCode,
- },
- }
- for _, filter := range c.Filters {
- err = filter(interaction)
- if err != nil {
- return nil, err
- }
- }
- c.AddInteraction(interaction)
-
- return interaction, nil
-}
-
-// New creates a new recorder
-func New(cassetteName string) (*Recorder, error) {
- // Default mode is "replay" if file exists
- return NewAsMode(cassetteName, ModeReplaying, nil)
-}
-
-// NewAsMode creates a new recorder in the specified mode
-func NewAsMode(cassetteName string, mode Mode, realTransport http.RoundTripper) (*Recorder, error) {
- var c *cassette.Cassette
- cassetteFile := fmt.Sprintf("%s.yaml", cassetteName)
-
- if mode != ModeDisabled {
- // Depending on whether the cassette file exists or not we
- // either create a new empty cassette or load from file
- if _, err := os.Stat(cassetteFile); os.IsNotExist(err) || mode == ModeRecording {
- // Create new cassette and enter in recording mode
- c = cassette.New(cassetteName)
- mode = ModeRecording
- } else {
- // Load cassette from file and enter replay mode
- c, err = cassette.Load(cassetteName)
- if err != nil {
- return nil, err
- }
- mode = ModeReplaying
- }
- }
-
- if realTransport == nil {
- realTransport = http.DefaultTransport
- }
-
- r := &Recorder{
- mode: mode,
- cassette: c,
- realTransport: realTransport,
- }
-
- return r, nil
-}
-
-// Stop is used to stop the recorder and save any recorded interactions
-func (r *Recorder) Stop() error {
- if r.mode == ModeRecording {
- if err := r.cassette.Save(); err != nil {
- return err
- }
- }
-
- return nil
-}
-
-// RoundTrip implements the http.RoundTripper interface
-func (r *Recorder) RoundTrip(req *http.Request) (*http.Response, error) {
- if r.mode == ModeDisabled {
- return r.realTransport.RoundTrip(req)
- }
- // Pass cassette and mode to handler, so that interactions can be
- // retrieved or recorded depending on the current recorder mode
- interaction, err := requestHandler(req, r.cassette, r.mode, r.realTransport)
-
- if err != nil {
- return nil, err
- }
-
- select {
- case <-req.Context().Done():
- return nil, req.Context().Err()
- default:
- buf := bytes.NewBuffer([]byte(interaction.Response.Body))
- // apply the duration defined in the interaction
- if interaction.Response.Duration != "" {
- d, err := time.ParseDuration(interaction.Duration)
- if err != nil {
- return nil, err
- }
- // block for the configured 'duration' to simulate the network latency and server processing time.
- <-time.After(d)
- }
-
- contentLength := int64(buf.Len())
- // For HTTP HEAD requests, the ContentLength should be set to the size
- // of the body that would have been sent for a GET.
- // https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13
- if req.Method == "HEAD" {
- if hdr := interaction.Response.Headers.Get("Content-Length"); hdr != "" {
- cl, err := strconv.ParseInt(hdr, 10, 64)
- if err == nil {
- contentLength = cl
- }
- }
- }
- return &http.Response{
- Status: interaction.Response.Status,
- StatusCode: interaction.Response.Code,
- Proto: "HTTP/1.0",
- ProtoMajor: 1,
- ProtoMinor: 0,
- Request: req,
- Header: interaction.Response.Headers,
- Close: true,
- ContentLength: contentLength,
- Body: ioutil.NopCloser(buf),
- }, nil
- }
-}
-
-// CancelRequest implements the github.com/coreos/etcd/client.CancelableTransport interface
-func (r *Recorder) CancelRequest(req *http.Request) {
- type cancelableTransport interface {
- CancelRequest(req *http.Request)
- }
- if ct, ok := r.realTransport.(cancelableTransport); ok {
- ct.CancelRequest(req)
- }
-}
-
-// SetMatcher sets a function to match requests against recorded HTTP interactions.
-func (r *Recorder) SetMatcher(matcher cassette.Matcher) {
- if r.cassette != nil {
- r.cassette.Matcher = matcher
- }
-}
-
-// AddFilter appends a hook to modify a request before it is recorded.
-//
-// Filters are useful for filtering out sensitive parameters from the recorded data.
-func (r *Recorder) AddFilter(filter cassette.Filter) {
- if r.cassette != nil {
- r.cassette.Filters = append(r.cassette.Filters, filter)
- }
-}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/certs.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/certs.pb.go
index 01d655cc2b..d5a8b601c9 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/certs.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/certs.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/admin/v3/certs.proto
package adminv3
@@ -22,7 +22,7 @@ const (
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
-// Proto representation of certificate details. Admin endpoint uses this wrapper for `/certs` to
+// Proto representation of certificate details. Admin endpoint uses this wrapper for ``/certs`` to
// display certificate information. See :ref:`/certs ` for more
// information.
type Certificates struct {
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/certs.pb.validate.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/certs.pb.validate.go
index e8c9575f02..4294f96506 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/certs.pb.validate.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/certs.pb.validate.go
@@ -586,17 +586,45 @@ func (m *SubjectAlternateName) validate(all bool) error {
var errors []error
- switch m.Name.(type) {
-
+ switch v := m.Name.(type) {
case *SubjectAlternateName_Dns:
+ if v == nil {
+ err := SubjectAlternateNameValidationError{
+ field: "Name",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
// no validation rules for Dns
-
case *SubjectAlternateName_Uri:
+ if v == nil {
+ err := SubjectAlternateNameValidationError{
+ field: "Name",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
// no validation rules for Uri
-
case *SubjectAlternateName_IpAddress:
+ if v == nil {
+ err := SubjectAlternateNameValidationError{
+ field: "Name",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
// no validation rules for IpAddress
-
+ default:
+ _ = v // ensures v is used
}
if len(errors) > 0 {
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/clusters.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/clusters.pb.go
index 2d0d0204ce..c3277cdd31 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/clusters.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/clusters.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/admin/v3/clusters.proto
package adminv3
@@ -24,7 +24,7 @@ const (
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
-// Admin endpoint uses this wrapper for `/clusters` to display cluster status information.
+// Admin endpoint uses this wrapper for ``/clusters`` to display cluster status information.
// See :ref:`/clusters ` for more information.
type Clusters struct {
state protoimpl.MessageState
@@ -75,7 +75,7 @@ func (x *Clusters) GetClusterStatuses() []*ClusterStatus {
}
// Details an individual cluster's current status.
-// [#next-free-field: 8]
+// [#next-free-field: 9]
type ClusterStatus struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -88,10 +88,10 @@ type ClusterStatus struct {
// The success rate threshold used in the last interval.
// If
// :ref:`outlier_detection.split_external_local_origin_errors`
- // is *false*, all errors: externally and locally generated were used to calculate the threshold.
+ // is ``false``, all errors: externally and locally generated were used to calculate the threshold.
// If
// :ref:`outlier_detection.split_external_local_origin_errors`
- // is *true*, only externally generated errors were used to calculate the threshold.
+ // is ``true``, only externally generated errors were used to calculate the threshold.
// The threshold is used to eject hosts based on their success rate. See
// :ref:`Cluster outlier detection ` documentation for details.
//
@@ -109,7 +109,7 @@ type ClusterStatus struct {
// taken into account and externally originated errors were treated as success.
// This field should be interpreted only when
// :ref:`outlier_detection.split_external_local_origin_errors`
- // is *true*. The threshold is used to eject hosts based on their success rate.
+ // is ``true``. The threshold is used to eject hosts based on their success rate.
// See :ref:`Cluster outlier detection ` documentation for
// details.
//
@@ -125,6 +125,8 @@ type ClusterStatus struct {
CircuitBreakers *v31.CircuitBreakers `protobuf:"bytes,6,opt,name=circuit_breakers,json=circuitBreakers,proto3" json:"circuit_breakers,omitempty"`
// Observability name of the cluster.
ObservabilityName string `protobuf:"bytes,7,opt,name=observability_name,json=observabilityName,proto3" json:"observability_name,omitempty"`
+ // The :ref:`EDS service name ` if the cluster is an EDS cluster.
+ EdsServiceName string `protobuf:"bytes,8,opt,name=eds_service_name,json=edsServiceName,proto3" json:"eds_service_name,omitempty"`
}
func (x *ClusterStatus) Reset() {
@@ -208,6 +210,13 @@ func (x *ClusterStatus) GetObservabilityName() string {
return ""
}
+func (x *ClusterStatus) GetEdsServiceName() string {
+ if x != nil {
+ return x.EdsServiceName
+ }
+ return ""
+}
+
// Current state of a particular host.
// [#next-free-field: 10]
type HostStatus struct {
@@ -224,10 +233,10 @@ type HostStatus struct {
// Request success rate for this host over the last calculated interval.
// If
// :ref:`outlier_detection.split_external_local_origin_errors`
- // is *false*, all errors: externally and locally generated were used in success rate
+ // is ``false``, all errors: externally and locally generated were used in success rate
// calculation. If
// :ref:`outlier_detection.split_external_local_origin_errors`
- // is *true*, only externally generated errors were used in success rate calculation.
+ // is ``true``, only externally generated errors were used in success rate calculation.
// See :ref:`Cluster outlier detection ` documentation for
// details.
//
@@ -246,7 +255,7 @@ type HostStatus struct {
// errors were treated as success.
// This field should be interpreted only when
// :ref:`outlier_detection.split_external_local_origin_errors`
- // is *true*.
+ // is ``true``.
// See :ref:`Cluster outlier detection ` documentation for
// details.
//
@@ -501,7 +510,7 @@ var file_envoy_admin_v3_clusters_proto_rawDesc = []byte{
0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x3a,
0x23, 0x9a, 0xc5, 0x88, 0x1e, 0x1e, 0x0a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64,
0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6c, 0x75, 0x73,
- 0x74, 0x65, 0x72, 0x73, 0x22, 0x8c, 0x04, 0x0a, 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
+ 0x74, 0x65, 0x72, 0x73, 0x22, 0xb6, 0x04, 0x0a, 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x61, 0x64,
0x64, 0x65, 0x64, 0x5f, 0x76, 0x69, 0x61, 0x5f, 0x61, 0x70, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28,
@@ -531,83 +540,86 @@ var file_envoy_admin_v3_clusters_proto_rawDesc = []byte{
0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x6f, 0x62,
0x73, 0x65, 0x72, 0x76, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x62,
- 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x28, 0x9a, 0xc5, 0x88, 0x1e, 0x23,
- 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32,
- 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61,
- 0x74, 0x75, 0x73, 0x22, 0x81, 0x04, 0x0a, 0x0a, 0x48, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74,
- 0x75, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
- 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65,
- 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x32, 0x0a, 0x05, 0x73,
- 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76,
- 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x69, 0x6d, 0x70,
- 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x12,
- 0x45, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61,
- 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x48, 0x65, 0x61, 0x6c,
- 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68,
- 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x39, 0x0a, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73,
- 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65,
- 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72,
- 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74,
- 0x65, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28,
- 0x0d, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73,
- 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73,
- 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74,
- 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74,
- 0x79, 0x12, 0x51, 0x0a, 0x19, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69,
- 0x6e, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x08,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70,
- 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x16, 0x6c, 0x6f,
- 0x63, 0x61, 0x6c, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
- 0x52, 0x61, 0x74, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79,
- 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
- 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f,
- 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79,
- 0x3a, 0x25, 0x9a, 0xc5, 0x88, 0x1e, 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61,
- 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x6f, 0x73,
- 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x93, 0x04, 0x0a, 0x10, 0x48, 0x6f, 0x73, 0x74,
- 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3b, 0x0a, 0x1a,
- 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x68, 0x65,
- 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
- 0x52, 0x17, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x48, 0x65,
- 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x61, 0x69,
- 0x6c, 0x65, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x65, 0x63,
- 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4f,
- 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x3f, 0x0a, 0x1c, 0x66,
- 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x67,
- 0x72, 0x61, 0x64, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28,
- 0x08, 0x52, 0x19, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44,
- 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x36, 0x0a, 0x17,
- 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f,
- 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x70,
- 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x6d,
- 0x6f, 0x76, 0x61, 0x6c, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f,
- 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x68, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52,
- 0x0f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x48, 0x63,
- 0x12, 0x42, 0x0a, 0x1e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 0x76, 0x69, 0x61,
- 0x5f, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x68, 0x63, 0x5f, 0x66, 0x61,
- 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64,
- 0x65, 0x64, 0x56, 0x69, 0x61, 0x49, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x48, 0x63,
- 0x46, 0x61, 0x69, 0x6c, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x68,
- 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52,
- 0x0f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x48, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74,
- 0x12, 0x4e, 0x0a, 0x11, 0x65, 0x64, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73,
- 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x65, 0x6e,
- 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
- 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
- 0x0f, 0x65, 0x64, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x3a, 0x2b, 0x9a, 0xc5, 0x88, 0x1e, 0x26, 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61,
- 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x6f, 0x73,
- 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x76, 0x0a,
- 0x1c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65,
- 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x0d, 0x43,
- 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d,
- 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
- 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d,
- 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x76, 0x33, 0xba, 0x80, 0xc8,
- 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x64, 0x73,
+ 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x64, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e,
+ 0x61, 0x6d, 0x65, 0x3a, 0x28, 0x9a, 0xc5, 0x88, 0x1e, 0x23, 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f,
+ 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e,
+ 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x81, 0x04,
+ 0x0a, 0x0a, 0x48, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x37, 0x0a, 0x07,
+ 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e,
+ 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72,
+ 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64,
+ 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x32, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d,
+ 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x72,
+ 0x69, 0x63, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x12, 0x45, 0x0a, 0x0d, 0x68, 0x65, 0x61,
+ 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76,
+ 0x33, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x12, 0x39, 0x0a, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74,
+ 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0b,
+ 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x77,
+ 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x65, 0x69,
+ 0x67, 0x68, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12,
+ 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x51, 0x0a, 0x19, 0x6c,
+ 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x73, 0x75, 0x63, 0x63,
+ 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16,
+ 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50,
+ 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x16, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4f, 0x72, 0x69,
+ 0x67, 0x69, 0x6e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x3a,
+ 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
+ 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79,
+ 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x3a, 0x25, 0x9a, 0xc5, 0x88, 0x1e,
+ 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76,
+ 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75,
+ 0x73, 0x22, 0x93, 0x04, 0x0a, 0x10, 0x48, 0x6f, 0x73, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68,
+ 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64,
+ 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63,
+ 0x68, 0x65, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x66, 0x61, 0x69, 0x6c,
+ 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68,
+ 0x65, 0x63, 0x6b, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x6f, 0x75,
+ 0x74, 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x12, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72,
+ 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x3f, 0x0a, 0x1c, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f,
+ 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x5f,
+ 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x66, 0x61, 0x69,
+ 0x6c, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65,
+ 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x36, 0x0a, 0x17, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e,
+ 0x67, 0x5f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x61,
+ 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67,
+ 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x12, 0x2a,
+ 0x0a, 0x11, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65,
+ 0x5f, 0x68, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x70, 0x65, 0x6e, 0x64, 0x69,
+ 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x48, 0x63, 0x12, 0x42, 0x0a, 0x1e, 0x65, 0x78,
+ 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 0x76, 0x69, 0x61, 0x5f, 0x69, 0x6d, 0x6d, 0x65, 0x64,
+ 0x69, 0x61, 0x74, 0x65, 0x5f, 0x68, 0x63, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x1a, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x56, 0x69, 0x61, 0x49,
+ 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x48, 0x63, 0x46, 0x61, 0x69, 0x6c, 0x12, 0x2a,
+ 0x0a, 0x11, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x68, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65,
+ 0x6f, 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x76,
+ 0x65, 0x48, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x4e, 0x0a, 0x11, 0x65, 0x64,
+ 0x73, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61,
+ 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0f, 0x65, 0x64, 0x73, 0x48, 0x65,
+ 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x2b, 0x9a, 0xc5, 0x88, 0x1e,
+ 0x26, 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76,
+ 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74,
+ 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x76, 0x0a, 0x1c, 0x69, 0x6f, 0x2e, 0x65, 0x6e,
+ 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61,
+ 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
+ 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62,
+ 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f,
+ 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65,
+ 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x3b,
+ 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/clusters.pb.validate.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/clusters.pb.validate.go
index 3c87ae291e..a147a9b757 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/clusters.pb.validate.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/clusters.pb.validate.go
@@ -321,6 +321,8 @@ func (m *ClusterStatus) validate(all bool) error {
// no validation rules for ObservabilityName
+ // no validation rules for EdsServiceName
+
if len(errors) > 0 {
return ClusterStatusMultiError(errors)
}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/config_dump.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/config_dump.pb.go
index 5dc76d3e9d..68ca40f8bd 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/config_dump.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/config_dump.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/admin/v3/config_dump.proto
package adminv3
@@ -9,7 +9,7 @@ package adminv3
import (
_ "github.com/cncf/xds/go/udpa/annotations"
v3 "github.com/envoyproxy/go-control-plane/envoy/config/bootstrap/v3"
- any "github.com/golang/protobuf/ptypes/any"
+ any1 "github.com/golang/protobuf/ptypes/any"
timestamp "github.com/golang/protobuf/ptypes/timestamp"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
@@ -24,74 +24,6 @@ const (
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
-// Resource status from the view of a xDS client, which tells the synchronization
-// status between the xDS client and the xDS server.
-type ClientResourceStatus int32
-
-const (
- // Resource status is not available/unknown.
- ClientResourceStatus_UNKNOWN ClientResourceStatus = 0
- // Client requested this resource but hasn't received any update from management
- // server. The client will not fail requests, but will queue them until update
- // arrives or the client times out waiting for the resource.
- ClientResourceStatus_REQUESTED ClientResourceStatus = 1
- // This resource has been requested by the client but has either not been
- // delivered by the server or was previously delivered by the server and then
- // subsequently removed from resources provided by the server. For more
- // information, please refer to the :ref:`"Knowing When a Requested Resource
- // Does Not Exist" ` section.
- ClientResourceStatus_DOES_NOT_EXIST ClientResourceStatus = 2
- // Client received this resource and replied with ACK.
- ClientResourceStatus_ACKED ClientResourceStatus = 3
- // Client received this resource and replied with NACK.
- ClientResourceStatus_NACKED ClientResourceStatus = 4
-)
-
-// Enum value maps for ClientResourceStatus.
-var (
- ClientResourceStatus_name = map[int32]string{
- 0: "UNKNOWN",
- 1: "REQUESTED",
- 2: "DOES_NOT_EXIST",
- 3: "ACKED",
- 4: "NACKED",
- }
- ClientResourceStatus_value = map[string]int32{
- "UNKNOWN": 0,
- "REQUESTED": 1,
- "DOES_NOT_EXIST": 2,
- "ACKED": 3,
- "NACKED": 4,
- }
-)
-
-func (x ClientResourceStatus) Enum() *ClientResourceStatus {
- p := new(ClientResourceStatus)
- *p = x
- return p
-}
-
-func (x ClientResourceStatus) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (ClientResourceStatus) Descriptor() protoreflect.EnumDescriptor {
- return file_envoy_admin_v3_config_dump_proto_enumTypes[0].Descriptor()
-}
-
-func (ClientResourceStatus) Type() protoreflect.EnumType {
- return &file_envoy_admin_v3_config_dump_proto_enumTypes[0]
-}
-
-func (x ClientResourceStatus) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Use ClientResourceStatus.Descriptor instead.
-func (ClientResourceStatus) EnumDescriptor() ([]byte, []int) {
- return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{0}
-}
-
// The :ref:`/config_dump ` admin endpoint uses this wrapper
// message to maintain and serve arbitrary configuration information from any component in Envoy.
type ConfigDump struct {
@@ -105,22 +37,27 @@ type ConfigDump struct {
// The following configurations are currently supported and will be dumped in the order given
// below:
//
- // * *bootstrap*: :ref:`BootstrapConfigDump `
- // * *clusters*: :ref:`ClustersConfigDump `
- // * *endpoints*: :ref:`EndpointsConfigDump `
- // * *listeners*: :ref:`ListenersConfigDump `
- // * *scoped_routes*: :ref:`ScopedRoutesConfigDump `
- // * *routes*: :ref:`RoutesConfigDump `
- // * *secrets*: :ref:`SecretsConfigDump `
+ // * ``bootstrap``: :ref:`BootstrapConfigDump `
+ // * ``clusters``: :ref:`ClustersConfigDump `
+ // * ``ecds_filter_http``: :ref:`EcdsConfigDump `
+ // * ``ecds_filter_tcp_listener``: :ref:`EcdsConfigDump `
+ // * ``endpoints``: :ref:`EndpointsConfigDump `
+ // * ``listeners``: :ref:`ListenersConfigDump `
+ // * ``scoped_routes``: :ref:`ScopedRoutesConfigDump `
+ // * ``routes``: :ref:`RoutesConfigDump `
+ // * ``secrets``: :ref:`SecretsConfigDump `
//
- // EDS Configuration will only be dumped by using parameter `?include_eds`
+ // EDS Configuration will only be dumped by using parameter ``?include_eds``
+ //
+ // Currently ECDS is supported in HTTP and listener filters. Note, ECDS configuration for
+ // either HTTP or listener filter will only be dumped if it is actually configured.
//
// You can filter output with the resource and mask query parameters.
// See :ref:`/config_dump?resource={} `,
// :ref:`/config_dump?mask={} `,
// or :ref:`/config_dump?resource={},mask={}
// ` for more information.
- Configs []*any.Any `protobuf:"bytes,1,rep,name=configs,proto3" json:"configs,omitempty"`
+ Configs []*any1.Any `protobuf:"bytes,1,rep,name=configs,proto3" json:"configs,omitempty"`
}
func (x *ConfigDump) Reset() {
@@ -155,90 +92,13 @@ func (*ConfigDump) Descriptor() ([]byte, []int) {
return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{0}
}
-func (x *ConfigDump) GetConfigs() []*any.Any {
+func (x *ConfigDump) GetConfigs() []*any1.Any {
if x != nil {
return x.Configs
}
return nil
}
-type UpdateFailureState struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // What the component configuration would have been if the update had succeeded.
- // This field may not be populated by xDS clients due to storage overhead.
- FailedConfiguration *any.Any `protobuf:"bytes,1,opt,name=failed_configuration,json=failedConfiguration,proto3" json:"failed_configuration,omitempty"`
- // Time of the latest failed update attempt.
- LastUpdateAttempt *timestamp.Timestamp `protobuf:"bytes,2,opt,name=last_update_attempt,json=lastUpdateAttempt,proto3" json:"last_update_attempt,omitempty"`
- // Details about the last failed update attempt.
- Details string `protobuf:"bytes,3,opt,name=details,proto3" json:"details,omitempty"`
- // This is the version of the rejected resource.
- // [#not-implemented-hide:]
- VersionInfo string `protobuf:"bytes,4,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"`
-}
-
-func (x *UpdateFailureState) Reset() {
- *x = UpdateFailureState{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[1]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *UpdateFailureState) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*UpdateFailureState) ProtoMessage() {}
-
-func (x *UpdateFailureState) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_admin_v3_config_dump_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 UpdateFailureState.ProtoReflect.Descriptor instead.
-func (*UpdateFailureState) Descriptor() ([]byte, []int) {
- return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{1}
-}
-
-func (x *UpdateFailureState) GetFailedConfiguration() *any.Any {
- if x != nil {
- return x.FailedConfiguration
- }
- return nil
-}
-
-func (x *UpdateFailureState) GetLastUpdateAttempt() *timestamp.Timestamp {
- if x != nil {
- return x.LastUpdateAttempt
- }
- return nil
-}
-
-func (x *UpdateFailureState) GetDetails() string {
- if x != nil {
- return x.Details
- }
- return ""
-}
-
-func (x *UpdateFailureState) GetVersionInfo() string {
- if x != nil {
- return x.VersionInfo
- }
- return ""
-}
-
// This message describes the bootstrap configuration that Envoy was started with. This includes
// any CLI overrides that were merged. Bootstrap configuration information can be used to recreate
// the static portions of an Envoy configuration by reusing the output as the bootstrap
@@ -256,7 +116,7 @@ type BootstrapConfigDump struct {
func (x *BootstrapConfigDump) Reset() {
*x = BootstrapConfigDump{}
if protoimpl.UnsafeEnabled {
- mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[2]
+ mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -269,7 +129,7 @@ func (x *BootstrapConfigDump) String() string {
func (*BootstrapConfigDump) ProtoMessage() {}
func (x *BootstrapConfigDump) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[2]
+ mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -282,7 +142,7 @@ func (x *BootstrapConfigDump) ProtoReflect() protoreflect.Message {
// Deprecated: Use BootstrapConfigDump.ProtoReflect.Descriptor instead.
func (*BootstrapConfigDump) Descriptor() ([]byte, []int) {
- return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{2}
+ return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{1}
}
func (x *BootstrapConfigDump) GetBootstrap() *v3.Bootstrap {
@@ -299,41 +159,39 @@ func (x *BootstrapConfigDump) GetLastUpdated() *timestamp.Timestamp {
return nil
}
-// Envoy's listener manager fills this message with all currently known listeners. Listener
-// configuration information can be used to recreate an Envoy configuration by populating all
-// listeners as static listeners or by returning them in a LDS response.
-type ListenersConfigDump struct {
+// Envoys SDS implementation fills this message with all secrets fetched dynamically via SDS.
+type SecretsConfigDump struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // This is the :ref:`version_info ` in the
- // last processed LDS discovery response. If there are only static bootstrap listeners, this field
- // will be "".
- VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"`
- // The statically loaded listener configs.
- StaticListeners []*ListenersConfigDump_StaticListener `protobuf:"bytes,2,rep,name=static_listeners,json=staticListeners,proto3" json:"static_listeners,omitempty"`
- // State for any warming, active, or draining listeners.
- DynamicListeners []*ListenersConfigDump_DynamicListener `protobuf:"bytes,3,rep,name=dynamic_listeners,json=dynamicListeners,proto3" json:"dynamic_listeners,omitempty"`
+ // The statically loaded secrets.
+ StaticSecrets []*SecretsConfigDump_StaticSecret `protobuf:"bytes,1,rep,name=static_secrets,json=staticSecrets,proto3" json:"static_secrets,omitempty"`
+ // The dynamically loaded active secrets. These are secrets that are available to service
+ // clusters or listeners.
+ DynamicActiveSecrets []*SecretsConfigDump_DynamicSecret `protobuf:"bytes,2,rep,name=dynamic_active_secrets,json=dynamicActiveSecrets,proto3" json:"dynamic_active_secrets,omitempty"`
+ // The dynamically loaded warming secrets. These are secrets that are currently undergoing
+ // warming in preparation to service clusters or listeners.
+ DynamicWarmingSecrets []*SecretsConfigDump_DynamicSecret `protobuf:"bytes,3,rep,name=dynamic_warming_secrets,json=dynamicWarmingSecrets,proto3" json:"dynamic_warming_secrets,omitempty"`
}
-func (x *ListenersConfigDump) Reset() {
- *x = ListenersConfigDump{}
+func (x *SecretsConfigDump) Reset() {
+ *x = SecretsConfigDump{}
if protoimpl.UnsafeEnabled {
- mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[3]
+ mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *ListenersConfigDump) String() string {
+func (x *SecretsConfigDump) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*ListenersConfigDump) ProtoMessage() {}
+func (*SecretsConfigDump) ProtoMessage() {}
-func (x *ListenersConfigDump) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[3]
+func (x *SecretsConfigDump) ProtoReflect() protoreflect.Message {
+ mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -344,73 +202,77 @@ func (x *ListenersConfigDump) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use ListenersConfigDump.ProtoReflect.Descriptor instead.
-func (*ListenersConfigDump) Descriptor() ([]byte, []int) {
- return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{3}
+// Deprecated: Use SecretsConfigDump.ProtoReflect.Descriptor instead.
+func (*SecretsConfigDump) Descriptor() ([]byte, []int) {
+ return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{2}
}
-func (x *ListenersConfigDump) GetVersionInfo() string {
+func (x *SecretsConfigDump) GetStaticSecrets() []*SecretsConfigDump_StaticSecret {
if x != nil {
- return x.VersionInfo
+ return x.StaticSecrets
}
- return ""
+ return nil
}
-func (x *ListenersConfigDump) GetStaticListeners() []*ListenersConfigDump_StaticListener {
+func (x *SecretsConfigDump) GetDynamicActiveSecrets() []*SecretsConfigDump_DynamicSecret {
if x != nil {
- return x.StaticListeners
+ return x.DynamicActiveSecrets
}
return nil
}
-func (x *ListenersConfigDump) GetDynamicListeners() []*ListenersConfigDump_DynamicListener {
+func (x *SecretsConfigDump) GetDynamicWarmingSecrets() []*SecretsConfigDump_DynamicSecret {
if x != nil {
- return x.DynamicListeners
+ return x.DynamicWarmingSecrets
}
return nil
}
-// Envoy's cluster manager fills this message with all currently known clusters. Cluster
-// configuration information can be used to recreate an Envoy configuration by populating all
-// clusters as static clusters or by returning them in a CDS response.
-type ClustersConfigDump struct {
+// DynamicSecret contains secret information fetched via SDS.
+// [#next-free-field: 7]
+type SecretsConfigDump_DynamicSecret struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // This is the :ref:`version_info ` in the
- // last processed CDS discovery response. If there are only static bootstrap clusters, this field
- // will be "".
- VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"`
- // The statically loaded cluster configs.
- StaticClusters []*ClustersConfigDump_StaticCluster `protobuf:"bytes,2,rep,name=static_clusters,json=staticClusters,proto3" json:"static_clusters,omitempty"`
- // The dynamically loaded active clusters. These are clusters that are available to service
- // data plane traffic.
- DynamicActiveClusters []*ClustersConfigDump_DynamicCluster `protobuf:"bytes,3,rep,name=dynamic_active_clusters,json=dynamicActiveClusters,proto3" json:"dynamic_active_clusters,omitempty"`
- // The dynamically loaded warming clusters. These are clusters that are currently undergoing
- // warming in preparation to service data plane traffic. Note that if attempting to recreate an
- // Envoy configuration from a configuration dump, the warming clusters should generally be
- // discarded.
- DynamicWarmingClusters []*ClustersConfigDump_DynamicCluster `protobuf:"bytes,4,rep,name=dynamic_warming_clusters,json=dynamicWarmingClusters,proto3" json:"dynamic_warming_clusters,omitempty"`
+ // The name assigned to the secret.
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // This is the per-resource version information.
+ VersionInfo string `protobuf:"bytes,2,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"`
+ // The timestamp when the secret was last updated.
+ LastUpdated *timestamp.Timestamp `protobuf:"bytes,3,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
+ // The actual secret information.
+ // Security sensitive information is redacted (replaced with "[redacted]") for
+ // private keys and passwords in TLS certificates.
+ Secret *any1.Any `protobuf:"bytes,4,opt,name=secret,proto3" json:"secret,omitempty"`
+ // Set if the last update failed, cleared after the next successful update.
+ // The *error_state* field contains the rejected version of this particular
+ // resource along with the reason and timestamp. For successfully updated or
+ // acknowledged resource, this field should be empty.
+ // [#not-implemented-hide:]
+ ErrorState *UpdateFailureState `protobuf:"bytes,5,opt,name=error_state,json=errorState,proto3" json:"error_state,omitempty"`
+ // The client status of this resource.
+ // [#not-implemented-hide:]
+ ClientStatus ClientResourceStatus `protobuf:"varint,6,opt,name=client_status,json=clientStatus,proto3,enum=envoy.admin.v3.ClientResourceStatus" json:"client_status,omitempty"`
}
-func (x *ClustersConfigDump) Reset() {
- *x = ClustersConfigDump{}
+func (x *SecretsConfigDump_DynamicSecret) Reset() {
+ *x = SecretsConfigDump_DynamicSecret{}
if protoimpl.UnsafeEnabled {
- mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[4]
+ mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *ClustersConfigDump) String() string {
+func (x *SecretsConfigDump_DynamicSecret) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*ClustersConfigDump) ProtoMessage() {}
+func (*SecretsConfigDump_DynamicSecret) ProtoMessage() {}
-func (x *ClustersConfigDump) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[4]
+func (x *SecretsConfigDump_DynamicSecret) ProtoReflect() protoreflect.Message {
+ mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -421,72 +283,86 @@ func (x *ClustersConfigDump) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use ClustersConfigDump.ProtoReflect.Descriptor instead.
-func (*ClustersConfigDump) Descriptor() ([]byte, []int) {
- return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{4}
+// Deprecated: Use SecretsConfigDump_DynamicSecret.ProtoReflect.Descriptor instead.
+func (*SecretsConfigDump_DynamicSecret) Descriptor() ([]byte, []int) {
+ return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{2, 0}
+}
+
+func (x *SecretsConfigDump_DynamicSecret) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
}
-func (x *ClustersConfigDump) GetVersionInfo() string {
+func (x *SecretsConfigDump_DynamicSecret) GetVersionInfo() string {
if x != nil {
return x.VersionInfo
}
return ""
}
-func (x *ClustersConfigDump) GetStaticClusters() []*ClustersConfigDump_StaticCluster {
+func (x *SecretsConfigDump_DynamicSecret) GetLastUpdated() *timestamp.Timestamp {
if x != nil {
- return x.StaticClusters
+ return x.LastUpdated
}
return nil
}
-func (x *ClustersConfigDump) GetDynamicActiveClusters() []*ClustersConfigDump_DynamicCluster {
+func (x *SecretsConfigDump_DynamicSecret) GetSecret() *any1.Any {
if x != nil {
- return x.DynamicActiveClusters
+ return x.Secret
}
return nil
}
-func (x *ClustersConfigDump) GetDynamicWarmingClusters() []*ClustersConfigDump_DynamicCluster {
+func (x *SecretsConfigDump_DynamicSecret) GetErrorState() *UpdateFailureState {
if x != nil {
- return x.DynamicWarmingClusters
+ return x.ErrorState
}
return nil
}
-// Envoy's RDS implementation fills this message with all currently loaded routes, as described by
-// their RouteConfiguration objects. Static routes that are either defined in the bootstrap configuration
-// or defined inline while configuring listeners are separated from those configured dynamically via RDS.
-// Route configuration information can be used to recreate an Envoy configuration by populating all routes
-// as static routes or by returning them in RDS responses.
-type RoutesConfigDump struct {
+func (x *SecretsConfigDump_DynamicSecret) GetClientStatus() ClientResourceStatus {
+ if x != nil {
+ return x.ClientStatus
+ }
+ return ClientResourceStatus_UNKNOWN
+}
+
+// StaticSecret specifies statically loaded secret in bootstrap.
+type SecretsConfigDump_StaticSecret struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // The statically loaded route configs.
- StaticRouteConfigs []*RoutesConfigDump_StaticRouteConfig `protobuf:"bytes,2,rep,name=static_route_configs,json=staticRouteConfigs,proto3" json:"static_route_configs,omitempty"`
- // The dynamically loaded route configs.
- DynamicRouteConfigs []*RoutesConfigDump_DynamicRouteConfig `protobuf:"bytes,3,rep,name=dynamic_route_configs,json=dynamicRouteConfigs,proto3" json:"dynamic_route_configs,omitempty"`
+ // The name assigned to the secret.
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // The timestamp when the secret was last updated.
+ LastUpdated *timestamp.Timestamp `protobuf:"bytes,2,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
+ // The actual secret information.
+ // Security sensitive information is redacted (replaced with "[redacted]") for
+ // private keys and passwords in TLS certificates.
+ Secret *any1.Any `protobuf:"bytes,3,opt,name=secret,proto3" json:"secret,omitempty"`
}
-func (x *RoutesConfigDump) Reset() {
- *x = RoutesConfigDump{}
+func (x *SecretsConfigDump_StaticSecret) Reset() {
+ *x = SecretsConfigDump_StaticSecret{}
if protoimpl.UnsafeEnabled {
- mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[5]
+ mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *RoutesConfigDump) String() string {
+func (x *SecretsConfigDump_StaticSecret) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*RoutesConfigDump) ProtoMessage() {}
+func (*SecretsConfigDump_StaticSecret) ProtoMessage() {}
-func (x *RoutesConfigDump) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[5]
+func (x *SecretsConfigDump_StaticSecret) ProtoReflect() protoreflect.Message {
+ mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -497,1784 +373,191 @@ func (x *RoutesConfigDump) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use RoutesConfigDump.ProtoReflect.Descriptor instead.
-func (*RoutesConfigDump) Descriptor() ([]byte, []int) {
- return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{5}
+// Deprecated: Use SecretsConfigDump_StaticSecret.ProtoReflect.Descriptor instead.
+func (*SecretsConfigDump_StaticSecret) Descriptor() ([]byte, []int) {
+ return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{2, 1}
}
-func (x *RoutesConfigDump) GetStaticRouteConfigs() []*RoutesConfigDump_StaticRouteConfig {
+func (x *SecretsConfigDump_StaticSecret) GetName() string {
if x != nil {
- return x.StaticRouteConfigs
+ return x.Name
}
- return nil
+ return ""
}
-func (x *RoutesConfigDump) GetDynamicRouteConfigs() []*RoutesConfigDump_DynamicRouteConfig {
+func (x *SecretsConfigDump_StaticSecret) GetLastUpdated() *timestamp.Timestamp {
if x != nil {
- return x.DynamicRouteConfigs
+ return x.LastUpdated
}
return nil
}
-// Envoy's scoped RDS implementation fills this message with all currently loaded route
-// configuration scopes (defined via ScopedRouteConfigurationsSet protos). This message lists both
-// the scopes defined inline with the higher order object (i.e., the HttpConnectionManager) and the
-// dynamically obtained scopes via the SRDS API.
-type ScopedRoutesConfigDump struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // The statically loaded scoped route configs.
- InlineScopedRouteConfigs []*ScopedRoutesConfigDump_InlineScopedRouteConfigs `protobuf:"bytes,1,rep,name=inline_scoped_route_configs,json=inlineScopedRouteConfigs,proto3" json:"inline_scoped_route_configs,omitempty"`
- // The dynamically loaded scoped route configs.
- DynamicScopedRouteConfigs []*ScopedRoutesConfigDump_DynamicScopedRouteConfigs `protobuf:"bytes,2,rep,name=dynamic_scoped_route_configs,json=dynamicScopedRouteConfigs,proto3" json:"dynamic_scoped_route_configs,omitempty"`
-}
-
-func (x *ScopedRoutesConfigDump) Reset() {
- *x = ScopedRoutesConfigDump{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[6]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
+func (x *SecretsConfigDump_StaticSecret) GetSecret() *any1.Any {
+ if x != nil {
+ return x.Secret
}
+ return nil
}
-func (x *ScopedRoutesConfigDump) String() string {
- return protoimpl.X.MessageStringOf(x)
+var File_envoy_admin_v3_config_dump_proto protoreflect.FileDescriptor
+
+var file_envoy_admin_v3_config_dump_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33,
+ 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x0e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e,
+ 0x76, 0x33, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f,
+ 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x73,
+ 0x68, 0x61, 0x72, 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x65, 0x6e, 0x76,
+ 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74,
+ 0x72, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 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, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x63, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75,
+ 0x6d, 0x70, 0x12, 0x2e, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x01, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x73, 0x3a, 0x25, 0x9a, 0xc5, 0x88, 0x1e, 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
+ 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x22, 0xc8, 0x01, 0x0a, 0x13, 0x42, 0x6f,
+ 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d,
+ 0x70, 0x12, 0x42, 0x0a, 0x09, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33,
+ 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x74,
+ 0x73, 0x74, 0x72, 0x61, 0x70, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 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, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x64, 0x3a, 0x2e, 0x9a, 0xc5, 0x88, 0x1e, 0x29, 0x0a, 0x27, 0x65, 0x6e, 0x76,
+ 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61,
+ 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x44, 0x75, 0x6d, 0x70, 0x22, 0xb7, 0x07, 0x0a, 0x11, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73,
+ 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x55, 0x0a, 0x0e, 0x73, 0x74,
+ 0x61, 0x74, 0x69, 0x63, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e,
+ 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x53, 0x65, 0x63, 0x72,
+ 0x65, 0x74, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74,
+ 0x73, 0x12, 0x65, 0x0a, 0x16, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x61, 0x63, 0x74,
+ 0x69, 0x76, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e,
+ 0x76, 0x33, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x65, 0x63, 0x72,
+ 0x65, 0x74, 0x52, 0x14, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x65, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x12, 0x67, 0x0a, 0x17, 0x64, 0x79, 0x6e, 0x61,
+ 0x6d, 0x69, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x63, 0x72,
+ 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
+ 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65,
+ 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e,
+ 0x61, 0x6d, 0x69, 0x63, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x15, 0x64, 0x79, 0x6e, 0x61,
+ 0x6d, 0x69, 0x63, 0x57, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74,
+ 0x73, 0x1a, 0xff, 0x02, 0x0a, 0x0d, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x65, 0x63,
+ 0x72, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76,
+ 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61,
+ 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 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, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61,
+ 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x65, 0x63,
+ 0x72, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52,
+ 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x43, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72,
+ 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65,
+ 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65,
+ 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x0d,
+ 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69,
+ 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x3a, 0x9a, 0xc5, 0x88, 0x1e, 0x35, 0x0a, 0x33,
+ 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c,
+ 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x65, 0x63,
+ 0x72, 0x65, 0x74, 0x1a, 0xca, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x53, 0x65,
+ 0x63, 0x72, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74,
+ 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 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, 0x0b, 0x6c, 0x61, 0x73, 0x74,
+ 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65,
+ 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x06, 0x73,
+ 0x65, 0x63, 0x72, 0x65, 0x74, 0x3a, 0x39, 0x9a, 0xc5, 0x88, 0x1e, 0x34, 0x0a, 0x32, 0x65, 0x6e,
+ 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68,
+ 0x61, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44,
+ 0x75, 0x6d, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74,
+ 0x3a, 0x2c, 0x9a, 0xc5, 0x88, 0x1e, 0x27, 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61,
+ 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x63,
+ 0x72, 0x65, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x42, 0x78,
+ 0x0a, 0x1c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e,
+ 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x0f,
+ 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50,
+ 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e,
+ 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74,
+ 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f,
+ 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x76, 0x33,
+ 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
-func (*ScopedRoutesConfigDump) ProtoMessage() {}
+var (
+ file_envoy_admin_v3_config_dump_proto_rawDescOnce sync.Once
+ file_envoy_admin_v3_config_dump_proto_rawDescData = file_envoy_admin_v3_config_dump_proto_rawDesc
+)
-func (x *ScopedRoutesConfigDump) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_admin_v3_config_dump_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 file_envoy_admin_v3_config_dump_proto_rawDescGZIP() []byte {
+ file_envoy_admin_v3_config_dump_proto_rawDescOnce.Do(func() {
+ file_envoy_admin_v3_config_dump_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_admin_v3_config_dump_proto_rawDescData)
+ })
+ return file_envoy_admin_v3_config_dump_proto_rawDescData
}
-// Deprecated: Use ScopedRoutesConfigDump.ProtoReflect.Descriptor instead.
-func (*ScopedRoutesConfigDump) Descriptor() ([]byte, []int) {
- return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{6}
+var file_envoy_admin_v3_config_dump_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
+var file_envoy_admin_v3_config_dump_proto_goTypes = []interface{}{
+ (*ConfigDump)(nil), // 0: envoy.admin.v3.ConfigDump
+ (*BootstrapConfigDump)(nil), // 1: envoy.admin.v3.BootstrapConfigDump
+ (*SecretsConfigDump)(nil), // 2: envoy.admin.v3.SecretsConfigDump
+ (*SecretsConfigDump_DynamicSecret)(nil), // 3: envoy.admin.v3.SecretsConfigDump.DynamicSecret
+ (*SecretsConfigDump_StaticSecret)(nil), // 4: envoy.admin.v3.SecretsConfigDump.StaticSecret
+ (*any1.Any)(nil), // 5: google.protobuf.Any
+ (*v3.Bootstrap)(nil), // 6: envoy.config.bootstrap.v3.Bootstrap
+ (*timestamp.Timestamp)(nil), // 7: google.protobuf.Timestamp
+ (*UpdateFailureState)(nil), // 8: envoy.admin.v3.UpdateFailureState
+ (ClientResourceStatus)(0), // 9: envoy.admin.v3.ClientResourceStatus
}
-
-func (x *ScopedRoutesConfigDump) GetInlineScopedRouteConfigs() []*ScopedRoutesConfigDump_InlineScopedRouteConfigs {
- if x != nil {
- return x.InlineScopedRouteConfigs
- }
- return nil
+var file_envoy_admin_v3_config_dump_proto_depIdxs = []int32{
+ 5, // 0: envoy.admin.v3.ConfigDump.configs:type_name -> google.protobuf.Any
+ 6, // 1: envoy.admin.v3.BootstrapConfigDump.bootstrap:type_name -> envoy.config.bootstrap.v3.Bootstrap
+ 7, // 2: envoy.admin.v3.BootstrapConfigDump.last_updated:type_name -> google.protobuf.Timestamp
+ 4, // 3: envoy.admin.v3.SecretsConfigDump.static_secrets:type_name -> envoy.admin.v3.SecretsConfigDump.StaticSecret
+ 3, // 4: envoy.admin.v3.SecretsConfigDump.dynamic_active_secrets:type_name -> envoy.admin.v3.SecretsConfigDump.DynamicSecret
+ 3, // 5: envoy.admin.v3.SecretsConfigDump.dynamic_warming_secrets:type_name -> envoy.admin.v3.SecretsConfigDump.DynamicSecret
+ 7, // 6: envoy.admin.v3.SecretsConfigDump.DynamicSecret.last_updated:type_name -> google.protobuf.Timestamp
+ 5, // 7: envoy.admin.v3.SecretsConfigDump.DynamicSecret.secret:type_name -> google.protobuf.Any
+ 8, // 8: envoy.admin.v3.SecretsConfigDump.DynamicSecret.error_state:type_name -> envoy.admin.v3.UpdateFailureState
+ 9, // 9: envoy.admin.v3.SecretsConfigDump.DynamicSecret.client_status:type_name -> envoy.admin.v3.ClientResourceStatus
+ 7, // 10: envoy.admin.v3.SecretsConfigDump.StaticSecret.last_updated:type_name -> google.protobuf.Timestamp
+ 5, // 11: envoy.admin.v3.SecretsConfigDump.StaticSecret.secret:type_name -> google.protobuf.Any
+ 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 (x *ScopedRoutesConfigDump) GetDynamicScopedRouteConfigs() []*ScopedRoutesConfigDump_DynamicScopedRouteConfigs {
- if x != nil {
- return x.DynamicScopedRouteConfigs
- }
- return nil
-}
-
-// Envoys SDS implementation fills this message with all secrets fetched dynamically via SDS.
-type SecretsConfigDump struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // The statically loaded secrets.
- StaticSecrets []*SecretsConfigDump_StaticSecret `protobuf:"bytes,1,rep,name=static_secrets,json=staticSecrets,proto3" json:"static_secrets,omitempty"`
- // The dynamically loaded active secrets. These are secrets that are available to service
- // clusters or listeners.
- DynamicActiveSecrets []*SecretsConfigDump_DynamicSecret `protobuf:"bytes,2,rep,name=dynamic_active_secrets,json=dynamicActiveSecrets,proto3" json:"dynamic_active_secrets,omitempty"`
- // The dynamically loaded warming secrets. These are secrets that are currently undergoing
- // warming in preparation to service clusters or listeners.
- DynamicWarmingSecrets []*SecretsConfigDump_DynamicSecret `protobuf:"bytes,3,rep,name=dynamic_warming_secrets,json=dynamicWarmingSecrets,proto3" json:"dynamic_warming_secrets,omitempty"`
-}
-
-func (x *SecretsConfigDump) Reset() {
- *x = SecretsConfigDump{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[7]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *SecretsConfigDump) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*SecretsConfigDump) ProtoMessage() {}
-
-func (x *SecretsConfigDump) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_admin_v3_config_dump_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 SecretsConfigDump.ProtoReflect.Descriptor instead.
-func (*SecretsConfigDump) Descriptor() ([]byte, []int) {
- return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{7}
-}
-
-func (x *SecretsConfigDump) GetStaticSecrets() []*SecretsConfigDump_StaticSecret {
- if x != nil {
- return x.StaticSecrets
- }
- return nil
-}
-
-func (x *SecretsConfigDump) GetDynamicActiveSecrets() []*SecretsConfigDump_DynamicSecret {
- if x != nil {
- return x.DynamicActiveSecrets
- }
- return nil
-}
-
-func (x *SecretsConfigDump) GetDynamicWarmingSecrets() []*SecretsConfigDump_DynamicSecret {
- if x != nil {
- return x.DynamicWarmingSecrets
- }
- return nil
-}
-
-// Envoy's admin fill this message with all currently known endpoints. Endpoint
-// configuration information can be used to recreate an Envoy configuration by populating all
-// endpoints as static endpoints or by returning them in an EDS response.
-type EndpointsConfigDump struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // The statically loaded endpoint configs.
- StaticEndpointConfigs []*EndpointsConfigDump_StaticEndpointConfig `protobuf:"bytes,2,rep,name=static_endpoint_configs,json=staticEndpointConfigs,proto3" json:"static_endpoint_configs,omitempty"`
- // The dynamically loaded endpoint configs.
- DynamicEndpointConfigs []*EndpointsConfigDump_DynamicEndpointConfig `protobuf:"bytes,3,rep,name=dynamic_endpoint_configs,json=dynamicEndpointConfigs,proto3" json:"dynamic_endpoint_configs,omitempty"`
-}
-
-func (x *EndpointsConfigDump) Reset() {
- *x = EndpointsConfigDump{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[8]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *EndpointsConfigDump) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*EndpointsConfigDump) ProtoMessage() {}
-
-func (x *EndpointsConfigDump) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_admin_v3_config_dump_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 EndpointsConfigDump.ProtoReflect.Descriptor instead.
-func (*EndpointsConfigDump) Descriptor() ([]byte, []int) {
- return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{8}
-}
-
-func (x *EndpointsConfigDump) GetStaticEndpointConfigs() []*EndpointsConfigDump_StaticEndpointConfig {
- if x != nil {
- return x.StaticEndpointConfigs
- }
- return nil
-}
-
-func (x *EndpointsConfigDump) GetDynamicEndpointConfigs() []*EndpointsConfigDump_DynamicEndpointConfig {
- if x != nil {
- return x.DynamicEndpointConfigs
- }
- return nil
-}
-
-// Describes a statically loaded listener.
-type ListenersConfigDump_StaticListener struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // The listener config.
- Listener *any.Any `protobuf:"bytes,1,opt,name=listener,proto3" json:"listener,omitempty"`
- // The timestamp when the Listener was last successfully updated.
- LastUpdated *timestamp.Timestamp `protobuf:"bytes,2,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
-}
-
-func (x *ListenersConfigDump_StaticListener) Reset() {
- *x = ListenersConfigDump_StaticListener{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[9]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *ListenersConfigDump_StaticListener) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*ListenersConfigDump_StaticListener) ProtoMessage() {}
-
-func (x *ListenersConfigDump_StaticListener) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_admin_v3_config_dump_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)
-}
-
-// Deprecated: Use ListenersConfigDump_StaticListener.ProtoReflect.Descriptor instead.
-func (*ListenersConfigDump_StaticListener) Descriptor() ([]byte, []int) {
- return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{3, 0}
-}
-
-func (x *ListenersConfigDump_StaticListener) GetListener() *any.Any {
- if x != nil {
- return x.Listener
- }
- return nil
-}
-
-func (x *ListenersConfigDump_StaticListener) GetLastUpdated() *timestamp.Timestamp {
- if x != nil {
- return x.LastUpdated
- }
- return nil
-}
-
-type ListenersConfigDump_DynamicListenerState struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // This is the per-resource version information. This version is currently taken from the
- // :ref:`version_info ` field at the time
- // that the listener was loaded. In the future, discrete per-listener versions may be supported
- // by the API.
- VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"`
- // The listener config.
- Listener *any.Any `protobuf:"bytes,2,opt,name=listener,proto3" json:"listener,omitempty"`
- // The timestamp when the Listener was last successfully updated.
- LastUpdated *timestamp.Timestamp `protobuf:"bytes,3,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
-}
-
-func (x *ListenersConfigDump_DynamicListenerState) Reset() {
- *x = ListenersConfigDump_DynamicListenerState{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[10]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *ListenersConfigDump_DynamicListenerState) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*ListenersConfigDump_DynamicListenerState) ProtoMessage() {}
-
-func (x *ListenersConfigDump_DynamicListenerState) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_admin_v3_config_dump_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)
-}
-
-// Deprecated: Use ListenersConfigDump_DynamicListenerState.ProtoReflect.Descriptor instead.
-func (*ListenersConfigDump_DynamicListenerState) Descriptor() ([]byte, []int) {
- return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{3, 1}
-}
-
-func (x *ListenersConfigDump_DynamicListenerState) GetVersionInfo() string {
- if x != nil {
- return x.VersionInfo
- }
- return ""
-}
-
-func (x *ListenersConfigDump_DynamicListenerState) GetListener() *any.Any {
- if x != nil {
- return x.Listener
- }
- return nil
-}
-
-func (x *ListenersConfigDump_DynamicListenerState) GetLastUpdated() *timestamp.Timestamp {
- if x != nil {
- return x.LastUpdated
- }
- return nil
-}
-
-// Describes a dynamically loaded listener via the LDS API.
-// [#next-free-field: 7]
-type ListenersConfigDump_DynamicListener struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // The name or unique id of this listener, pulled from the DynamicListenerState config.
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // The listener state for any active listener by this name.
- // These are listeners that are available to service data plane traffic.
- ActiveState *ListenersConfigDump_DynamicListenerState `protobuf:"bytes,2,opt,name=active_state,json=activeState,proto3" json:"active_state,omitempty"`
- // The listener state for any warming listener by this name.
- // These are listeners that are currently undergoing warming in preparation to service data
- // plane traffic. Note that if attempting to recreate an Envoy configuration from a
- // configuration dump, the warming listeners should generally be discarded.
- WarmingState *ListenersConfigDump_DynamicListenerState `protobuf:"bytes,3,opt,name=warming_state,json=warmingState,proto3" json:"warming_state,omitempty"`
- // The listener state for any draining listener by this name.
- // These are listeners that are currently undergoing draining in preparation to stop servicing
- // data plane traffic. Note that if attempting to recreate an Envoy configuration from a
- // configuration dump, the draining listeners should generally be discarded.
- DrainingState *ListenersConfigDump_DynamicListenerState `protobuf:"bytes,4,opt,name=draining_state,json=drainingState,proto3" json:"draining_state,omitempty"`
- // Set if the last update failed, cleared after the next successful update.
- // The *error_state* field contains the rejected version of this particular
- // resource along with the reason and timestamp. For successfully updated or
- // acknowledged resource, this field should be empty.
- ErrorState *UpdateFailureState `protobuf:"bytes,5,opt,name=error_state,json=errorState,proto3" json:"error_state,omitempty"`
- // The client status of this resource.
- // [#not-implemented-hide:]
- ClientStatus ClientResourceStatus `protobuf:"varint,6,opt,name=client_status,json=clientStatus,proto3,enum=envoy.admin.v3.ClientResourceStatus" json:"client_status,omitempty"`
-}
-
-func (x *ListenersConfigDump_DynamicListener) Reset() {
- *x = ListenersConfigDump_DynamicListener{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[11]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *ListenersConfigDump_DynamicListener) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*ListenersConfigDump_DynamicListener) ProtoMessage() {}
-
-func (x *ListenersConfigDump_DynamicListener) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_admin_v3_config_dump_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)
-}
-
-// Deprecated: Use ListenersConfigDump_DynamicListener.ProtoReflect.Descriptor instead.
-func (*ListenersConfigDump_DynamicListener) Descriptor() ([]byte, []int) {
- return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{3, 2}
-}
-
-func (x *ListenersConfigDump_DynamicListener) GetName() string {
- if x != nil {
- return x.Name
- }
- return ""
-}
-
-func (x *ListenersConfigDump_DynamicListener) GetActiveState() *ListenersConfigDump_DynamicListenerState {
- if x != nil {
- return x.ActiveState
- }
- return nil
-}
-
-func (x *ListenersConfigDump_DynamicListener) GetWarmingState() *ListenersConfigDump_DynamicListenerState {
- if x != nil {
- return x.WarmingState
- }
- return nil
-}
-
-func (x *ListenersConfigDump_DynamicListener) GetDrainingState() *ListenersConfigDump_DynamicListenerState {
- if x != nil {
- return x.DrainingState
- }
- return nil
-}
-
-func (x *ListenersConfigDump_DynamicListener) GetErrorState() *UpdateFailureState {
- if x != nil {
- return x.ErrorState
- }
- return nil
-}
-
-func (x *ListenersConfigDump_DynamicListener) GetClientStatus() ClientResourceStatus {
- if x != nil {
- return x.ClientStatus
- }
- return ClientResourceStatus_UNKNOWN
-}
-
-// Describes a statically loaded cluster.
-type ClustersConfigDump_StaticCluster struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // The cluster config.
- Cluster *any.Any `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"`
- // The timestamp when the Cluster was last updated.
- LastUpdated *timestamp.Timestamp `protobuf:"bytes,2,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
-}
-
-func (x *ClustersConfigDump_StaticCluster) Reset() {
- *x = ClustersConfigDump_StaticCluster{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[12]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *ClustersConfigDump_StaticCluster) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*ClustersConfigDump_StaticCluster) ProtoMessage() {}
-
-func (x *ClustersConfigDump_StaticCluster) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_admin_v3_config_dump_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)
-}
-
-// Deprecated: Use ClustersConfigDump_StaticCluster.ProtoReflect.Descriptor instead.
-func (*ClustersConfigDump_StaticCluster) Descriptor() ([]byte, []int) {
- return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{4, 0}
-}
-
-func (x *ClustersConfigDump_StaticCluster) GetCluster() *any.Any {
- if x != nil {
- return x.Cluster
- }
- return nil
-}
-
-func (x *ClustersConfigDump_StaticCluster) GetLastUpdated() *timestamp.Timestamp {
- if x != nil {
- return x.LastUpdated
- }
- return nil
-}
-
-// Describes a dynamically loaded cluster via the CDS API.
-// [#next-free-field: 6]
-type ClustersConfigDump_DynamicCluster struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // This is the per-resource version information. This version is currently taken from the
- // :ref:`version_info ` field at the time
- // that the cluster was loaded. In the future, discrete per-cluster versions may be supported by
- // the API.
- VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"`
- // The cluster config.
- Cluster *any.Any `protobuf:"bytes,2,opt,name=cluster,proto3" json:"cluster,omitempty"`
- // The timestamp when the Cluster was last updated.
- LastUpdated *timestamp.Timestamp `protobuf:"bytes,3,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
- // Set if the last update failed, cleared after the next successful update.
- // The *error_state* field contains the rejected version of this particular
- // resource along with the reason and timestamp. For successfully updated or
- // acknowledged resource, this field should be empty.
- // [#not-implemented-hide:]
- ErrorState *UpdateFailureState `protobuf:"bytes,4,opt,name=error_state,json=errorState,proto3" json:"error_state,omitempty"`
- // The client status of this resource.
- // [#not-implemented-hide:]
- ClientStatus ClientResourceStatus `protobuf:"varint,5,opt,name=client_status,json=clientStatus,proto3,enum=envoy.admin.v3.ClientResourceStatus" json:"client_status,omitempty"`
-}
-
-func (x *ClustersConfigDump_DynamicCluster) Reset() {
- *x = ClustersConfigDump_DynamicCluster{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[13]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *ClustersConfigDump_DynamicCluster) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*ClustersConfigDump_DynamicCluster) ProtoMessage() {}
-
-func (x *ClustersConfigDump_DynamicCluster) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_admin_v3_config_dump_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)
-}
-
-// Deprecated: Use ClustersConfigDump_DynamicCluster.ProtoReflect.Descriptor instead.
-func (*ClustersConfigDump_DynamicCluster) Descriptor() ([]byte, []int) {
- return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{4, 1}
-}
-
-func (x *ClustersConfigDump_DynamicCluster) GetVersionInfo() string {
- if x != nil {
- return x.VersionInfo
- }
- return ""
-}
-
-func (x *ClustersConfigDump_DynamicCluster) GetCluster() *any.Any {
- if x != nil {
- return x.Cluster
- }
- return nil
-}
-
-func (x *ClustersConfigDump_DynamicCluster) GetLastUpdated() *timestamp.Timestamp {
- if x != nil {
- return x.LastUpdated
- }
- return nil
-}
-
-func (x *ClustersConfigDump_DynamicCluster) GetErrorState() *UpdateFailureState {
- if x != nil {
- return x.ErrorState
- }
- return nil
-}
-
-func (x *ClustersConfigDump_DynamicCluster) GetClientStatus() ClientResourceStatus {
- if x != nil {
- return x.ClientStatus
- }
- return ClientResourceStatus_UNKNOWN
-}
-
-type RoutesConfigDump_StaticRouteConfig struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // The route config.
- RouteConfig *any.Any `protobuf:"bytes,1,opt,name=route_config,json=routeConfig,proto3" json:"route_config,omitempty"`
- // The timestamp when the Route was last updated.
- LastUpdated *timestamp.Timestamp `protobuf:"bytes,2,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
-}
-
-func (x *RoutesConfigDump_StaticRouteConfig) Reset() {
- *x = RoutesConfigDump_StaticRouteConfig{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[14]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *RoutesConfigDump_StaticRouteConfig) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*RoutesConfigDump_StaticRouteConfig) ProtoMessage() {}
-
-func (x *RoutesConfigDump_StaticRouteConfig) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_admin_v3_config_dump_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)
-}
-
-// Deprecated: Use RoutesConfigDump_StaticRouteConfig.ProtoReflect.Descriptor instead.
-func (*RoutesConfigDump_StaticRouteConfig) Descriptor() ([]byte, []int) {
- return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{5, 0}
-}
-
-func (x *RoutesConfigDump_StaticRouteConfig) GetRouteConfig() *any.Any {
- if x != nil {
- return x.RouteConfig
- }
- return nil
-}
-
-func (x *RoutesConfigDump_StaticRouteConfig) GetLastUpdated() *timestamp.Timestamp {
- if x != nil {
- return x.LastUpdated
- }
- return nil
-}
-
-// [#next-free-field: 6]
-type RoutesConfigDump_DynamicRouteConfig struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // This is the per-resource version information. This version is currently taken from the
- // :ref:`version_info ` field at the time that
- // the route configuration was loaded.
- VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"`
- // The route config.
- RouteConfig *any.Any `protobuf:"bytes,2,opt,name=route_config,json=routeConfig,proto3" json:"route_config,omitempty"`
- // The timestamp when the Route was last updated.
- LastUpdated *timestamp.Timestamp `protobuf:"bytes,3,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
- // Set if the last update failed, cleared after the next successful update.
- // The *error_state* field contains the rejected version of this particular
- // resource along with the reason and timestamp. For successfully updated or
- // acknowledged resource, this field should be empty.
- // [#not-implemented-hide:]
- ErrorState *UpdateFailureState `protobuf:"bytes,4,opt,name=error_state,json=errorState,proto3" json:"error_state,omitempty"`
- // The client status of this resource.
- // [#not-implemented-hide:]
- ClientStatus ClientResourceStatus `protobuf:"varint,5,opt,name=client_status,json=clientStatus,proto3,enum=envoy.admin.v3.ClientResourceStatus" json:"client_status,omitempty"`
-}
-
-func (x *RoutesConfigDump_DynamicRouteConfig) Reset() {
- *x = RoutesConfigDump_DynamicRouteConfig{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[15]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *RoutesConfigDump_DynamicRouteConfig) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*RoutesConfigDump_DynamicRouteConfig) ProtoMessage() {}
-
-func (x *RoutesConfigDump_DynamicRouteConfig) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_admin_v3_config_dump_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)
-}
-
-// Deprecated: Use RoutesConfigDump_DynamicRouteConfig.ProtoReflect.Descriptor instead.
-func (*RoutesConfigDump_DynamicRouteConfig) Descriptor() ([]byte, []int) {
- return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{5, 1}
-}
-
-func (x *RoutesConfigDump_DynamicRouteConfig) GetVersionInfo() string {
- if x != nil {
- return x.VersionInfo
- }
- return ""
-}
-
-func (x *RoutesConfigDump_DynamicRouteConfig) GetRouteConfig() *any.Any {
- if x != nil {
- return x.RouteConfig
- }
- return nil
-}
-
-func (x *RoutesConfigDump_DynamicRouteConfig) GetLastUpdated() *timestamp.Timestamp {
- if x != nil {
- return x.LastUpdated
- }
- return nil
-}
-
-func (x *RoutesConfigDump_DynamicRouteConfig) GetErrorState() *UpdateFailureState {
- if x != nil {
- return x.ErrorState
- }
- return nil
-}
-
-func (x *RoutesConfigDump_DynamicRouteConfig) GetClientStatus() ClientResourceStatus {
- if x != nil {
- return x.ClientStatus
- }
- return ClientResourceStatus_UNKNOWN
-}
-
-type ScopedRoutesConfigDump_InlineScopedRouteConfigs struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // The name assigned to the scoped route configurations.
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // The scoped route configurations.
- ScopedRouteConfigs []*any.Any `protobuf:"bytes,2,rep,name=scoped_route_configs,json=scopedRouteConfigs,proto3" json:"scoped_route_configs,omitempty"`
- // The timestamp when the scoped route config set was last updated.
- LastUpdated *timestamp.Timestamp `protobuf:"bytes,3,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
-}
-
-func (x *ScopedRoutesConfigDump_InlineScopedRouteConfigs) Reset() {
- *x = ScopedRoutesConfigDump_InlineScopedRouteConfigs{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[16]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *ScopedRoutesConfigDump_InlineScopedRouteConfigs) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*ScopedRoutesConfigDump_InlineScopedRouteConfigs) ProtoMessage() {}
-
-func (x *ScopedRoutesConfigDump_InlineScopedRouteConfigs) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_admin_v3_config_dump_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)
-}
-
-// Deprecated: Use ScopedRoutesConfigDump_InlineScopedRouteConfigs.ProtoReflect.Descriptor instead.
-func (*ScopedRoutesConfigDump_InlineScopedRouteConfigs) Descriptor() ([]byte, []int) {
- return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{6, 0}
-}
-
-func (x *ScopedRoutesConfigDump_InlineScopedRouteConfigs) GetName() string {
- if x != nil {
- return x.Name
- }
- return ""
-}
-
-func (x *ScopedRoutesConfigDump_InlineScopedRouteConfigs) GetScopedRouteConfigs() []*any.Any {
- if x != nil {
- return x.ScopedRouteConfigs
- }
- return nil
-}
-
-func (x *ScopedRoutesConfigDump_InlineScopedRouteConfigs) GetLastUpdated() *timestamp.Timestamp {
- if x != nil {
- return x.LastUpdated
- }
- return nil
-}
-
-// [#next-free-field: 7]
-type ScopedRoutesConfigDump_DynamicScopedRouteConfigs struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // The name assigned to the scoped route configurations.
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // This is the per-resource version information. This version is currently taken from the
- // :ref:`version_info ` field at the time that
- // the scoped routes configuration was loaded.
- VersionInfo string `protobuf:"bytes,2,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"`
- // The scoped route configurations.
- ScopedRouteConfigs []*any.Any `protobuf:"bytes,3,rep,name=scoped_route_configs,json=scopedRouteConfigs,proto3" json:"scoped_route_configs,omitempty"`
- // The timestamp when the scoped route config set was last updated.
- LastUpdated *timestamp.Timestamp `protobuf:"bytes,4,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
- // Set if the last update failed, cleared after the next successful update.
- // The *error_state* field contains the rejected version of this particular
- // resource along with the reason and timestamp. For successfully updated or
- // acknowledged resource, this field should be empty.
- // [#not-implemented-hide:]
- ErrorState *UpdateFailureState `protobuf:"bytes,5,opt,name=error_state,json=errorState,proto3" json:"error_state,omitempty"`
- // The client status of this resource.
- // [#not-implemented-hide:]
- ClientStatus ClientResourceStatus `protobuf:"varint,6,opt,name=client_status,json=clientStatus,proto3,enum=envoy.admin.v3.ClientResourceStatus" json:"client_status,omitempty"`
-}
-
-func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) Reset() {
- *x = ScopedRoutesConfigDump_DynamicScopedRouteConfigs{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[17]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*ScopedRoutesConfigDump_DynamicScopedRouteConfigs) ProtoMessage() {}
-
-func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_admin_v3_config_dump_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)
-}
-
-// Deprecated: Use ScopedRoutesConfigDump_DynamicScopedRouteConfigs.ProtoReflect.Descriptor instead.
-func (*ScopedRoutesConfigDump_DynamicScopedRouteConfigs) Descriptor() ([]byte, []int) {
- return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{6, 1}
-}
-
-func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) GetName() string {
- if x != nil {
- return x.Name
- }
- return ""
-}
-
-func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) GetVersionInfo() string {
- if x != nil {
- return x.VersionInfo
- }
- return ""
-}
-
-func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) GetScopedRouteConfigs() []*any.Any {
- if x != nil {
- return x.ScopedRouteConfigs
- }
- return nil
-}
-
-func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) GetLastUpdated() *timestamp.Timestamp {
- if x != nil {
- return x.LastUpdated
- }
- return nil
-}
-
-func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) GetErrorState() *UpdateFailureState {
- if x != nil {
- return x.ErrorState
- }
- return nil
-}
-
-func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) GetClientStatus() ClientResourceStatus {
- if x != nil {
- return x.ClientStatus
- }
- return ClientResourceStatus_UNKNOWN
-}
-
-// DynamicSecret contains secret information fetched via SDS.
-// [#next-free-field: 7]
-type SecretsConfigDump_DynamicSecret struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // The name assigned to the secret.
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // This is the per-resource version information.
- VersionInfo string `protobuf:"bytes,2,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"`
- // The timestamp when the secret was last updated.
- LastUpdated *timestamp.Timestamp `protobuf:"bytes,3,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
- // The actual secret information.
- // Security sensitive information is redacted (replaced with "[redacted]") for
- // private keys and passwords in TLS certificates.
- Secret *any.Any `protobuf:"bytes,4,opt,name=secret,proto3" json:"secret,omitempty"`
- // Set if the last update failed, cleared after the next successful update.
- // The *error_state* field contains the rejected version of this particular
- // resource along with the reason and timestamp. For successfully updated or
- // acknowledged resource, this field should be empty.
- // [#not-implemented-hide:]
- ErrorState *UpdateFailureState `protobuf:"bytes,5,opt,name=error_state,json=errorState,proto3" json:"error_state,omitempty"`
- // The client status of this resource.
- // [#not-implemented-hide:]
- ClientStatus ClientResourceStatus `protobuf:"varint,6,opt,name=client_status,json=clientStatus,proto3,enum=envoy.admin.v3.ClientResourceStatus" json:"client_status,omitempty"`
-}
-
-func (x *SecretsConfigDump_DynamicSecret) Reset() {
- *x = SecretsConfigDump_DynamicSecret{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[18]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *SecretsConfigDump_DynamicSecret) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*SecretsConfigDump_DynamicSecret) ProtoMessage() {}
-
-func (x *SecretsConfigDump_DynamicSecret) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[18]
- 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 SecretsConfigDump_DynamicSecret.ProtoReflect.Descriptor instead.
-func (*SecretsConfigDump_DynamicSecret) Descriptor() ([]byte, []int) {
- return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{7, 0}
-}
-
-func (x *SecretsConfigDump_DynamicSecret) GetName() string {
- if x != nil {
- return x.Name
- }
- return ""
-}
-
-func (x *SecretsConfigDump_DynamicSecret) GetVersionInfo() string {
- if x != nil {
- return x.VersionInfo
- }
- return ""
-}
-
-func (x *SecretsConfigDump_DynamicSecret) GetLastUpdated() *timestamp.Timestamp {
- if x != nil {
- return x.LastUpdated
- }
- return nil
-}
-
-func (x *SecretsConfigDump_DynamicSecret) GetSecret() *any.Any {
- if x != nil {
- return x.Secret
- }
- return nil
-}
-
-func (x *SecretsConfigDump_DynamicSecret) GetErrorState() *UpdateFailureState {
- if x != nil {
- return x.ErrorState
- }
- return nil
-}
-
-func (x *SecretsConfigDump_DynamicSecret) GetClientStatus() ClientResourceStatus {
- if x != nil {
- return x.ClientStatus
- }
- return ClientResourceStatus_UNKNOWN
-}
-
-// StaticSecret specifies statically loaded secret in bootstrap.
-type SecretsConfigDump_StaticSecret struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // The name assigned to the secret.
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // The timestamp when the secret was last updated.
- LastUpdated *timestamp.Timestamp `protobuf:"bytes,2,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
- // The actual secret information.
- // Security sensitive information is redacted (replaced with "[redacted]") for
- // private keys and passwords in TLS certificates.
- Secret *any.Any `protobuf:"bytes,3,opt,name=secret,proto3" json:"secret,omitempty"`
-}
-
-func (x *SecretsConfigDump_StaticSecret) Reset() {
- *x = SecretsConfigDump_StaticSecret{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[19]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *SecretsConfigDump_StaticSecret) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*SecretsConfigDump_StaticSecret) ProtoMessage() {}
-
-func (x *SecretsConfigDump_StaticSecret) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_admin_v3_config_dump_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 SecretsConfigDump_StaticSecret.ProtoReflect.Descriptor instead.
-func (*SecretsConfigDump_StaticSecret) Descriptor() ([]byte, []int) {
- return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{7, 1}
-}
-
-func (x *SecretsConfigDump_StaticSecret) GetName() string {
- if x != nil {
- return x.Name
- }
- return ""
-}
-
-func (x *SecretsConfigDump_StaticSecret) GetLastUpdated() *timestamp.Timestamp {
- if x != nil {
- return x.LastUpdated
- }
- return nil
-}
-
-func (x *SecretsConfigDump_StaticSecret) GetSecret() *any.Any {
- if x != nil {
- return x.Secret
- }
- return nil
-}
-
-type EndpointsConfigDump_StaticEndpointConfig struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // The endpoint config.
- EndpointConfig *any.Any `protobuf:"bytes,1,opt,name=endpoint_config,json=endpointConfig,proto3" json:"endpoint_config,omitempty"`
- // [#not-implemented-hide:] The timestamp when the Endpoint was last updated.
- LastUpdated *timestamp.Timestamp `protobuf:"bytes,2,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
-}
-
-func (x *EndpointsConfigDump_StaticEndpointConfig) Reset() {
- *x = EndpointsConfigDump_StaticEndpointConfig{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[20]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *EndpointsConfigDump_StaticEndpointConfig) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*EndpointsConfigDump_StaticEndpointConfig) ProtoMessage() {}
-
-func (x *EndpointsConfigDump_StaticEndpointConfig) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_admin_v3_config_dump_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 EndpointsConfigDump_StaticEndpointConfig.ProtoReflect.Descriptor instead.
-func (*EndpointsConfigDump_StaticEndpointConfig) Descriptor() ([]byte, []int) {
- return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{8, 0}
-}
-
-func (x *EndpointsConfigDump_StaticEndpointConfig) GetEndpointConfig() *any.Any {
- if x != nil {
- return x.EndpointConfig
- }
- return nil
-}
-
-func (x *EndpointsConfigDump_StaticEndpointConfig) GetLastUpdated() *timestamp.Timestamp {
- if x != nil {
- return x.LastUpdated
- }
- return nil
-}
-
-// [#next-free-field: 6]
-type EndpointsConfigDump_DynamicEndpointConfig struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // [#not-implemented-hide:] This is the per-resource version information. This version is currently taken from the
- // :ref:`version_info ` field at the time that
- // the endpoint configuration was loaded.
- VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"`
- // The endpoint config.
- EndpointConfig *any.Any `protobuf:"bytes,2,opt,name=endpoint_config,json=endpointConfig,proto3" json:"endpoint_config,omitempty"`
- // [#not-implemented-hide:] The timestamp when the Endpoint was last updated.
- LastUpdated *timestamp.Timestamp `protobuf:"bytes,3,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
- // Set if the last update failed, cleared after the next successful update.
- // The *error_state* field contains the rejected version of this particular
- // resource along with the reason and timestamp. For successfully updated or
- // acknowledged resource, this field should be empty.
- // [#not-implemented-hide:]
- ErrorState *UpdateFailureState `protobuf:"bytes,4,opt,name=error_state,json=errorState,proto3" json:"error_state,omitempty"`
- // The client status of this resource.
- // [#not-implemented-hide:]
- ClientStatus ClientResourceStatus `protobuf:"varint,5,opt,name=client_status,json=clientStatus,proto3,enum=envoy.admin.v3.ClientResourceStatus" json:"client_status,omitempty"`
-}
-
-func (x *EndpointsConfigDump_DynamicEndpointConfig) Reset() {
- *x = EndpointsConfigDump_DynamicEndpointConfig{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[21]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *EndpointsConfigDump_DynamicEndpointConfig) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*EndpointsConfigDump_DynamicEndpointConfig) ProtoMessage() {}
-
-func (x *EndpointsConfigDump_DynamicEndpointConfig) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[21]
- 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 EndpointsConfigDump_DynamicEndpointConfig.ProtoReflect.Descriptor instead.
-func (*EndpointsConfigDump_DynamicEndpointConfig) Descriptor() ([]byte, []int) {
- return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{8, 1}
-}
-
-func (x *EndpointsConfigDump_DynamicEndpointConfig) GetVersionInfo() string {
- if x != nil {
- return x.VersionInfo
- }
- return ""
-}
-
-func (x *EndpointsConfigDump_DynamicEndpointConfig) GetEndpointConfig() *any.Any {
- if x != nil {
- return x.EndpointConfig
- }
- return nil
-}
-
-func (x *EndpointsConfigDump_DynamicEndpointConfig) GetLastUpdated() *timestamp.Timestamp {
- if x != nil {
- return x.LastUpdated
- }
- return nil
-}
-
-func (x *EndpointsConfigDump_DynamicEndpointConfig) GetErrorState() *UpdateFailureState {
- if x != nil {
- return x.ErrorState
- }
- return nil
-}
-
-func (x *EndpointsConfigDump_DynamicEndpointConfig) GetClientStatus() ClientResourceStatus {
- if x != nil {
- return x.ClientStatus
- }
- return ClientResourceStatus_UNKNOWN
-}
-
-var File_envoy_admin_v3_config_dump_proto protoreflect.FileDescriptor
-
-var file_envoy_admin_v3_config_dump_proto_rawDesc = []byte{
- 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33,
- 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x12, 0x0e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e,
- 0x76, 0x33, 0x1a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x6f,
- 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61,
- 0x6e, 0x79, 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, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f,
- 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74,
- 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61,
- 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69,
- 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x63, 0x0a, 0x0a, 0x43,
- 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x2e, 0x0a, 0x07, 0x63, 0x6f, 0x6e,
- 0x66, 0x69, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79,
- 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x3a, 0x25, 0x9a, 0xc5, 0x88, 0x1e, 0x20,
- 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32,
- 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70,
- 0x22, 0x95, 0x02, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75,
- 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x47, 0x0a, 0x14, 0x66, 0x61, 0x69, 0x6c, 0x65,
- 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x13, 0x66, 0x61, 0x69,
- 0x6c, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x12, 0x4a, 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f,
- 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x18, 0x02, 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, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x55,
- 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x18, 0x0a, 0x07,
- 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64,
- 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
- 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65,
- 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x3a, 0x2d, 0x9a, 0xc5, 0x88, 0x1e, 0x28,
- 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32,
- 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c,
- 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0xc8, 0x01, 0x0a, 0x13, 0x42, 0x6f, 0x6f,
- 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70,
- 0x12, 0x42, 0x0a, 0x09, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
- 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e,
- 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x74, 0x73,
- 0x74, 0x72, 0x61, 0x70, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64,
- 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 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, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61,
- 0x74, 0x65, 0x64, 0x3a, 0x2e, 0x9a, 0xc5, 0x88, 0x1e, 0x29, 0x0a, 0x27, 0x65, 0x6e, 0x76, 0x6f,
- 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e,
- 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44,
- 0x75, 0x6d, 0x70, 0x22, 0xf3, 0x09, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72,
- 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x76,
- 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5d,
- 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65,
- 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e,
- 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x53, 0x74,
- 0x61, 0x74, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x0f, 0x73, 0x74,
- 0x61, 0x74, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x60, 0x0a,
- 0x11, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65,
- 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e,
- 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79,
- 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x10, 0x64,
- 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x1a,
- 0xc0, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e,
- 0x65, 0x72, 0x12, 0x30, 0x0a, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x08, 0x6c, 0x69, 0x73, 0x74,
- 0x65, 0x6e, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64,
- 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 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, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61,
- 0x74, 0x65, 0x64, 0x3a, 0x3d, 0x9a, 0xc5, 0x88, 0x1e, 0x38, 0x0a, 0x36, 0x65, 0x6e, 0x76, 0x6f,
- 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e,
- 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44,
- 0x75, 0x6d, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e,
- 0x65, 0x72, 0x1a, 0xef, 0x01, 0x0a, 0x14, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4c, 0x69,
- 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76,
- 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x30,
- 0x0a, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
- 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72,
- 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 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, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
- 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x3a,
- 0x43, 0x9a, 0xc5, 0x88, 0x1e, 0x3e, 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64,
- 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74,
- 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e,
- 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x53,
- 0x74, 0x61, 0x74, 0x65, 0x1a, 0x92, 0x04, 0x0a, 0x0f, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63,
- 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5b, 0x0a, 0x0c,
- 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e,
- 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e,
- 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4c,
- 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x61, 0x63,
- 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x5d, 0x0a, 0x0d, 0x77, 0x61, 0x72,
- 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76,
- 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4c, 0x69, 0x73,
- 0x74, 0x65, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x77, 0x61, 0x72, 0x6d,
- 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x5f, 0x0a, 0x0e, 0x64, 0x72, 0x61, 0x69,
- 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76,
- 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4c, 0x69, 0x73,
- 0x74, 0x65, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x64, 0x72, 0x61, 0x69,
- 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x43, 0x0a, 0x0b, 0x65, 0x72, 0x72,
- 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22,
- 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e,
- 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61,
- 0x74, 0x65, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x49,
- 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
- 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64,
- 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x63, 0x6c, 0x69,
- 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x3e, 0x9a, 0xc5, 0x88, 0x1e, 0x39,
- 0x0a, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32,
- 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43,
- 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69,
- 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x3a, 0x2e, 0x9a, 0xc5, 0x88, 0x1e, 0x29,
- 0x0a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32,
- 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43,
- 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x22, 0xca, 0x07, 0x0a, 0x12, 0x43, 0x6c,
- 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70,
- 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49,
- 0x6e, 0x66, 0x6f, 0x12, 0x59, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x6c,
- 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65,
- 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c,
- 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70,
- 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0e,
- 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x69,
- 0x0a, 0x17, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65,
- 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
- 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33,
- 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44,
- 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x43, 0x6c, 0x75, 0x73, 0x74,
- 0x65, 0x72, 0x52, 0x15, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x41, 0x63, 0x74, 0x69, 0x76,
- 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x6b, 0x0a, 0x18, 0x64, 0x79, 0x6e,
- 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6c, 0x75,
- 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e,
- 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75,
- 0x73, 0x74, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e,
- 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x16,
- 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x57, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x43, 0x6c,
- 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x1a, 0xbb, 0x01, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69,
- 0x63, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73,
- 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
- 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52,
- 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74,
- 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 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, 0x0b, 0x6c, 0x61, 0x73, 0x74,
- 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x3b, 0x9a, 0xc5, 0x88, 0x1e, 0x36, 0x0a, 0x34,
- 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c,
- 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66,
- 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x43, 0x6c, 0x75,
- 0x73, 0x74, 0x65, 0x72, 0x1a, 0xf0, 0x02, 0x0a, 0x0e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63,
- 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69,
- 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76,
- 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x0a, 0x07, 0x63, 0x6c,
- 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f,
- 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e,
- 0x79, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61,
- 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 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, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61,
- 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x43, 0x0a, 0x0b, 0x65, 0x72, 0x72,
- 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22,
- 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e,
- 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61,
- 0x74, 0x65, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x49,
- 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
- 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64,
- 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x63, 0x6c, 0x69,
- 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x3c, 0x9a, 0xc5, 0x88, 0x1e, 0x37,
- 0x0a, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32,
- 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x43, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63,
- 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x3a, 0x2d, 0x9a, 0xc5, 0x88, 0x1e, 0x28, 0x0a, 0x26,
- 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c,
- 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66,
- 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x22, 0xdd, 0x06, 0x0a, 0x10, 0x52, 0x6f, 0x75, 0x74, 0x65,
- 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x64, 0x0a, 0x14, 0x73,
- 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
- 0x69, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
- 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65,
- 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74,
- 0x69, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x73,
- 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x73, 0x12, 0x67, 0x0a, 0x15, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x6f, 0x75,
- 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
- 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76,
- 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75,
- 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43,
- 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x13, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x6f,
- 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x1a, 0xca, 0x01, 0x0a, 0x11, 0x53,
- 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x12, 0x37, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x72, 0x6f,
- 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73,
- 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 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, 0x0b, 0x6c, 0x61, 0x73,
- 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x3d, 0x9a, 0xc5, 0x88, 0x1e, 0x38, 0x0a,
- 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61,
- 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x6f, 0x75, 0x74,
- 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xff, 0x02, 0x0a, 0x12, 0x44, 0x79, 0x6e, 0x61,
- 0x6d, 0x69, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21,
- 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66,
- 0x6f, 0x12, 0x37, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x72,
- 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61,
- 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 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, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61,
- 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x43, 0x0a, 0x0b, 0x65, 0x72, 0x72,
- 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22,
- 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e,
- 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61,
- 0x74, 0x65, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x49,
- 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
- 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64,
- 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x63, 0x6c, 0x69,
- 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x3e, 0x9a, 0xc5, 0x88, 0x1e, 0x39,
- 0x0a, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32,
- 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66,
- 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x6f,
- 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x2b, 0x9a, 0xc5, 0x88, 0x1e, 0x26,
- 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32,
- 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66,
- 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x22, 0x8c, 0x08, 0x0a, 0x16, 0x53, 0x63, 0x6f, 0x70, 0x65,
- 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d,
- 0x70, 0x12, 0x7e, 0x0a, 0x1b, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x70,
- 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73,
- 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61,
- 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f,
- 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x49,
- 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65,
- 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x18, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53,
- 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x73, 0x12, 0x81, 0x01, 0x0a, 0x1c, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x73, 0x63,
- 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64,
- 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70,
- 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f,
- 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x19, 0x64, 0x79, 0x6e, 0x61,
- 0x6d, 0x69, 0x63, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x73, 0x1a, 0x81, 0x02, 0x0a, 0x18, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65,
- 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x14, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64,
- 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x02,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x12, 0x73, 0x63, 0x6f, 0x70,
- 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x3d,
- 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 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, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
- 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x4a, 0x9a,
- 0xc5, 0x88, 0x1e, 0x45, 0x0a, 0x43, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69,
- 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64,
- 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70,
- 0x2e, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75,
- 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x1a, 0xb6, 0x03, 0x0a, 0x19, 0x44, 0x79,
- 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65,
- 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76,
- 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x46,
- 0x0a, 0x14, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63,
- 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41,
- 0x6e, 0x79, 0x52, 0x12, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43,
- 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75,
- 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 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, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70,
- 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x43, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73,
- 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76,
- 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x70, 0x64, 0x61,
- 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a,
- 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x0d, 0x63, 0x6c,
- 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28,
- 0x0e, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e,
- 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
- 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53,
- 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x4b, 0x9a, 0xc5, 0x88, 0x1e, 0x46, 0x0a, 0x44, 0x65, 0x6e,
- 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68,
- 0x61, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63,
- 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 0x73, 0x3a, 0x31, 0x9a, 0xc5, 0x88, 0x1e, 0x2c, 0x0a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53,
- 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 0x44, 0x75, 0x6d, 0x70, 0x22, 0xb7, 0x07, 0x0a, 0x11, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74,
- 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x55, 0x0a, 0x0e, 0x73,
- 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20,
- 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69,
- 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66,
- 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x53, 0x65, 0x63,
- 0x72, 0x65, 0x74, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x53, 0x65, 0x63, 0x72, 0x65,
- 0x74, 0x73, 0x12, 0x65, 0x0a, 0x16, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x61, 0x63,
- 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03,
- 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e,
- 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x65, 0x63,
- 0x72, 0x65, 0x74, 0x52, 0x14, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x41, 0x63, 0x74, 0x69,
- 0x76, 0x65, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x12, 0x67, 0x0a, 0x17, 0x64, 0x79, 0x6e,
- 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x63,
- 0x72, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76,
- 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x65, 0x63, 0x72,
- 0x65, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79,
- 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x15, 0x64, 0x79, 0x6e,
- 0x61, 0x6d, 0x69, 0x63, 0x57, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x72, 0x65,
- 0x74, 0x73, 0x1a, 0xff, 0x02, 0x0a, 0x0d, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x65,
- 0x63, 0x72, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73,
- 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
- 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3d, 0x0a, 0x0c, 0x6c,
- 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 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, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c,
- 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x65,
- 0x63, 0x72, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79,
- 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x43, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f,
- 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e,
- 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x55,
- 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74,
- 0x65, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a,
- 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06,
- 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d,
- 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65,
- 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x3a, 0x9a, 0xc5, 0x88, 0x1e, 0x35, 0x0a,
- 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61,
- 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66,
- 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x65,
- 0x63, 0x72, 0x65, 0x74, 0x1a, 0xca, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x53,
- 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73,
- 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 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, 0x0b, 0x6c, 0x61, 0x73,
- 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72,
- 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x06,
- 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x3a, 0x39, 0x9a, 0xc5, 0x88, 0x1e, 0x34, 0x0a, 0x32, 0x65,
- 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70,
- 0x68, 0x61, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x53, 0x65, 0x63, 0x72, 0x65,
- 0x74, 0x3a, 0x2c, 0x9a, 0xc5, 0x88, 0x1e, 0x27, 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
- 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65,
- 0x63, 0x72, 0x65, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x22,
- 0xde, 0x05, 0x0a, 0x13, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x6e,
- 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x70, 0x0a, 0x17, 0x73, 0x74, 0x61, 0x74, 0x69,
- 0x63, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69,
- 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x53, 0x74,
- 0x61, 0x74, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66,
- 0x69, 0x67, 0x52, 0x15, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69,
- 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x73, 0x0a, 0x18, 0x64, 0x79, 0x6e,
- 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e,
- 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x6e, 0x64,
- 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70,
- 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
- 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x16, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x45,
- 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x1a, 0x94,
- 0x01, 0x0a, 0x14, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
- 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x0f, 0x65, 0x6e, 0x64, 0x70, 0x6f,
- 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
- 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
- 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75,
- 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 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, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70,
- 0x64, 0x61, 0x74, 0x65, 0x64, 0x1a, 0xc8, 0x02, 0x0a, 0x15, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69,
- 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
- 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e,
- 0x66, 0x6f, 0x12, 0x3d, 0x0a, 0x0f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63,
- 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f,
- 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e,
- 0x79, 0x52, 0x0e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 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, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
- 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
- 0x12, 0x43, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18,
- 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64,
- 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69,
- 0x6c, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72,
- 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f,
- 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x65,
- 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c,
- 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74,
- 0x75, 0x73, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x2a, 0x5d, 0x0a, 0x14, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
- 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e,
- 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54,
- 0x45, 0x44, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x4f, 0x45, 0x53, 0x5f, 0x4e, 0x4f, 0x54,
- 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x43, 0x4b, 0x45,
- 0x44, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x41, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x04, 0x42,
- 0x78, 0x0a, 0x1c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79,
- 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x42,
- 0x0f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f,
- 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65,
- 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e,
- 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x76,
- 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x33,
-}
-
-var (
- file_envoy_admin_v3_config_dump_proto_rawDescOnce sync.Once
- file_envoy_admin_v3_config_dump_proto_rawDescData = file_envoy_admin_v3_config_dump_proto_rawDesc
-)
-
-func file_envoy_admin_v3_config_dump_proto_rawDescGZIP() []byte {
- file_envoy_admin_v3_config_dump_proto_rawDescOnce.Do(func() {
- file_envoy_admin_v3_config_dump_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_admin_v3_config_dump_proto_rawDescData)
- })
- return file_envoy_admin_v3_config_dump_proto_rawDescData
-}
-
-var file_envoy_admin_v3_config_dump_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
-var file_envoy_admin_v3_config_dump_proto_msgTypes = make([]protoimpl.MessageInfo, 22)
-var file_envoy_admin_v3_config_dump_proto_goTypes = []interface{}{
- (ClientResourceStatus)(0), // 0: envoy.admin.v3.ClientResourceStatus
- (*ConfigDump)(nil), // 1: envoy.admin.v3.ConfigDump
- (*UpdateFailureState)(nil), // 2: envoy.admin.v3.UpdateFailureState
- (*BootstrapConfigDump)(nil), // 3: envoy.admin.v3.BootstrapConfigDump
- (*ListenersConfigDump)(nil), // 4: envoy.admin.v3.ListenersConfigDump
- (*ClustersConfigDump)(nil), // 5: envoy.admin.v3.ClustersConfigDump
- (*RoutesConfigDump)(nil), // 6: envoy.admin.v3.RoutesConfigDump
- (*ScopedRoutesConfigDump)(nil), // 7: envoy.admin.v3.ScopedRoutesConfigDump
- (*SecretsConfigDump)(nil), // 8: envoy.admin.v3.SecretsConfigDump
- (*EndpointsConfigDump)(nil), // 9: envoy.admin.v3.EndpointsConfigDump
- (*ListenersConfigDump_StaticListener)(nil), // 10: envoy.admin.v3.ListenersConfigDump.StaticListener
- (*ListenersConfigDump_DynamicListenerState)(nil), // 11: envoy.admin.v3.ListenersConfigDump.DynamicListenerState
- (*ListenersConfigDump_DynamicListener)(nil), // 12: envoy.admin.v3.ListenersConfigDump.DynamicListener
- (*ClustersConfigDump_StaticCluster)(nil), // 13: envoy.admin.v3.ClustersConfigDump.StaticCluster
- (*ClustersConfigDump_DynamicCluster)(nil), // 14: envoy.admin.v3.ClustersConfigDump.DynamicCluster
- (*RoutesConfigDump_StaticRouteConfig)(nil), // 15: envoy.admin.v3.RoutesConfigDump.StaticRouteConfig
- (*RoutesConfigDump_DynamicRouteConfig)(nil), // 16: envoy.admin.v3.RoutesConfigDump.DynamicRouteConfig
- (*ScopedRoutesConfigDump_InlineScopedRouteConfigs)(nil), // 17: envoy.admin.v3.ScopedRoutesConfigDump.InlineScopedRouteConfigs
- (*ScopedRoutesConfigDump_DynamicScopedRouteConfigs)(nil), // 18: envoy.admin.v3.ScopedRoutesConfigDump.DynamicScopedRouteConfigs
- (*SecretsConfigDump_DynamicSecret)(nil), // 19: envoy.admin.v3.SecretsConfigDump.DynamicSecret
- (*SecretsConfigDump_StaticSecret)(nil), // 20: envoy.admin.v3.SecretsConfigDump.StaticSecret
- (*EndpointsConfigDump_StaticEndpointConfig)(nil), // 21: envoy.admin.v3.EndpointsConfigDump.StaticEndpointConfig
- (*EndpointsConfigDump_DynamicEndpointConfig)(nil), // 22: envoy.admin.v3.EndpointsConfigDump.DynamicEndpointConfig
- (*any.Any)(nil), // 23: google.protobuf.Any
- (*timestamp.Timestamp)(nil), // 24: google.protobuf.Timestamp
- (*v3.Bootstrap)(nil), // 25: envoy.config.bootstrap.v3.Bootstrap
-}
-var file_envoy_admin_v3_config_dump_proto_depIdxs = []int32{
- 23, // 0: envoy.admin.v3.ConfigDump.configs:type_name -> google.protobuf.Any
- 23, // 1: envoy.admin.v3.UpdateFailureState.failed_configuration:type_name -> google.protobuf.Any
- 24, // 2: envoy.admin.v3.UpdateFailureState.last_update_attempt:type_name -> google.protobuf.Timestamp
- 25, // 3: envoy.admin.v3.BootstrapConfigDump.bootstrap:type_name -> envoy.config.bootstrap.v3.Bootstrap
- 24, // 4: envoy.admin.v3.BootstrapConfigDump.last_updated:type_name -> google.protobuf.Timestamp
- 10, // 5: envoy.admin.v3.ListenersConfigDump.static_listeners:type_name -> envoy.admin.v3.ListenersConfigDump.StaticListener
- 12, // 6: envoy.admin.v3.ListenersConfigDump.dynamic_listeners:type_name -> envoy.admin.v3.ListenersConfigDump.DynamicListener
- 13, // 7: envoy.admin.v3.ClustersConfigDump.static_clusters:type_name -> envoy.admin.v3.ClustersConfigDump.StaticCluster
- 14, // 8: envoy.admin.v3.ClustersConfigDump.dynamic_active_clusters:type_name -> envoy.admin.v3.ClustersConfigDump.DynamicCluster
- 14, // 9: envoy.admin.v3.ClustersConfigDump.dynamic_warming_clusters:type_name -> envoy.admin.v3.ClustersConfigDump.DynamicCluster
- 15, // 10: envoy.admin.v3.RoutesConfigDump.static_route_configs:type_name -> envoy.admin.v3.RoutesConfigDump.StaticRouteConfig
- 16, // 11: envoy.admin.v3.RoutesConfigDump.dynamic_route_configs:type_name -> envoy.admin.v3.RoutesConfigDump.DynamicRouteConfig
- 17, // 12: envoy.admin.v3.ScopedRoutesConfigDump.inline_scoped_route_configs:type_name -> envoy.admin.v3.ScopedRoutesConfigDump.InlineScopedRouteConfigs
- 18, // 13: envoy.admin.v3.ScopedRoutesConfigDump.dynamic_scoped_route_configs:type_name -> envoy.admin.v3.ScopedRoutesConfigDump.DynamicScopedRouteConfigs
- 20, // 14: envoy.admin.v3.SecretsConfigDump.static_secrets:type_name -> envoy.admin.v3.SecretsConfigDump.StaticSecret
- 19, // 15: envoy.admin.v3.SecretsConfigDump.dynamic_active_secrets:type_name -> envoy.admin.v3.SecretsConfigDump.DynamicSecret
- 19, // 16: envoy.admin.v3.SecretsConfigDump.dynamic_warming_secrets:type_name -> envoy.admin.v3.SecretsConfigDump.DynamicSecret
- 21, // 17: envoy.admin.v3.EndpointsConfigDump.static_endpoint_configs:type_name -> envoy.admin.v3.EndpointsConfigDump.StaticEndpointConfig
- 22, // 18: envoy.admin.v3.EndpointsConfigDump.dynamic_endpoint_configs:type_name -> envoy.admin.v3.EndpointsConfigDump.DynamicEndpointConfig
- 23, // 19: envoy.admin.v3.ListenersConfigDump.StaticListener.listener:type_name -> google.protobuf.Any
- 24, // 20: envoy.admin.v3.ListenersConfigDump.StaticListener.last_updated:type_name -> google.protobuf.Timestamp
- 23, // 21: envoy.admin.v3.ListenersConfigDump.DynamicListenerState.listener:type_name -> google.protobuf.Any
- 24, // 22: envoy.admin.v3.ListenersConfigDump.DynamicListenerState.last_updated:type_name -> google.protobuf.Timestamp
- 11, // 23: envoy.admin.v3.ListenersConfigDump.DynamicListener.active_state:type_name -> envoy.admin.v3.ListenersConfigDump.DynamicListenerState
- 11, // 24: envoy.admin.v3.ListenersConfigDump.DynamicListener.warming_state:type_name -> envoy.admin.v3.ListenersConfigDump.DynamicListenerState
- 11, // 25: envoy.admin.v3.ListenersConfigDump.DynamicListener.draining_state:type_name -> envoy.admin.v3.ListenersConfigDump.DynamicListenerState
- 2, // 26: envoy.admin.v3.ListenersConfigDump.DynamicListener.error_state:type_name -> envoy.admin.v3.UpdateFailureState
- 0, // 27: envoy.admin.v3.ListenersConfigDump.DynamicListener.client_status:type_name -> envoy.admin.v3.ClientResourceStatus
- 23, // 28: envoy.admin.v3.ClustersConfigDump.StaticCluster.cluster:type_name -> google.protobuf.Any
- 24, // 29: envoy.admin.v3.ClustersConfigDump.StaticCluster.last_updated:type_name -> google.protobuf.Timestamp
- 23, // 30: envoy.admin.v3.ClustersConfigDump.DynamicCluster.cluster:type_name -> google.protobuf.Any
- 24, // 31: envoy.admin.v3.ClustersConfigDump.DynamicCluster.last_updated:type_name -> google.protobuf.Timestamp
- 2, // 32: envoy.admin.v3.ClustersConfigDump.DynamicCluster.error_state:type_name -> envoy.admin.v3.UpdateFailureState
- 0, // 33: envoy.admin.v3.ClustersConfigDump.DynamicCluster.client_status:type_name -> envoy.admin.v3.ClientResourceStatus
- 23, // 34: envoy.admin.v3.RoutesConfigDump.StaticRouteConfig.route_config:type_name -> google.protobuf.Any
- 24, // 35: envoy.admin.v3.RoutesConfigDump.StaticRouteConfig.last_updated:type_name -> google.protobuf.Timestamp
- 23, // 36: envoy.admin.v3.RoutesConfigDump.DynamicRouteConfig.route_config:type_name -> google.protobuf.Any
- 24, // 37: envoy.admin.v3.RoutesConfigDump.DynamicRouteConfig.last_updated:type_name -> google.protobuf.Timestamp
- 2, // 38: envoy.admin.v3.RoutesConfigDump.DynamicRouteConfig.error_state:type_name -> envoy.admin.v3.UpdateFailureState
- 0, // 39: envoy.admin.v3.RoutesConfigDump.DynamicRouteConfig.client_status:type_name -> envoy.admin.v3.ClientResourceStatus
- 23, // 40: envoy.admin.v3.ScopedRoutesConfigDump.InlineScopedRouteConfigs.scoped_route_configs:type_name -> google.protobuf.Any
- 24, // 41: envoy.admin.v3.ScopedRoutesConfigDump.InlineScopedRouteConfigs.last_updated:type_name -> google.protobuf.Timestamp
- 23, // 42: envoy.admin.v3.ScopedRoutesConfigDump.DynamicScopedRouteConfigs.scoped_route_configs:type_name -> google.protobuf.Any
- 24, // 43: envoy.admin.v3.ScopedRoutesConfigDump.DynamicScopedRouteConfigs.last_updated:type_name -> google.protobuf.Timestamp
- 2, // 44: envoy.admin.v3.ScopedRoutesConfigDump.DynamicScopedRouteConfigs.error_state:type_name -> envoy.admin.v3.UpdateFailureState
- 0, // 45: envoy.admin.v3.ScopedRoutesConfigDump.DynamicScopedRouteConfigs.client_status:type_name -> envoy.admin.v3.ClientResourceStatus
- 24, // 46: envoy.admin.v3.SecretsConfigDump.DynamicSecret.last_updated:type_name -> google.protobuf.Timestamp
- 23, // 47: envoy.admin.v3.SecretsConfigDump.DynamicSecret.secret:type_name -> google.protobuf.Any
- 2, // 48: envoy.admin.v3.SecretsConfigDump.DynamicSecret.error_state:type_name -> envoy.admin.v3.UpdateFailureState
- 0, // 49: envoy.admin.v3.SecretsConfigDump.DynamicSecret.client_status:type_name -> envoy.admin.v3.ClientResourceStatus
- 24, // 50: envoy.admin.v3.SecretsConfigDump.StaticSecret.last_updated:type_name -> google.protobuf.Timestamp
- 23, // 51: envoy.admin.v3.SecretsConfigDump.StaticSecret.secret:type_name -> google.protobuf.Any
- 23, // 52: envoy.admin.v3.EndpointsConfigDump.StaticEndpointConfig.endpoint_config:type_name -> google.protobuf.Any
- 24, // 53: envoy.admin.v3.EndpointsConfigDump.StaticEndpointConfig.last_updated:type_name -> google.protobuf.Timestamp
- 23, // 54: envoy.admin.v3.EndpointsConfigDump.DynamicEndpointConfig.endpoint_config:type_name -> google.protobuf.Any
- 24, // 55: envoy.admin.v3.EndpointsConfigDump.DynamicEndpointConfig.last_updated:type_name -> google.protobuf.Timestamp
- 2, // 56: envoy.admin.v3.EndpointsConfigDump.DynamicEndpointConfig.error_state:type_name -> envoy.admin.v3.UpdateFailureState
- 0, // 57: envoy.admin.v3.EndpointsConfigDump.DynamicEndpointConfig.client_status:type_name -> envoy.admin.v3.ClientResourceStatus
- 58, // [58:58] is the sub-list for method output_type
- 58, // [58:58] is the sub-list for method input_type
- 58, // [58:58] is the sub-list for extension type_name
- 58, // [58:58] is the sub-list for extension extendee
- 0, // [0:58] is the sub-list for field type_name
-}
-
-func init() { file_envoy_admin_v3_config_dump_proto_init() }
-func file_envoy_admin_v3_config_dump_proto_init() {
- if File_envoy_admin_v3_config_dump_proto != nil {
- return
+func init() { file_envoy_admin_v3_config_dump_proto_init() }
+func file_envoy_admin_v3_config_dump_proto_init() {
+ if File_envoy_admin_v3_config_dump_proto != nil {
+ return
}
+ file_envoy_admin_v3_config_dump_shared_proto_init()
if !protoimpl.UnsafeEnabled {
file_envoy_admin_v3_config_dump_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ConfigDump); i {
@@ -2289,18 +572,6 @@ func file_envoy_admin_v3_config_dump_proto_init() {
}
}
file_envoy_admin_v3_config_dump_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*UpdateFailureState); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_admin_v3_config_dump_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BootstrapConfigDump); i {
case 0:
return &v.state
@@ -2312,55 +583,7 @@ func file_envoy_admin_v3_config_dump_proto_init() {
return nil
}
}
- file_envoy_admin_v3_config_dump_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListenersConfigDump); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_admin_v3_config_dump_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ClustersConfigDump); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_admin_v3_config_dump_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RoutesConfigDump); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_admin_v3_config_dump_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ScopedRoutesConfigDump); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_admin_v3_config_dump_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+ file_envoy_admin_v3_config_dump_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SecretsConfigDump); i {
case 0:
return &v.state
@@ -2372,127 +595,7 @@ func file_envoy_admin_v3_config_dump_proto_init() {
return nil
}
}
- file_envoy_admin_v3_config_dump_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*EndpointsConfigDump); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_admin_v3_config_dump_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListenersConfigDump_StaticListener); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_admin_v3_config_dump_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListenersConfigDump_DynamicListenerState); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_admin_v3_config_dump_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListenersConfigDump_DynamicListener); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_admin_v3_config_dump_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ClustersConfigDump_StaticCluster); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_admin_v3_config_dump_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ClustersConfigDump_DynamicCluster); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_admin_v3_config_dump_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RoutesConfigDump_StaticRouteConfig); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_admin_v3_config_dump_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RoutesConfigDump_DynamicRouteConfig); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_admin_v3_config_dump_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ScopedRoutesConfigDump_InlineScopedRouteConfigs); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_admin_v3_config_dump_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ScopedRoutesConfigDump_DynamicScopedRouteConfigs); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_admin_v3_config_dump_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
+ file_envoy_admin_v3_config_dump_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SecretsConfigDump_DynamicSecret); i {
case 0:
return &v.state
@@ -2504,7 +607,7 @@ func file_envoy_admin_v3_config_dump_proto_init() {
return nil
}
}
- file_envoy_admin_v3_config_dump_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
+ file_envoy_admin_v3_config_dump_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SecretsConfigDump_StaticSecret); i {
case 0:
return &v.state
@@ -2516,44 +619,19 @@ func file_envoy_admin_v3_config_dump_proto_init() {
return nil
}
}
- file_envoy_admin_v3_config_dump_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*EndpointsConfigDump_StaticEndpointConfig); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_admin_v3_config_dump_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*EndpointsConfigDump_DynamicEndpointConfig); 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_envoy_admin_v3_config_dump_proto_rawDesc,
- NumEnums: 1,
- NumMessages: 22,
+ NumEnums: 0,
+ NumMessages: 5,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_envoy_admin_v3_config_dump_proto_goTypes,
DependencyIndexes: file_envoy_admin_v3_config_dump_proto_depIdxs,
- EnumInfos: file_envoy_admin_v3_config_dump_proto_enumTypes,
MessageInfos: file_envoy_admin_v3_config_dump_proto_msgTypes,
}.Build()
File_envoy_admin_v3_config_dump_proto = out.File
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/config_dump.pb.validate.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/config_dump.pb.validate.go
index 9e34b25a93..57d1a77f06 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/config_dump.pb.validate.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/config_dump.pb.validate.go
@@ -168,170 +168,6 @@ var _ interface {
ErrorName() string
} = ConfigDumpValidationError{}
-// Validate checks the field values on UpdateFailureState with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *UpdateFailureState) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on UpdateFailureState with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// UpdateFailureStateMultiError, or nil if none found.
-func (m *UpdateFailureState) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *UpdateFailureState) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if all {
- switch v := interface{}(m.GetFailedConfiguration()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, UpdateFailureStateValidationError{
- field: "FailedConfiguration",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, UpdateFailureStateValidationError{
- field: "FailedConfiguration",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetFailedConfiguration()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return UpdateFailureStateValidationError{
- field: "FailedConfiguration",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetLastUpdateAttempt()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, UpdateFailureStateValidationError{
- field: "LastUpdateAttempt",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, UpdateFailureStateValidationError{
- field: "LastUpdateAttempt",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetLastUpdateAttempt()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return UpdateFailureStateValidationError{
- field: "LastUpdateAttempt",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- // no validation rules for Details
-
- // no validation rules for VersionInfo
-
- if len(errors) > 0 {
- return UpdateFailureStateMultiError(errors)
- }
-
- return nil
-}
-
-// UpdateFailureStateMultiError is an error wrapping multiple validation errors
-// returned by UpdateFailureState.ValidateAll() if the designated constraints
-// aren't met.
-type UpdateFailureStateMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m UpdateFailureStateMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m UpdateFailureStateMultiError) AllErrors() []error { return m }
-
-// UpdateFailureStateValidationError is the validation error returned by
-// UpdateFailureState.Validate if the designated constraints aren't met.
-type UpdateFailureStateValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e UpdateFailureStateValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e UpdateFailureStateValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e UpdateFailureStateValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e UpdateFailureStateValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e UpdateFailureStateValidationError) ErrorName() string {
- return "UpdateFailureStateValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e UpdateFailureStateValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sUpdateFailureState.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = UpdateFailureStateValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = UpdateFailureStateValidationError{}
-
// Validate checks the field values on BootstrapConfigDump with the rules
// defined in the proto definition for this message. If any rules are
// violated, the first error encountered is returned, or nil if there are no violations.
@@ -492,47 +328,79 @@ var _ interface {
ErrorName() string
} = BootstrapConfigDumpValidationError{}
-// Validate checks the field values on ListenersConfigDump with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *ListenersConfigDump) Validate() error {
+// Validate checks the field values on SecretsConfigDump with the rules defined
+// in the proto definition for this message. If any rules are violated, the
+// first error encountered is returned, or nil if there are no violations.
+func (m *SecretsConfigDump) Validate() error {
return m.validate(false)
}
-// ValidateAll checks the field values on ListenersConfigDump with the rules
+// ValidateAll checks the field values on SecretsConfigDump with the rules
// defined in the proto definition for this message. If any rules are
// violated, the result is a list of violation errors wrapped in
-// ListenersConfigDumpMultiError, or nil if none found.
-func (m *ListenersConfigDump) ValidateAll() error {
+// SecretsConfigDumpMultiError, or nil if none found.
+func (m *SecretsConfigDump) ValidateAll() error {
return m.validate(true)
}
-func (m *ListenersConfigDump) validate(all bool) error {
+func (m *SecretsConfigDump) validate(all bool) error {
if m == nil {
return nil
}
var errors []error
- // no validation rules for VersionInfo
+ for idx, item := range m.GetStaticSecrets() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, SecretsConfigDumpValidationError{
+ field: fmt.Sprintf("StaticSecrets[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, SecretsConfigDumpValidationError{
+ field: fmt.Sprintf("StaticSecrets[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return SecretsConfigDumpValidationError{
+ field: fmt.Sprintf("StaticSecrets[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
- for idx, item := range m.GetStaticListeners() {
+ }
+
+ for idx, item := range m.GetDynamicActiveSecrets() {
_, _ = idx, item
if all {
switch v := interface{}(item).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
- errors = append(errors, ListenersConfigDumpValidationError{
- field: fmt.Sprintf("StaticListeners[%v]", idx),
+ errors = append(errors, SecretsConfigDumpValidationError{
+ field: fmt.Sprintf("DynamicActiveSecrets[%v]", idx),
reason: "embedded message failed validation",
cause: err,
})
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
- errors = append(errors, ListenersConfigDumpValidationError{
- field: fmt.Sprintf("StaticListeners[%v]", idx),
+ errors = append(errors, SecretsConfigDumpValidationError{
+ field: fmt.Sprintf("DynamicActiveSecrets[%v]", idx),
reason: "embedded message failed validation",
cause: err,
})
@@ -540,8 +408,8 @@ func (m *ListenersConfigDump) validate(all bool) error {
}
} else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
- return ListenersConfigDumpValidationError{
- field: fmt.Sprintf("StaticListeners[%v]", idx),
+ return SecretsConfigDumpValidationError{
+ field: fmt.Sprintf("DynamicActiveSecrets[%v]", idx),
reason: "embedded message failed validation",
cause: err,
}
@@ -550,23 +418,23 @@ func (m *ListenersConfigDump) validate(all bool) error {
}
- for idx, item := range m.GetDynamicListeners() {
+ for idx, item := range m.GetDynamicWarmingSecrets() {
_, _ = idx, item
if all {
switch v := interface{}(item).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
- errors = append(errors, ListenersConfigDumpValidationError{
- field: fmt.Sprintf("DynamicListeners[%v]", idx),
+ errors = append(errors, SecretsConfigDumpValidationError{
+ field: fmt.Sprintf("DynamicWarmingSecrets[%v]", idx),
reason: "embedded message failed validation",
cause: err,
})
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
- errors = append(errors, ListenersConfigDumpValidationError{
- field: fmt.Sprintf("DynamicListeners[%v]", idx),
+ errors = append(errors, SecretsConfigDumpValidationError{
+ field: fmt.Sprintf("DynamicWarmingSecrets[%v]", idx),
reason: "embedded message failed validation",
cause: err,
})
@@ -574,8 +442,8 @@ func (m *ListenersConfigDump) validate(all bool) error {
}
} else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
- return ListenersConfigDumpValidationError{
- field: fmt.Sprintf("DynamicListeners[%v]", idx),
+ return SecretsConfigDumpValidationError{
+ field: fmt.Sprintf("DynamicWarmingSecrets[%v]", idx),
reason: "embedded message failed validation",
cause: err,
}
@@ -585,19 +453,19 @@ func (m *ListenersConfigDump) validate(all bool) error {
}
if len(errors) > 0 {
- return ListenersConfigDumpMultiError(errors)
+ return SecretsConfigDumpMultiError(errors)
}
return nil
}
-// ListenersConfigDumpMultiError is an error wrapping multiple validation
-// errors returned by ListenersConfigDump.ValidateAll() if the designated
-// constraints aren't met.
-type ListenersConfigDumpMultiError []error
+// SecretsConfigDumpMultiError is an error wrapping multiple validation errors
+// returned by SecretsConfigDump.ValidateAll() if the designated constraints
+// aren't met.
+type SecretsConfigDumpMultiError []error
// Error returns a concatenation of all the error messages it wraps.
-func (m ListenersConfigDumpMultiError) Error() string {
+func (m SecretsConfigDumpMultiError) Error() string {
var msgs []string
for _, err := range m {
msgs = append(msgs, err.Error())
@@ -606,11 +474,11 @@ func (m ListenersConfigDumpMultiError) Error() string {
}
// AllErrors returns a list of validation violation errors.
-func (m ListenersConfigDumpMultiError) AllErrors() []error { return m }
+func (m SecretsConfigDumpMultiError) AllErrors() []error { return m }
-// ListenersConfigDumpValidationError is the validation error returned by
-// ListenersConfigDump.Validate if the designated constraints aren't met.
-type ListenersConfigDumpValidationError struct {
+// SecretsConfigDumpValidationError is the validation error returned by
+// SecretsConfigDump.Validate if the designated constraints aren't met.
+type SecretsConfigDumpValidationError struct {
field string
reason string
cause error
@@ -618,24 +486,24 @@ type ListenersConfigDumpValidationError struct {
}
// Field function returns field value.
-func (e ListenersConfigDumpValidationError) Field() string { return e.field }
+func (e SecretsConfigDumpValidationError) Field() string { return e.field }
// Reason function returns reason value.
-func (e ListenersConfigDumpValidationError) Reason() string { return e.reason }
+func (e SecretsConfigDumpValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
-func (e ListenersConfigDumpValidationError) Cause() error { return e.cause }
+func (e SecretsConfigDumpValidationError) Cause() error { return e.cause }
// Key function returns key value.
-func (e ListenersConfigDumpValidationError) Key() bool { return e.key }
+func (e SecretsConfigDumpValidationError) Key() bool { return e.key }
// ErrorName returns error name.
-func (e ListenersConfigDumpValidationError) ErrorName() string {
- return "ListenersConfigDumpValidationError"
+func (e SecretsConfigDumpValidationError) ErrorName() string {
+ return "SecretsConfigDumpValidationError"
}
// Error satisfies the builtin error interface
-func (e ListenersConfigDumpValidationError) Error() string {
+func (e SecretsConfigDumpValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
@@ -647,14 +515,14 @@ func (e ListenersConfigDumpValidationError) Error() string {
}
return fmt.Sprintf(
- "invalid %sListenersConfigDump.%s: %s%s",
+ "invalid %sSecretsConfigDump.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
-var _ error = ListenersConfigDumpValidationError{}
+var _ error = SecretsConfigDumpValidationError{}
var _ interface {
Field() string
@@ -662,2830 +530,59 @@ var _ interface {
Key() bool
Cause() error
ErrorName() string
-} = ListenersConfigDumpValidationError{}
+} = SecretsConfigDumpValidationError{}
-// Validate checks the field values on ClustersConfigDump with the rules
-// defined in the proto definition for this message. If any rules are
+// Validate checks the field values on SecretsConfigDump_DynamicSecret with the
+// rules defined in the proto definition for this message. If any rules are
// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *ClustersConfigDump) Validate() error {
+func (m *SecretsConfigDump_DynamicSecret) Validate() error {
return m.validate(false)
}
-// ValidateAll checks the field values on ClustersConfigDump with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// ClustersConfigDumpMultiError, or nil if none found.
-func (m *ClustersConfigDump) ValidateAll() error {
+// ValidateAll checks the field values on SecretsConfigDump_DynamicSecret with
+// the rules defined in the proto definition for this message. If any rules
+// are violated, the result is a list of violation errors wrapped in
+// SecretsConfigDump_DynamicSecretMultiError, or nil if none found.
+func (m *SecretsConfigDump_DynamicSecret) ValidateAll() error {
return m.validate(true)
}
-func (m *ClustersConfigDump) validate(all bool) error {
+func (m *SecretsConfigDump_DynamicSecret) validate(all bool) error {
if m == nil {
return nil
}
var errors []error
- // no validation rules for VersionInfo
+ // no validation rules for Name
- for idx, item := range m.GetStaticClusters() {
- _, _ = idx, item
+ // no validation rules for VersionInfo
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ClustersConfigDumpValidationError{
- field: fmt.Sprintf("StaticClusters[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ClustersConfigDumpValidationError{
- field: fmt.Sprintf("StaticClusters[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
+ if all {
+ switch v := interface{}(m.GetLastUpdated()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, SecretsConfigDump_DynamicSecretValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
}
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ case interface{ Validate() error }:
if err := v.Validate(); err != nil {
- return ClustersConfigDumpValidationError{
- field: fmt.Sprintf("StaticClusters[%v]", idx),
+ errors = append(errors, SecretsConfigDump_DynamicSecretValidationError{
+ field: "LastUpdated",
reason: "embedded message failed validation",
cause: err,
- }
- }
- }
-
- }
-
- for idx, item := range m.GetDynamicActiveClusters() {
- _, _ = idx, item
-
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ClustersConfigDumpValidationError{
- field: fmt.Sprintf("DynamicActiveClusters[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ClustersConfigDumpValidationError{
- field: fmt.Sprintf("DynamicActiveClusters[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ClustersConfigDumpValidationError{
- field: fmt.Sprintf("DynamicActiveClusters[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
-
- for idx, item := range m.GetDynamicWarmingClusters() {
- _, _ = idx, item
-
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ClustersConfigDumpValidationError{
- field: fmt.Sprintf("DynamicWarmingClusters[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ClustersConfigDumpValidationError{
- field: fmt.Sprintf("DynamicWarmingClusters[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ClustersConfigDumpValidationError{
- field: fmt.Sprintf("DynamicWarmingClusters[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
-
- if len(errors) > 0 {
- return ClustersConfigDumpMultiError(errors)
- }
-
- return nil
-}
-
-// ClustersConfigDumpMultiError is an error wrapping multiple validation errors
-// returned by ClustersConfigDump.ValidateAll() if the designated constraints
-// aren't met.
-type ClustersConfigDumpMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m ClustersConfigDumpMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m ClustersConfigDumpMultiError) AllErrors() []error { return m }
-
-// ClustersConfigDumpValidationError is the validation error returned by
-// ClustersConfigDump.Validate if the designated constraints aren't met.
-type ClustersConfigDumpValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e ClustersConfigDumpValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e ClustersConfigDumpValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e ClustersConfigDumpValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e ClustersConfigDumpValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e ClustersConfigDumpValidationError) ErrorName() string {
- return "ClustersConfigDumpValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e ClustersConfigDumpValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sClustersConfigDump.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = ClustersConfigDumpValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = ClustersConfigDumpValidationError{}
-
-// Validate checks the field values on RoutesConfigDump with the rules defined
-// in the proto definition for this message. If any rules are violated, the
-// first error encountered is returned, or nil if there are no violations.
-func (m *RoutesConfigDump) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on RoutesConfigDump with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// RoutesConfigDumpMultiError, or nil if none found.
-func (m *RoutesConfigDump) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *RoutesConfigDump) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- for idx, item := range m.GetStaticRouteConfigs() {
- _, _ = idx, item
-
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, RoutesConfigDumpValidationError{
- field: fmt.Sprintf("StaticRouteConfigs[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, RoutesConfigDumpValidationError{
- field: fmt.Sprintf("StaticRouteConfigs[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return RoutesConfigDumpValidationError{
- field: fmt.Sprintf("StaticRouteConfigs[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
-
- for idx, item := range m.GetDynamicRouteConfigs() {
- _, _ = idx, item
-
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, RoutesConfigDumpValidationError{
- field: fmt.Sprintf("DynamicRouteConfigs[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, RoutesConfigDumpValidationError{
- field: fmt.Sprintf("DynamicRouteConfigs[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return RoutesConfigDumpValidationError{
- field: fmt.Sprintf("DynamicRouteConfigs[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
-
- if len(errors) > 0 {
- return RoutesConfigDumpMultiError(errors)
- }
-
- return nil
-}
-
-// RoutesConfigDumpMultiError is an error wrapping multiple validation errors
-// returned by RoutesConfigDump.ValidateAll() if the designated constraints
-// aren't met.
-type RoutesConfigDumpMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m RoutesConfigDumpMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m RoutesConfigDumpMultiError) AllErrors() []error { return m }
-
-// RoutesConfigDumpValidationError is the validation error returned by
-// RoutesConfigDump.Validate if the designated constraints aren't met.
-type RoutesConfigDumpValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e RoutesConfigDumpValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e RoutesConfigDumpValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e RoutesConfigDumpValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e RoutesConfigDumpValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e RoutesConfigDumpValidationError) ErrorName() string { return "RoutesConfigDumpValidationError" }
-
-// Error satisfies the builtin error interface
-func (e RoutesConfigDumpValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sRoutesConfigDump.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = RoutesConfigDumpValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = RoutesConfigDumpValidationError{}
-
-// Validate checks the field values on ScopedRoutesConfigDump with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *ScopedRoutesConfigDump) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on ScopedRoutesConfigDump with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// ScopedRoutesConfigDumpMultiError, or nil if none found.
-func (m *ScopedRoutesConfigDump) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *ScopedRoutesConfigDump) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- for idx, item := range m.GetInlineScopedRouteConfigs() {
- _, _ = idx, item
-
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ScopedRoutesConfigDumpValidationError{
- field: fmt.Sprintf("InlineScopedRouteConfigs[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ScopedRoutesConfigDumpValidationError{
- field: fmt.Sprintf("InlineScopedRouteConfigs[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ScopedRoutesConfigDumpValidationError{
- field: fmt.Sprintf("InlineScopedRouteConfigs[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
-
- for idx, item := range m.GetDynamicScopedRouteConfigs() {
- _, _ = idx, item
-
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ScopedRoutesConfigDumpValidationError{
- field: fmt.Sprintf("DynamicScopedRouteConfigs[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ScopedRoutesConfigDumpValidationError{
- field: fmt.Sprintf("DynamicScopedRouteConfigs[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ScopedRoutesConfigDumpValidationError{
- field: fmt.Sprintf("DynamicScopedRouteConfigs[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
-
- if len(errors) > 0 {
- return ScopedRoutesConfigDumpMultiError(errors)
- }
-
- return nil
-}
-
-// ScopedRoutesConfigDumpMultiError is an error wrapping multiple validation
-// errors returned by ScopedRoutesConfigDump.ValidateAll() if the designated
-// constraints aren't met.
-type ScopedRoutesConfigDumpMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m ScopedRoutesConfigDumpMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m ScopedRoutesConfigDumpMultiError) AllErrors() []error { return m }
-
-// ScopedRoutesConfigDumpValidationError is the validation error returned by
-// ScopedRoutesConfigDump.Validate if the designated constraints aren't met.
-type ScopedRoutesConfigDumpValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e ScopedRoutesConfigDumpValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e ScopedRoutesConfigDumpValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e ScopedRoutesConfigDumpValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e ScopedRoutesConfigDumpValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e ScopedRoutesConfigDumpValidationError) ErrorName() string {
- return "ScopedRoutesConfigDumpValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e ScopedRoutesConfigDumpValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sScopedRoutesConfigDump.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = ScopedRoutesConfigDumpValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = ScopedRoutesConfigDumpValidationError{}
-
-// Validate checks the field values on SecretsConfigDump with the rules defined
-// in the proto definition for this message. If any rules are violated, the
-// first error encountered is returned, or nil if there are no violations.
-func (m *SecretsConfigDump) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on SecretsConfigDump with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// SecretsConfigDumpMultiError, or nil if none found.
-func (m *SecretsConfigDump) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *SecretsConfigDump) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- for idx, item := range m.GetStaticSecrets() {
- _, _ = idx, item
-
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, SecretsConfigDumpValidationError{
- field: fmt.Sprintf("StaticSecrets[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, SecretsConfigDumpValidationError{
- field: fmt.Sprintf("StaticSecrets[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return SecretsConfigDumpValidationError{
- field: fmt.Sprintf("StaticSecrets[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
-
- for idx, item := range m.GetDynamicActiveSecrets() {
- _, _ = idx, item
-
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, SecretsConfigDumpValidationError{
- field: fmt.Sprintf("DynamicActiveSecrets[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, SecretsConfigDumpValidationError{
- field: fmt.Sprintf("DynamicActiveSecrets[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return SecretsConfigDumpValidationError{
- field: fmt.Sprintf("DynamicActiveSecrets[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
-
- for idx, item := range m.GetDynamicWarmingSecrets() {
- _, _ = idx, item
-
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, SecretsConfigDumpValidationError{
- field: fmt.Sprintf("DynamicWarmingSecrets[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, SecretsConfigDumpValidationError{
- field: fmt.Sprintf("DynamicWarmingSecrets[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return SecretsConfigDumpValidationError{
- field: fmt.Sprintf("DynamicWarmingSecrets[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
-
- if len(errors) > 0 {
- return SecretsConfigDumpMultiError(errors)
- }
-
- return nil
-}
-
-// SecretsConfigDumpMultiError is an error wrapping multiple validation errors
-// returned by SecretsConfigDump.ValidateAll() if the designated constraints
-// aren't met.
-type SecretsConfigDumpMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m SecretsConfigDumpMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m SecretsConfigDumpMultiError) AllErrors() []error { return m }
-
-// SecretsConfigDumpValidationError is the validation error returned by
-// SecretsConfigDump.Validate if the designated constraints aren't met.
-type SecretsConfigDumpValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e SecretsConfigDumpValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e SecretsConfigDumpValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e SecretsConfigDumpValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e SecretsConfigDumpValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e SecretsConfigDumpValidationError) ErrorName() string {
- return "SecretsConfigDumpValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e SecretsConfigDumpValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sSecretsConfigDump.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = SecretsConfigDumpValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = SecretsConfigDumpValidationError{}
-
-// Validate checks the field values on EndpointsConfigDump with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *EndpointsConfigDump) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on EndpointsConfigDump with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// EndpointsConfigDumpMultiError, or nil if none found.
-func (m *EndpointsConfigDump) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *EndpointsConfigDump) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- for idx, item := range m.GetStaticEndpointConfigs() {
- _, _ = idx, item
-
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, EndpointsConfigDumpValidationError{
- field: fmt.Sprintf("StaticEndpointConfigs[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, EndpointsConfigDumpValidationError{
- field: fmt.Sprintf("StaticEndpointConfigs[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return EndpointsConfigDumpValidationError{
- field: fmt.Sprintf("StaticEndpointConfigs[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
-
- for idx, item := range m.GetDynamicEndpointConfigs() {
- _, _ = idx, item
-
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, EndpointsConfigDumpValidationError{
- field: fmt.Sprintf("DynamicEndpointConfigs[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, EndpointsConfigDumpValidationError{
- field: fmt.Sprintf("DynamicEndpointConfigs[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return EndpointsConfigDumpValidationError{
- field: fmt.Sprintf("DynamicEndpointConfigs[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
-
- if len(errors) > 0 {
- return EndpointsConfigDumpMultiError(errors)
- }
-
- return nil
-}
-
-// EndpointsConfigDumpMultiError is an error wrapping multiple validation
-// errors returned by EndpointsConfigDump.ValidateAll() if the designated
-// constraints aren't met.
-type EndpointsConfigDumpMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m EndpointsConfigDumpMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m EndpointsConfigDumpMultiError) AllErrors() []error { return m }
-
-// EndpointsConfigDumpValidationError is the validation error returned by
-// EndpointsConfigDump.Validate if the designated constraints aren't met.
-type EndpointsConfigDumpValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e EndpointsConfigDumpValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e EndpointsConfigDumpValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e EndpointsConfigDumpValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e EndpointsConfigDumpValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e EndpointsConfigDumpValidationError) ErrorName() string {
- return "EndpointsConfigDumpValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e EndpointsConfigDumpValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sEndpointsConfigDump.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = EndpointsConfigDumpValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = EndpointsConfigDumpValidationError{}
-
-// Validate checks the field values on ListenersConfigDump_StaticListener with
-// the rules defined in the proto definition for this message. If any rules
-// are violated, the first error encountered is returned, or nil if there are
-// no violations.
-func (m *ListenersConfigDump_StaticListener) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on ListenersConfigDump_StaticListener
-// with the rules defined in the proto definition for this message. If any
-// rules are violated, the result is a list of violation errors wrapped in
-// ListenersConfigDump_StaticListenerMultiError, or nil if none found.
-func (m *ListenersConfigDump_StaticListener) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *ListenersConfigDump_StaticListener) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if all {
- switch v := interface{}(m.GetListener()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ListenersConfigDump_StaticListenerValidationError{
- field: "Listener",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ListenersConfigDump_StaticListenerValidationError{
- field: "Listener",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetListener()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ListenersConfigDump_StaticListenerValidationError{
- field: "Listener",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetLastUpdated()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ListenersConfigDump_StaticListenerValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ListenersConfigDump_StaticListenerValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ListenersConfigDump_StaticListenerValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if len(errors) > 0 {
- return ListenersConfigDump_StaticListenerMultiError(errors)
- }
-
- return nil
-}
-
-// ListenersConfigDump_StaticListenerMultiError is an error wrapping multiple
-// validation errors returned by
-// ListenersConfigDump_StaticListener.ValidateAll() if the designated
-// constraints aren't met.
-type ListenersConfigDump_StaticListenerMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m ListenersConfigDump_StaticListenerMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m ListenersConfigDump_StaticListenerMultiError) AllErrors() []error { return m }
-
-// ListenersConfigDump_StaticListenerValidationError is the validation error
-// returned by ListenersConfigDump_StaticListener.Validate if the designated
-// constraints aren't met.
-type ListenersConfigDump_StaticListenerValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e ListenersConfigDump_StaticListenerValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e ListenersConfigDump_StaticListenerValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e ListenersConfigDump_StaticListenerValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e ListenersConfigDump_StaticListenerValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e ListenersConfigDump_StaticListenerValidationError) ErrorName() string {
- return "ListenersConfigDump_StaticListenerValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e ListenersConfigDump_StaticListenerValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sListenersConfigDump_StaticListener.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = ListenersConfigDump_StaticListenerValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = ListenersConfigDump_StaticListenerValidationError{}
-
-// Validate checks the field values on ListenersConfigDump_DynamicListenerState
-// with the rules defined in the proto definition for this message. If any
-// rules are violated, the first error encountered is returned, or nil if
-// there are no violations.
-func (m *ListenersConfigDump_DynamicListenerState) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on
-// ListenersConfigDump_DynamicListenerState with the rules defined in the
-// proto definition for this message. If any rules are violated, the result is
-// a list of violation errors wrapped in
-// ListenersConfigDump_DynamicListenerStateMultiError, or nil if none found.
-func (m *ListenersConfigDump_DynamicListenerState) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *ListenersConfigDump_DynamicListenerState) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- // no validation rules for VersionInfo
-
- if all {
- switch v := interface{}(m.GetListener()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ListenersConfigDump_DynamicListenerStateValidationError{
- field: "Listener",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ListenersConfigDump_DynamicListenerStateValidationError{
- field: "Listener",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetListener()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ListenersConfigDump_DynamicListenerStateValidationError{
- field: "Listener",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetLastUpdated()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ListenersConfigDump_DynamicListenerStateValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ListenersConfigDump_DynamicListenerStateValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ListenersConfigDump_DynamicListenerStateValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if len(errors) > 0 {
- return ListenersConfigDump_DynamicListenerStateMultiError(errors)
- }
-
- return nil
-}
-
-// ListenersConfigDump_DynamicListenerStateMultiError is an error wrapping
-// multiple validation errors returned by
-// ListenersConfigDump_DynamicListenerState.ValidateAll() if the designated
-// constraints aren't met.
-type ListenersConfigDump_DynamicListenerStateMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m ListenersConfigDump_DynamicListenerStateMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m ListenersConfigDump_DynamicListenerStateMultiError) AllErrors() []error { return m }
-
-// ListenersConfigDump_DynamicListenerStateValidationError is the validation
-// error returned by ListenersConfigDump_DynamicListenerState.Validate if the
-// designated constraints aren't met.
-type ListenersConfigDump_DynamicListenerStateValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e ListenersConfigDump_DynamicListenerStateValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e ListenersConfigDump_DynamicListenerStateValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e ListenersConfigDump_DynamicListenerStateValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e ListenersConfigDump_DynamicListenerStateValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e ListenersConfigDump_DynamicListenerStateValidationError) ErrorName() string {
- return "ListenersConfigDump_DynamicListenerStateValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e ListenersConfigDump_DynamicListenerStateValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sListenersConfigDump_DynamicListenerState.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = ListenersConfigDump_DynamicListenerStateValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = ListenersConfigDump_DynamicListenerStateValidationError{}
-
-// Validate checks the field values on ListenersConfigDump_DynamicListener with
-// the rules defined in the proto definition for this message. If any rules
-// are violated, the first error encountered is returned, or nil if there are
-// no violations.
-func (m *ListenersConfigDump_DynamicListener) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on ListenersConfigDump_DynamicListener
-// with the rules defined in the proto definition for this message. If any
-// rules are violated, the result is a list of violation errors wrapped in
-// ListenersConfigDump_DynamicListenerMultiError, or nil if none found.
-func (m *ListenersConfigDump_DynamicListener) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *ListenersConfigDump_DynamicListener) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- // no validation rules for Name
-
- if all {
- switch v := interface{}(m.GetActiveState()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{
- field: "ActiveState",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{
- field: "ActiveState",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetActiveState()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ListenersConfigDump_DynamicListenerValidationError{
- field: "ActiveState",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetWarmingState()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{
- field: "WarmingState",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{
- field: "WarmingState",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetWarmingState()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ListenersConfigDump_DynamicListenerValidationError{
- field: "WarmingState",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetDrainingState()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{
- field: "DrainingState",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{
- field: "DrainingState",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetDrainingState()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ListenersConfigDump_DynamicListenerValidationError{
- field: "DrainingState",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetErrorState()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{
- field: "ErrorState",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{
- field: "ErrorState",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetErrorState()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ListenersConfigDump_DynamicListenerValidationError{
- field: "ErrorState",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- // no validation rules for ClientStatus
-
- if len(errors) > 0 {
- return ListenersConfigDump_DynamicListenerMultiError(errors)
- }
-
- return nil
-}
-
-// ListenersConfigDump_DynamicListenerMultiError is an error wrapping multiple
-// validation errors returned by
-// ListenersConfigDump_DynamicListener.ValidateAll() if the designated
-// constraints aren't met.
-type ListenersConfigDump_DynamicListenerMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m ListenersConfigDump_DynamicListenerMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m ListenersConfigDump_DynamicListenerMultiError) AllErrors() []error { return m }
-
-// ListenersConfigDump_DynamicListenerValidationError is the validation error
-// returned by ListenersConfigDump_DynamicListener.Validate if the designated
-// constraints aren't met.
-type ListenersConfigDump_DynamicListenerValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e ListenersConfigDump_DynamicListenerValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e ListenersConfigDump_DynamicListenerValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e ListenersConfigDump_DynamicListenerValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e ListenersConfigDump_DynamicListenerValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e ListenersConfigDump_DynamicListenerValidationError) ErrorName() string {
- return "ListenersConfigDump_DynamicListenerValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e ListenersConfigDump_DynamicListenerValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sListenersConfigDump_DynamicListener.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = ListenersConfigDump_DynamicListenerValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = ListenersConfigDump_DynamicListenerValidationError{}
-
-// Validate checks the field values on ClustersConfigDump_StaticCluster with
-// the rules defined in the proto definition for this message. If any rules
-// are violated, the first error encountered is returned, or nil if there are
-// no violations.
-func (m *ClustersConfigDump_StaticCluster) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on ClustersConfigDump_StaticCluster with
-// the rules defined in the proto definition for this message. If any rules
-// are violated, the result is a list of violation errors wrapped in
-// ClustersConfigDump_StaticClusterMultiError, or nil if none found.
-func (m *ClustersConfigDump_StaticCluster) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *ClustersConfigDump_StaticCluster) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if all {
- switch v := interface{}(m.GetCluster()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ClustersConfigDump_StaticClusterValidationError{
- field: "Cluster",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ClustersConfigDump_StaticClusterValidationError{
- field: "Cluster",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetCluster()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ClustersConfigDump_StaticClusterValidationError{
- field: "Cluster",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetLastUpdated()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ClustersConfigDump_StaticClusterValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ClustersConfigDump_StaticClusterValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ClustersConfigDump_StaticClusterValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if len(errors) > 0 {
- return ClustersConfigDump_StaticClusterMultiError(errors)
- }
-
- return nil
-}
-
-// ClustersConfigDump_StaticClusterMultiError is an error wrapping multiple
-// validation errors returned by
-// ClustersConfigDump_StaticCluster.ValidateAll() if the designated
-// constraints aren't met.
-type ClustersConfigDump_StaticClusterMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m ClustersConfigDump_StaticClusterMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m ClustersConfigDump_StaticClusterMultiError) AllErrors() []error { return m }
-
-// ClustersConfigDump_StaticClusterValidationError is the validation error
-// returned by ClustersConfigDump_StaticCluster.Validate if the designated
-// constraints aren't met.
-type ClustersConfigDump_StaticClusterValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e ClustersConfigDump_StaticClusterValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e ClustersConfigDump_StaticClusterValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e ClustersConfigDump_StaticClusterValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e ClustersConfigDump_StaticClusterValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e ClustersConfigDump_StaticClusterValidationError) ErrorName() string {
- return "ClustersConfigDump_StaticClusterValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e ClustersConfigDump_StaticClusterValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sClustersConfigDump_StaticCluster.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = ClustersConfigDump_StaticClusterValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = ClustersConfigDump_StaticClusterValidationError{}
-
-// Validate checks the field values on ClustersConfigDump_DynamicCluster with
-// the rules defined in the proto definition for this message. If any rules
-// are violated, the first error encountered is returned, or nil if there are
-// no violations.
-func (m *ClustersConfigDump_DynamicCluster) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on ClustersConfigDump_DynamicCluster
-// with the rules defined in the proto definition for this message. If any
-// rules are violated, the result is a list of violation errors wrapped in
-// ClustersConfigDump_DynamicClusterMultiError, or nil if none found.
-func (m *ClustersConfigDump_DynamicCluster) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *ClustersConfigDump_DynamicCluster) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- // no validation rules for VersionInfo
-
- if all {
- switch v := interface{}(m.GetCluster()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ClustersConfigDump_DynamicClusterValidationError{
- field: "Cluster",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ClustersConfigDump_DynamicClusterValidationError{
- field: "Cluster",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetCluster()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ClustersConfigDump_DynamicClusterValidationError{
- field: "Cluster",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetLastUpdated()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ClustersConfigDump_DynamicClusterValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ClustersConfigDump_DynamicClusterValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ClustersConfigDump_DynamicClusterValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetErrorState()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ClustersConfigDump_DynamicClusterValidationError{
- field: "ErrorState",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ClustersConfigDump_DynamicClusterValidationError{
- field: "ErrorState",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetErrorState()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ClustersConfigDump_DynamicClusterValidationError{
- field: "ErrorState",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- // no validation rules for ClientStatus
-
- if len(errors) > 0 {
- return ClustersConfigDump_DynamicClusterMultiError(errors)
- }
-
- return nil
-}
-
-// ClustersConfigDump_DynamicClusterMultiError is an error wrapping multiple
-// validation errors returned by
-// ClustersConfigDump_DynamicCluster.ValidateAll() if the designated
-// constraints aren't met.
-type ClustersConfigDump_DynamicClusterMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m ClustersConfigDump_DynamicClusterMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m ClustersConfigDump_DynamicClusterMultiError) AllErrors() []error { return m }
-
-// ClustersConfigDump_DynamicClusterValidationError is the validation error
-// returned by ClustersConfigDump_DynamicCluster.Validate if the designated
-// constraints aren't met.
-type ClustersConfigDump_DynamicClusterValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e ClustersConfigDump_DynamicClusterValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e ClustersConfigDump_DynamicClusterValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e ClustersConfigDump_DynamicClusterValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e ClustersConfigDump_DynamicClusterValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e ClustersConfigDump_DynamicClusterValidationError) ErrorName() string {
- return "ClustersConfigDump_DynamicClusterValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e ClustersConfigDump_DynamicClusterValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sClustersConfigDump_DynamicCluster.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = ClustersConfigDump_DynamicClusterValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = ClustersConfigDump_DynamicClusterValidationError{}
-
-// Validate checks the field values on RoutesConfigDump_StaticRouteConfig with
-// the rules defined in the proto definition for this message. If any rules
-// are violated, the first error encountered is returned, or nil if there are
-// no violations.
-func (m *RoutesConfigDump_StaticRouteConfig) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on RoutesConfigDump_StaticRouteConfig
-// with the rules defined in the proto definition for this message. If any
-// rules are violated, the result is a list of violation errors wrapped in
-// RoutesConfigDump_StaticRouteConfigMultiError, or nil if none found.
-func (m *RoutesConfigDump_StaticRouteConfig) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *RoutesConfigDump_StaticRouteConfig) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if all {
- switch v := interface{}(m.GetRouteConfig()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, RoutesConfigDump_StaticRouteConfigValidationError{
- field: "RouteConfig",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, RoutesConfigDump_StaticRouteConfigValidationError{
- field: "RouteConfig",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetRouteConfig()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return RoutesConfigDump_StaticRouteConfigValidationError{
- field: "RouteConfig",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetLastUpdated()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, RoutesConfigDump_StaticRouteConfigValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, RoutesConfigDump_StaticRouteConfigValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return RoutesConfigDump_StaticRouteConfigValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if len(errors) > 0 {
- return RoutesConfigDump_StaticRouteConfigMultiError(errors)
- }
-
- return nil
-}
-
-// RoutesConfigDump_StaticRouteConfigMultiError is an error wrapping multiple
-// validation errors returned by
-// RoutesConfigDump_StaticRouteConfig.ValidateAll() if the designated
-// constraints aren't met.
-type RoutesConfigDump_StaticRouteConfigMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m RoutesConfigDump_StaticRouteConfigMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m RoutesConfigDump_StaticRouteConfigMultiError) AllErrors() []error { return m }
-
-// RoutesConfigDump_StaticRouteConfigValidationError is the validation error
-// returned by RoutesConfigDump_StaticRouteConfig.Validate if the designated
-// constraints aren't met.
-type RoutesConfigDump_StaticRouteConfigValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e RoutesConfigDump_StaticRouteConfigValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e RoutesConfigDump_StaticRouteConfigValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e RoutesConfigDump_StaticRouteConfigValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e RoutesConfigDump_StaticRouteConfigValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e RoutesConfigDump_StaticRouteConfigValidationError) ErrorName() string {
- return "RoutesConfigDump_StaticRouteConfigValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e RoutesConfigDump_StaticRouteConfigValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sRoutesConfigDump_StaticRouteConfig.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = RoutesConfigDump_StaticRouteConfigValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = RoutesConfigDump_StaticRouteConfigValidationError{}
-
-// Validate checks the field values on RoutesConfigDump_DynamicRouteConfig with
-// the rules defined in the proto definition for this message. If any rules
-// are violated, the first error encountered is returned, or nil if there are
-// no violations.
-func (m *RoutesConfigDump_DynamicRouteConfig) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on RoutesConfigDump_DynamicRouteConfig
-// with the rules defined in the proto definition for this message. If any
-// rules are violated, the result is a list of violation errors wrapped in
-// RoutesConfigDump_DynamicRouteConfigMultiError, or nil if none found.
-func (m *RoutesConfigDump_DynamicRouteConfig) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *RoutesConfigDump_DynamicRouteConfig) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- // no validation rules for VersionInfo
-
- if all {
- switch v := interface{}(m.GetRouteConfig()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, RoutesConfigDump_DynamicRouteConfigValidationError{
- field: "RouteConfig",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, RoutesConfigDump_DynamicRouteConfigValidationError{
- field: "RouteConfig",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetRouteConfig()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return RoutesConfigDump_DynamicRouteConfigValidationError{
- field: "RouteConfig",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetLastUpdated()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, RoutesConfigDump_DynamicRouteConfigValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, RoutesConfigDump_DynamicRouteConfigValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return RoutesConfigDump_DynamicRouteConfigValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetErrorState()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, RoutesConfigDump_DynamicRouteConfigValidationError{
- field: "ErrorState",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, RoutesConfigDump_DynamicRouteConfigValidationError{
- field: "ErrorState",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetErrorState()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return RoutesConfigDump_DynamicRouteConfigValidationError{
- field: "ErrorState",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- // no validation rules for ClientStatus
-
- if len(errors) > 0 {
- return RoutesConfigDump_DynamicRouteConfigMultiError(errors)
- }
-
- return nil
-}
-
-// RoutesConfigDump_DynamicRouteConfigMultiError is an error wrapping multiple
-// validation errors returned by
-// RoutesConfigDump_DynamicRouteConfig.ValidateAll() if the designated
-// constraints aren't met.
-type RoutesConfigDump_DynamicRouteConfigMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m RoutesConfigDump_DynamicRouteConfigMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m RoutesConfigDump_DynamicRouteConfigMultiError) AllErrors() []error { return m }
-
-// RoutesConfigDump_DynamicRouteConfigValidationError is the validation error
-// returned by RoutesConfigDump_DynamicRouteConfig.Validate if the designated
-// constraints aren't met.
-type RoutesConfigDump_DynamicRouteConfigValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e RoutesConfigDump_DynamicRouteConfigValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e RoutesConfigDump_DynamicRouteConfigValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e RoutesConfigDump_DynamicRouteConfigValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e RoutesConfigDump_DynamicRouteConfigValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e RoutesConfigDump_DynamicRouteConfigValidationError) ErrorName() string {
- return "RoutesConfigDump_DynamicRouteConfigValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e RoutesConfigDump_DynamicRouteConfigValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sRoutesConfigDump_DynamicRouteConfig.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = RoutesConfigDump_DynamicRouteConfigValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = RoutesConfigDump_DynamicRouteConfigValidationError{}
-
-// Validate checks the field values on
-// ScopedRoutesConfigDump_InlineScopedRouteConfigs with the rules defined in
-// the proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *ScopedRoutesConfigDump_InlineScopedRouteConfigs) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on
-// ScopedRoutesConfigDump_InlineScopedRouteConfigs with the rules defined in
-// the proto definition for this message. If any rules are violated, the
-// result is a list of violation errors wrapped in
-// ScopedRoutesConfigDump_InlineScopedRouteConfigsMultiError, or nil if none found.
-func (m *ScopedRoutesConfigDump_InlineScopedRouteConfigs) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *ScopedRoutesConfigDump_InlineScopedRouteConfigs) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- // no validation rules for Name
-
- for idx, item := range m.GetScopedRouteConfigs() {
- _, _ = idx, item
-
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{
- field: fmt.Sprintf("ScopedRouteConfigs[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{
- field: fmt.Sprintf("ScopedRouteConfigs[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{
- field: fmt.Sprintf("ScopedRouteConfigs[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
-
- if all {
- switch v := interface{}(m.GetLastUpdated()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if len(errors) > 0 {
- return ScopedRoutesConfigDump_InlineScopedRouteConfigsMultiError(errors)
- }
-
- return nil
-}
-
-// ScopedRoutesConfigDump_InlineScopedRouteConfigsMultiError is an error
-// wrapping multiple validation errors returned by
-// ScopedRoutesConfigDump_InlineScopedRouteConfigs.ValidateAll() if the
-// designated constraints aren't met.
-type ScopedRoutesConfigDump_InlineScopedRouteConfigsMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m ScopedRoutesConfigDump_InlineScopedRouteConfigsMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m ScopedRoutesConfigDump_InlineScopedRouteConfigsMultiError) AllErrors() []error { return m }
-
-// ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError is the
-// validation error returned by
-// ScopedRoutesConfigDump_InlineScopedRouteConfigs.Validate if the designated
-// constraints aren't met.
-type ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError) Field() string {
- return e.field
-}
-
-// Reason function returns reason value.
-func (e ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError) Reason() string {
- return e.reason
-}
-
-// Cause function returns cause value.
-func (e ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError) ErrorName() string {
- return "ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sScopedRoutesConfigDump_InlineScopedRouteConfigs.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{}
-
-// Validate checks the field values on
-// ScopedRoutesConfigDump_DynamicScopedRouteConfigs with the rules defined in
-// the proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on
-// ScopedRoutesConfigDump_DynamicScopedRouteConfigs with the rules defined in
-// the proto definition for this message. If any rules are violated, the
-// result is a list of violation errors wrapped in
-// ScopedRoutesConfigDump_DynamicScopedRouteConfigsMultiError, or nil if none found.
-func (m *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- // no validation rules for Name
-
- // no validation rules for VersionInfo
-
- for idx, item := range m.GetScopedRouteConfigs() {
- _, _ = idx, item
-
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{
- field: fmt.Sprintf("ScopedRouteConfigs[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{
- field: fmt.Sprintf("ScopedRouteConfigs[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{
- field: fmt.Sprintf("ScopedRouteConfigs[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
-
- if all {
- switch v := interface{}(m.GetLastUpdated()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetErrorState()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{
- field: "ErrorState",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{
- field: "ErrorState",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetErrorState()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{
- field: "ErrorState",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- // no validation rules for ClientStatus
-
- if len(errors) > 0 {
- return ScopedRoutesConfigDump_DynamicScopedRouteConfigsMultiError(errors)
- }
-
- return nil
-}
-
-// ScopedRoutesConfigDump_DynamicScopedRouteConfigsMultiError is an error
-// wrapping multiple validation errors returned by
-// ScopedRoutesConfigDump_DynamicScopedRouteConfigs.ValidateAll() if the
-// designated constraints aren't met.
-type ScopedRoutesConfigDump_DynamicScopedRouteConfigsMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m ScopedRoutesConfigDump_DynamicScopedRouteConfigsMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m ScopedRoutesConfigDump_DynamicScopedRouteConfigsMultiError) AllErrors() []error { return m }
-
-// ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError is the
-// validation error returned by
-// ScopedRoutesConfigDump_DynamicScopedRouteConfigs.Validate if the designated
-// constraints aren't met.
-type ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError) Field() string {
- return e.field
-}
-
-// Reason function returns reason value.
-func (e ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError) Reason() string {
- return e.reason
-}
-
-// Cause function returns cause value.
-func (e ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError) Cause() error {
- return e.cause
-}
-
-// Key function returns key value.
-func (e ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError) ErrorName() string {
- return "ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sScopedRoutesConfigDump_DynamicScopedRouteConfigs.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{}
-
-// Validate checks the field values on SecretsConfigDump_DynamicSecret with the
-// rules defined in the proto definition for this message. If any rules are
-// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *SecretsConfigDump_DynamicSecret) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on SecretsConfigDump_DynamicSecret with
-// the rules defined in the proto definition for this message. If any rules
-// are violated, the result is a list of violation errors wrapped in
-// SecretsConfigDump_DynamicSecretMultiError, or nil if none found.
-func (m *SecretsConfigDump_DynamicSecret) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *SecretsConfigDump_DynamicSecret) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- // no validation rules for Name
-
- // no validation rules for VersionInfo
-
- if all {
- switch v := interface{}(m.GetLastUpdated()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, SecretsConfigDump_DynamicSecretValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, SecretsConfigDump_DynamicSecretValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return SecretsConfigDump_DynamicSecretValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetSecret()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, SecretsConfigDump_DynamicSecretValidationError{
- field: "Secret",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, SecretsConfigDump_DynamicSecretValidationError{
- field: "Secret",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetSecret()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return SecretsConfigDump_DynamicSecretValidationError{
- field: "Secret",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetErrorState()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, SecretsConfigDump_DynamicSecretValidationError{
- field: "ErrorState",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, SecretsConfigDump_DynamicSecretValidationError{
- field: "ErrorState",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetErrorState()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return SecretsConfigDump_DynamicSecretValidationError{
- field: "ErrorState",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- // no validation rules for ClientStatus
-
- if len(errors) > 0 {
- return SecretsConfigDump_DynamicSecretMultiError(errors)
- }
-
- return nil
-}
-
-// SecretsConfigDump_DynamicSecretMultiError is an error wrapping multiple
-// validation errors returned by SecretsConfigDump_DynamicSecret.ValidateAll()
-// if the designated constraints aren't met.
-type SecretsConfigDump_DynamicSecretMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m SecretsConfigDump_DynamicSecretMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m SecretsConfigDump_DynamicSecretMultiError) AllErrors() []error { return m }
-
-// SecretsConfigDump_DynamicSecretValidationError is the validation error
-// returned by SecretsConfigDump_DynamicSecret.Validate if the designated
-// constraints aren't met.
-type SecretsConfigDump_DynamicSecretValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e SecretsConfigDump_DynamicSecretValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e SecretsConfigDump_DynamicSecretValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e SecretsConfigDump_DynamicSecretValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e SecretsConfigDump_DynamicSecretValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e SecretsConfigDump_DynamicSecretValidationError) ErrorName() string {
- return "SecretsConfigDump_DynamicSecretValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e SecretsConfigDump_DynamicSecretValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sSecretsConfigDump_DynamicSecret.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = SecretsConfigDump_DynamicSecretValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = SecretsConfigDump_DynamicSecretValidationError{}
-
-// Validate checks the field values on SecretsConfigDump_StaticSecret with the
-// rules defined in the proto definition for this message. If any rules are
-// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *SecretsConfigDump_StaticSecret) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on SecretsConfigDump_StaticSecret with
-// the rules defined in the proto definition for this message. If any rules
-// are violated, the result is a list of violation errors wrapped in
-// SecretsConfigDump_StaticSecretMultiError, or nil if none found.
-func (m *SecretsConfigDump_StaticSecret) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *SecretsConfigDump_StaticSecret) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- // no validation rules for Name
-
- if all {
- switch v := interface{}(m.GetLastUpdated()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, SecretsConfigDump_StaticSecretValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, SecretsConfigDump_StaticSecretValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return SecretsConfigDump_StaticSecretValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return SecretsConfigDump_DynamicSecretValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
}
}
}
@@ -3494,7 +591,7 @@ func (m *SecretsConfigDump_StaticSecret) validate(all bool) error {
switch v := interface{}(m.GetSecret()).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
- errors = append(errors, SecretsConfigDump_StaticSecretValidationError{
+ errors = append(errors, SecretsConfigDump_DynamicSecretValidationError{
field: "Secret",
reason: "embedded message failed validation",
cause: err,
@@ -3502,7 +599,7 @@ func (m *SecretsConfigDump_StaticSecret) validate(all bool) error {
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
- errors = append(errors, SecretsConfigDump_StaticSecretValidationError{
+ errors = append(errors, SecretsConfigDump_DynamicSecretValidationError{
field: "Secret",
reason: "embedded message failed validation",
cause: err,
@@ -3511,7 +608,7 @@ func (m *SecretsConfigDump_StaticSecret) validate(all bool) error {
}
} else if v, ok := interface{}(m.GetSecret()).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
- return SecretsConfigDump_StaticSecretValidationError{
+ return SecretsConfigDump_DynamicSecretValidationError{
field: "Secret",
reason: "embedded message failed validation",
cause: err,
@@ -3519,184 +616,51 @@ func (m *SecretsConfigDump_StaticSecret) validate(all bool) error {
}
}
- if len(errors) > 0 {
- return SecretsConfigDump_StaticSecretMultiError(errors)
- }
-
- return nil
-}
-
-// SecretsConfigDump_StaticSecretMultiError is an error wrapping multiple
-// validation errors returned by SecretsConfigDump_StaticSecret.ValidateAll()
-// if the designated constraints aren't met.
-type SecretsConfigDump_StaticSecretMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m SecretsConfigDump_StaticSecretMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m SecretsConfigDump_StaticSecretMultiError) AllErrors() []error { return m }
-
-// SecretsConfigDump_StaticSecretValidationError is the validation error
-// returned by SecretsConfigDump_StaticSecret.Validate if the designated
-// constraints aren't met.
-type SecretsConfigDump_StaticSecretValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e SecretsConfigDump_StaticSecretValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e SecretsConfigDump_StaticSecretValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e SecretsConfigDump_StaticSecretValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e SecretsConfigDump_StaticSecretValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e SecretsConfigDump_StaticSecretValidationError) ErrorName() string {
- return "SecretsConfigDump_StaticSecretValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e SecretsConfigDump_StaticSecretValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sSecretsConfigDump_StaticSecret.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = SecretsConfigDump_StaticSecretValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = SecretsConfigDump_StaticSecretValidationError{}
-
-// Validate checks the field values on EndpointsConfigDump_StaticEndpointConfig
-// with the rules defined in the proto definition for this message. If any
-// rules are violated, the first error encountered is returned, or nil if
-// there are no violations.
-func (m *EndpointsConfigDump_StaticEndpointConfig) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on
-// EndpointsConfigDump_StaticEndpointConfig with the rules defined in the
-// proto definition for this message. If any rules are violated, the result is
-// a list of violation errors wrapped in
-// EndpointsConfigDump_StaticEndpointConfigMultiError, or nil if none found.
-func (m *EndpointsConfigDump_StaticEndpointConfig) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *EndpointsConfigDump_StaticEndpointConfig) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
if all {
- switch v := interface{}(m.GetEndpointConfig()).(type) {
+ switch v := interface{}(m.GetErrorState()).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
- errors = append(errors, EndpointsConfigDump_StaticEndpointConfigValidationError{
- field: "EndpointConfig",
+ errors = append(errors, SecretsConfigDump_DynamicSecretValidationError{
+ field: "ErrorState",
reason: "embedded message failed validation",
cause: err,
})
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
- errors = append(errors, EndpointsConfigDump_StaticEndpointConfigValidationError{
- field: "EndpointConfig",
+ errors = append(errors, SecretsConfigDump_DynamicSecretValidationError{
+ field: "ErrorState",
reason: "embedded message failed validation",
cause: err,
})
}
}
- } else if v, ok := interface{}(m.GetEndpointConfig()).(interface{ Validate() error }); ok {
+ } else if v, ok := interface{}(m.GetErrorState()).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
- return EndpointsConfigDump_StaticEndpointConfigValidationError{
- field: "EndpointConfig",
+ return SecretsConfigDump_DynamicSecretValidationError{
+ field: "ErrorState",
reason: "embedded message failed validation",
cause: err,
}
}
}
- if all {
- switch v := interface{}(m.GetLastUpdated()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, EndpointsConfigDump_StaticEndpointConfigValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, EndpointsConfigDump_StaticEndpointConfigValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return EndpointsConfigDump_StaticEndpointConfigValidationError{
- field: "LastUpdated",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
+ // no validation rules for ClientStatus
if len(errors) > 0 {
- return EndpointsConfigDump_StaticEndpointConfigMultiError(errors)
+ return SecretsConfigDump_DynamicSecretMultiError(errors)
}
return nil
}
-// EndpointsConfigDump_StaticEndpointConfigMultiError is an error wrapping
-// multiple validation errors returned by
-// EndpointsConfigDump_StaticEndpointConfig.ValidateAll() if the designated
-// constraints aren't met.
-type EndpointsConfigDump_StaticEndpointConfigMultiError []error
+// SecretsConfigDump_DynamicSecretMultiError is an error wrapping multiple
+// validation errors returned by SecretsConfigDump_DynamicSecret.ValidateAll()
+// if the designated constraints aren't met.
+type SecretsConfigDump_DynamicSecretMultiError []error
// Error returns a concatenation of all the error messages it wraps.
-func (m EndpointsConfigDump_StaticEndpointConfigMultiError) Error() string {
+func (m SecretsConfigDump_DynamicSecretMultiError) Error() string {
var msgs []string
for _, err := range m {
msgs = append(msgs, err.Error())
@@ -3705,12 +669,12 @@ func (m EndpointsConfigDump_StaticEndpointConfigMultiError) Error() string {
}
// AllErrors returns a list of validation violation errors.
-func (m EndpointsConfigDump_StaticEndpointConfigMultiError) AllErrors() []error { return m }
+func (m SecretsConfigDump_DynamicSecretMultiError) AllErrors() []error { return m }
-// EndpointsConfigDump_StaticEndpointConfigValidationError is the validation
-// error returned by EndpointsConfigDump_StaticEndpointConfig.Validate if the
-// designated constraints aren't met.
-type EndpointsConfigDump_StaticEndpointConfigValidationError struct {
+// SecretsConfigDump_DynamicSecretValidationError is the validation error
+// returned by SecretsConfigDump_DynamicSecret.Validate if the designated
+// constraints aren't met.
+type SecretsConfigDump_DynamicSecretValidationError struct {
field string
reason string
cause error
@@ -3718,24 +682,24 @@ type EndpointsConfigDump_StaticEndpointConfigValidationError struct {
}
// Field function returns field value.
-func (e EndpointsConfigDump_StaticEndpointConfigValidationError) Field() string { return e.field }
+func (e SecretsConfigDump_DynamicSecretValidationError) Field() string { return e.field }
// Reason function returns reason value.
-func (e EndpointsConfigDump_StaticEndpointConfigValidationError) Reason() string { return e.reason }
+func (e SecretsConfigDump_DynamicSecretValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
-func (e EndpointsConfigDump_StaticEndpointConfigValidationError) Cause() error { return e.cause }
+func (e SecretsConfigDump_DynamicSecretValidationError) Cause() error { return e.cause }
// Key function returns key value.
-func (e EndpointsConfigDump_StaticEndpointConfigValidationError) Key() bool { return e.key }
+func (e SecretsConfigDump_DynamicSecretValidationError) Key() bool { return e.key }
// ErrorName returns error name.
-func (e EndpointsConfigDump_StaticEndpointConfigValidationError) ErrorName() string {
- return "EndpointsConfigDump_StaticEndpointConfigValidationError"
+func (e SecretsConfigDump_DynamicSecretValidationError) ErrorName() string {
+ return "SecretsConfigDump_DynamicSecretValidationError"
}
// Error satisfies the builtin error interface
-func (e EndpointsConfigDump_StaticEndpointConfigValidationError) Error() string {
+func (e SecretsConfigDump_DynamicSecretValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
@@ -3747,14 +711,14 @@ func (e EndpointsConfigDump_StaticEndpointConfigValidationError) Error() string
}
return fmt.Sprintf(
- "invalid %sEndpointsConfigDump_StaticEndpointConfig.%s: %s%s",
+ "invalid %sSecretsConfigDump_DynamicSecret.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
-var _ error = EndpointsConfigDump_StaticEndpointConfigValidationError{}
+var _ error = SecretsConfigDump_DynamicSecretValidationError{}
var _ interface {
Field() string
@@ -3762,68 +726,37 @@ var _ interface {
Key() bool
Cause() error
ErrorName() string
-} = EndpointsConfigDump_StaticEndpointConfigValidationError{}
+} = SecretsConfigDump_DynamicSecretValidationError{}
-// Validate checks the field values on
-// EndpointsConfigDump_DynamicEndpointConfig with the rules defined in the
-// proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *EndpointsConfigDump_DynamicEndpointConfig) Validate() error {
+// Validate checks the field values on SecretsConfigDump_StaticSecret with the
+// rules defined in the proto definition for this message. If any rules are
+// violated, the first error encountered is returned, or nil if there are no violations.
+func (m *SecretsConfigDump_StaticSecret) Validate() error {
return m.validate(false)
}
-// ValidateAll checks the field values on
-// EndpointsConfigDump_DynamicEndpointConfig with the rules defined in the
-// proto definition for this message. If any rules are violated, the result is
-// a list of violation errors wrapped in
-// EndpointsConfigDump_DynamicEndpointConfigMultiError, or nil if none found.
-func (m *EndpointsConfigDump_DynamicEndpointConfig) ValidateAll() error {
+// ValidateAll checks the field values on SecretsConfigDump_StaticSecret with
+// the rules defined in the proto definition for this message. If any rules
+// are violated, the result is a list of violation errors wrapped in
+// SecretsConfigDump_StaticSecretMultiError, or nil if none found.
+func (m *SecretsConfigDump_StaticSecret) ValidateAll() error {
return m.validate(true)
}
-func (m *EndpointsConfigDump_DynamicEndpointConfig) validate(all bool) error {
+func (m *SecretsConfigDump_StaticSecret) validate(all bool) error {
if m == nil {
return nil
}
var errors []error
- // no validation rules for VersionInfo
-
- if all {
- switch v := interface{}(m.GetEndpointConfig()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, EndpointsConfigDump_DynamicEndpointConfigValidationError{
- field: "EndpointConfig",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, EndpointsConfigDump_DynamicEndpointConfigValidationError{
- field: "EndpointConfig",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetEndpointConfig()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return EndpointsConfigDump_DynamicEndpointConfigValidationError{
- field: "EndpointConfig",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
+ // no validation rules for Name
if all {
switch v := interface{}(m.GetLastUpdated()).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
- errors = append(errors, EndpointsConfigDump_DynamicEndpointConfigValidationError{
+ errors = append(errors, SecretsConfigDump_StaticSecretValidationError{
field: "LastUpdated",
reason: "embedded message failed validation",
cause: err,
@@ -3831,7 +764,7 @@ func (m *EndpointsConfigDump_DynamicEndpointConfig) validate(all bool) error {
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
- errors = append(errors, EndpointsConfigDump_DynamicEndpointConfigValidationError{
+ errors = append(errors, SecretsConfigDump_StaticSecretValidationError{
field: "LastUpdated",
reason: "embedded message failed validation",
cause: err,
@@ -3840,7 +773,7 @@ func (m *EndpointsConfigDump_DynamicEndpointConfig) validate(all bool) error {
}
} else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
- return EndpointsConfigDump_DynamicEndpointConfigValidationError{
+ return SecretsConfigDump_StaticSecretValidationError{
field: "LastUpdated",
reason: "embedded message failed validation",
cause: err,
@@ -3849,51 +782,48 @@ func (m *EndpointsConfigDump_DynamicEndpointConfig) validate(all bool) error {
}
if all {
- switch v := interface{}(m.GetErrorState()).(type) {
+ switch v := interface{}(m.GetSecret()).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
- errors = append(errors, EndpointsConfigDump_DynamicEndpointConfigValidationError{
- field: "ErrorState",
+ errors = append(errors, SecretsConfigDump_StaticSecretValidationError{
+ field: "Secret",
reason: "embedded message failed validation",
cause: err,
})
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
- errors = append(errors, EndpointsConfigDump_DynamicEndpointConfigValidationError{
- field: "ErrorState",
+ errors = append(errors, SecretsConfigDump_StaticSecretValidationError{
+ field: "Secret",
reason: "embedded message failed validation",
cause: err,
})
}
}
- } else if v, ok := interface{}(m.GetErrorState()).(interface{ Validate() error }); ok {
+ } else if v, ok := interface{}(m.GetSecret()).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
- return EndpointsConfigDump_DynamicEndpointConfigValidationError{
- field: "ErrorState",
+ return SecretsConfigDump_StaticSecretValidationError{
+ field: "Secret",
reason: "embedded message failed validation",
cause: err,
}
}
}
- // no validation rules for ClientStatus
-
if len(errors) > 0 {
- return EndpointsConfigDump_DynamicEndpointConfigMultiError(errors)
+ return SecretsConfigDump_StaticSecretMultiError(errors)
}
return nil
}
-// EndpointsConfigDump_DynamicEndpointConfigMultiError is an error wrapping
-// multiple validation errors returned by
-// EndpointsConfigDump_DynamicEndpointConfig.ValidateAll() if the designated
-// constraints aren't met.
-type EndpointsConfigDump_DynamicEndpointConfigMultiError []error
+// SecretsConfigDump_StaticSecretMultiError is an error wrapping multiple
+// validation errors returned by SecretsConfigDump_StaticSecret.ValidateAll()
+// if the designated constraints aren't met.
+type SecretsConfigDump_StaticSecretMultiError []error
// Error returns a concatenation of all the error messages it wraps.
-func (m EndpointsConfigDump_DynamicEndpointConfigMultiError) Error() string {
+func (m SecretsConfigDump_StaticSecretMultiError) Error() string {
var msgs []string
for _, err := range m {
msgs = append(msgs, err.Error())
@@ -3902,12 +832,12 @@ func (m EndpointsConfigDump_DynamicEndpointConfigMultiError) Error() string {
}
// AllErrors returns a list of validation violation errors.
-func (m EndpointsConfigDump_DynamicEndpointConfigMultiError) AllErrors() []error { return m }
+func (m SecretsConfigDump_StaticSecretMultiError) AllErrors() []error { return m }
-// EndpointsConfigDump_DynamicEndpointConfigValidationError is the validation
-// error returned by EndpointsConfigDump_DynamicEndpointConfig.Validate if the
-// designated constraints aren't met.
-type EndpointsConfigDump_DynamicEndpointConfigValidationError struct {
+// SecretsConfigDump_StaticSecretValidationError is the validation error
+// returned by SecretsConfigDump_StaticSecret.Validate if the designated
+// constraints aren't met.
+type SecretsConfigDump_StaticSecretValidationError struct {
field string
reason string
cause error
@@ -3915,24 +845,24 @@ type EndpointsConfigDump_DynamicEndpointConfigValidationError struct {
}
// Field function returns field value.
-func (e EndpointsConfigDump_DynamicEndpointConfigValidationError) Field() string { return e.field }
+func (e SecretsConfigDump_StaticSecretValidationError) Field() string { return e.field }
// Reason function returns reason value.
-func (e EndpointsConfigDump_DynamicEndpointConfigValidationError) Reason() string { return e.reason }
+func (e SecretsConfigDump_StaticSecretValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
-func (e EndpointsConfigDump_DynamicEndpointConfigValidationError) Cause() error { return e.cause }
+func (e SecretsConfigDump_StaticSecretValidationError) Cause() error { return e.cause }
// Key function returns key value.
-func (e EndpointsConfigDump_DynamicEndpointConfigValidationError) Key() bool { return e.key }
+func (e SecretsConfigDump_StaticSecretValidationError) Key() bool { return e.key }
// ErrorName returns error name.
-func (e EndpointsConfigDump_DynamicEndpointConfigValidationError) ErrorName() string {
- return "EndpointsConfigDump_DynamicEndpointConfigValidationError"
+func (e SecretsConfigDump_StaticSecretValidationError) ErrorName() string {
+ return "SecretsConfigDump_StaticSecretValidationError"
}
// Error satisfies the builtin error interface
-func (e EndpointsConfigDump_DynamicEndpointConfigValidationError) Error() string {
+func (e SecretsConfigDump_StaticSecretValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
@@ -3944,14 +874,14 @@ func (e EndpointsConfigDump_DynamicEndpointConfigValidationError) Error() string
}
return fmt.Sprintf(
- "invalid %sEndpointsConfigDump_DynamicEndpointConfig.%s: %s%s",
+ "invalid %sSecretsConfigDump_StaticSecret.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
-var _ error = EndpointsConfigDump_DynamicEndpointConfigValidationError{}
+var _ error = SecretsConfigDump_StaticSecretValidationError{}
var _ interface {
Field() string
@@ -3959,4 +889,4 @@ var _ interface {
Key() bool
Cause() error
ErrorName() string
-} = EndpointsConfigDump_DynamicEndpointConfigValidationError{}
+} = SecretsConfigDump_StaticSecretValidationError{}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/config_dump_shared.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/config_dump_shared.pb.go
new file mode 100644
index 0000000000..5673dd972f
--- /dev/null
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/config_dump_shared.pb.go
@@ -0,0 +1,2242 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
+// source: envoy/admin/v3/config_dump_shared.proto
+
+package adminv3
+
+import (
+ _ "github.com/cncf/xds/go/udpa/annotations"
+ any1 "github.com/golang/protobuf/ptypes/any"
+ timestamp "github.com/golang/protobuf/ptypes/timestamp"
+ 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)
+)
+
+// Resource status from the view of a xDS client, which tells the synchronization
+// status between the xDS client and the xDS server.
+type ClientResourceStatus int32
+
+const (
+ // Resource status is not available/unknown.
+ ClientResourceStatus_UNKNOWN ClientResourceStatus = 0
+ // Client requested this resource but hasn't received any update from management
+ // server. The client will not fail requests, but will queue them until update
+ // arrives or the client times out waiting for the resource.
+ ClientResourceStatus_REQUESTED ClientResourceStatus = 1
+ // This resource has been requested by the client but has either not been
+ // delivered by the server or was previously delivered by the server and then
+ // subsequently removed from resources provided by the server. For more
+ // information, please refer to the :ref:`"Knowing When a Requested Resource
+ // Does Not Exist" ` section.
+ ClientResourceStatus_DOES_NOT_EXIST ClientResourceStatus = 2
+ // Client received this resource and replied with ACK.
+ ClientResourceStatus_ACKED ClientResourceStatus = 3
+ // Client received this resource and replied with NACK.
+ ClientResourceStatus_NACKED ClientResourceStatus = 4
+)
+
+// Enum value maps for ClientResourceStatus.
+var (
+ ClientResourceStatus_name = map[int32]string{
+ 0: "UNKNOWN",
+ 1: "REQUESTED",
+ 2: "DOES_NOT_EXIST",
+ 3: "ACKED",
+ 4: "NACKED",
+ }
+ ClientResourceStatus_value = map[string]int32{
+ "UNKNOWN": 0,
+ "REQUESTED": 1,
+ "DOES_NOT_EXIST": 2,
+ "ACKED": 3,
+ "NACKED": 4,
+ }
+)
+
+func (x ClientResourceStatus) Enum() *ClientResourceStatus {
+ p := new(ClientResourceStatus)
+ *p = x
+ return p
+}
+
+func (x ClientResourceStatus) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ClientResourceStatus) Descriptor() protoreflect.EnumDescriptor {
+ return file_envoy_admin_v3_config_dump_shared_proto_enumTypes[0].Descriptor()
+}
+
+func (ClientResourceStatus) Type() protoreflect.EnumType {
+ return &file_envoy_admin_v3_config_dump_shared_proto_enumTypes[0]
+}
+
+func (x ClientResourceStatus) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ClientResourceStatus.Descriptor instead.
+func (ClientResourceStatus) EnumDescriptor() ([]byte, []int) {
+ return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{0}
+}
+
+type UpdateFailureState struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // What the component configuration would have been if the update had succeeded.
+ // This field may not be populated by xDS clients due to storage overhead.
+ FailedConfiguration *any1.Any `protobuf:"bytes,1,opt,name=failed_configuration,json=failedConfiguration,proto3" json:"failed_configuration,omitempty"`
+ // Time of the latest failed update attempt.
+ LastUpdateAttempt *timestamp.Timestamp `protobuf:"bytes,2,opt,name=last_update_attempt,json=lastUpdateAttempt,proto3" json:"last_update_attempt,omitempty"`
+ // Details about the last failed update attempt.
+ Details string `protobuf:"bytes,3,opt,name=details,proto3" json:"details,omitempty"`
+ // This is the version of the rejected resource.
+ // [#not-implemented-hide:]
+ VersionInfo string `protobuf:"bytes,4,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"`
+}
+
+func (x *UpdateFailureState) Reset() {
+ *x = UpdateFailureState{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UpdateFailureState) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdateFailureState) ProtoMessage() {}
+
+func (x *UpdateFailureState) ProtoReflect() protoreflect.Message {
+ mi := &file_envoy_admin_v3_config_dump_shared_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 UpdateFailureState.ProtoReflect.Descriptor instead.
+func (*UpdateFailureState) Descriptor() ([]byte, []int) {
+ return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UpdateFailureState) GetFailedConfiguration() *any1.Any {
+ if x != nil {
+ return x.FailedConfiguration
+ }
+ return nil
+}
+
+func (x *UpdateFailureState) GetLastUpdateAttempt() *timestamp.Timestamp {
+ if x != nil {
+ return x.LastUpdateAttempt
+ }
+ return nil
+}
+
+func (x *UpdateFailureState) GetDetails() string {
+ if x != nil {
+ return x.Details
+ }
+ return ""
+}
+
+func (x *UpdateFailureState) GetVersionInfo() string {
+ if x != nil {
+ return x.VersionInfo
+ }
+ return ""
+}
+
+// Envoy's listener manager fills this message with all currently known listeners. Listener
+// configuration information can be used to recreate an Envoy configuration by populating all
+// listeners as static listeners or by returning them in a LDS response.
+type ListenersConfigDump struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // This is the :ref:`version_info ` in the
+ // last processed LDS discovery response. If there are only static bootstrap listeners, this field
+ // will be "".
+ VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"`
+ // The statically loaded listener configs.
+ StaticListeners []*ListenersConfigDump_StaticListener `protobuf:"bytes,2,rep,name=static_listeners,json=staticListeners,proto3" json:"static_listeners,omitempty"`
+ // State for any warming, active, or draining listeners.
+ DynamicListeners []*ListenersConfigDump_DynamicListener `protobuf:"bytes,3,rep,name=dynamic_listeners,json=dynamicListeners,proto3" json:"dynamic_listeners,omitempty"`
+}
+
+func (x *ListenersConfigDump) Reset() {
+ *x = ListenersConfigDump{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ListenersConfigDump) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ListenersConfigDump) ProtoMessage() {}
+
+func (x *ListenersConfigDump) ProtoReflect() protoreflect.Message {
+ mi := &file_envoy_admin_v3_config_dump_shared_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 ListenersConfigDump.ProtoReflect.Descriptor instead.
+func (*ListenersConfigDump) Descriptor() ([]byte, []int) {
+ return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *ListenersConfigDump) GetVersionInfo() string {
+ if x != nil {
+ return x.VersionInfo
+ }
+ return ""
+}
+
+func (x *ListenersConfigDump) GetStaticListeners() []*ListenersConfigDump_StaticListener {
+ if x != nil {
+ return x.StaticListeners
+ }
+ return nil
+}
+
+func (x *ListenersConfigDump) GetDynamicListeners() []*ListenersConfigDump_DynamicListener {
+ if x != nil {
+ return x.DynamicListeners
+ }
+ return nil
+}
+
+// Envoy's cluster manager fills this message with all currently known clusters. Cluster
+// configuration information can be used to recreate an Envoy configuration by populating all
+// clusters as static clusters or by returning them in a CDS response.
+type ClustersConfigDump struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // This is the :ref:`version_info ` in the
+ // last processed CDS discovery response. If there are only static bootstrap clusters, this field
+ // will be "".
+ VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"`
+ // The statically loaded cluster configs.
+ StaticClusters []*ClustersConfigDump_StaticCluster `protobuf:"bytes,2,rep,name=static_clusters,json=staticClusters,proto3" json:"static_clusters,omitempty"`
+ // The dynamically loaded active clusters. These are clusters that are available to service
+ // data plane traffic.
+ DynamicActiveClusters []*ClustersConfigDump_DynamicCluster `protobuf:"bytes,3,rep,name=dynamic_active_clusters,json=dynamicActiveClusters,proto3" json:"dynamic_active_clusters,omitempty"`
+ // The dynamically loaded warming clusters. These are clusters that are currently undergoing
+ // warming in preparation to service data plane traffic. Note that if attempting to recreate an
+ // Envoy configuration from a configuration dump, the warming clusters should generally be
+ // discarded.
+ DynamicWarmingClusters []*ClustersConfigDump_DynamicCluster `protobuf:"bytes,4,rep,name=dynamic_warming_clusters,json=dynamicWarmingClusters,proto3" json:"dynamic_warming_clusters,omitempty"`
+}
+
+func (x *ClustersConfigDump) Reset() {
+ *x = ClustersConfigDump{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClustersConfigDump) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClustersConfigDump) ProtoMessage() {}
+
+func (x *ClustersConfigDump) ProtoReflect() protoreflect.Message {
+ mi := &file_envoy_admin_v3_config_dump_shared_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 ClustersConfigDump.ProtoReflect.Descriptor instead.
+func (*ClustersConfigDump) Descriptor() ([]byte, []int) {
+ return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *ClustersConfigDump) GetVersionInfo() string {
+ if x != nil {
+ return x.VersionInfo
+ }
+ return ""
+}
+
+func (x *ClustersConfigDump) GetStaticClusters() []*ClustersConfigDump_StaticCluster {
+ if x != nil {
+ return x.StaticClusters
+ }
+ return nil
+}
+
+func (x *ClustersConfigDump) GetDynamicActiveClusters() []*ClustersConfigDump_DynamicCluster {
+ if x != nil {
+ return x.DynamicActiveClusters
+ }
+ return nil
+}
+
+func (x *ClustersConfigDump) GetDynamicWarmingClusters() []*ClustersConfigDump_DynamicCluster {
+ if x != nil {
+ return x.DynamicWarmingClusters
+ }
+ return nil
+}
+
+// Envoy's RDS implementation fills this message with all currently loaded routes, as described by
+// their RouteConfiguration objects. Static routes that are either defined in the bootstrap configuration
+// or defined inline while configuring listeners are separated from those configured dynamically via RDS.
+// Route configuration information can be used to recreate an Envoy configuration by populating all routes
+// as static routes or by returning them in RDS responses.
+type RoutesConfigDump struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The statically loaded route configs.
+ StaticRouteConfigs []*RoutesConfigDump_StaticRouteConfig `protobuf:"bytes,2,rep,name=static_route_configs,json=staticRouteConfigs,proto3" json:"static_route_configs,omitempty"`
+ // The dynamically loaded route configs.
+ DynamicRouteConfigs []*RoutesConfigDump_DynamicRouteConfig `protobuf:"bytes,3,rep,name=dynamic_route_configs,json=dynamicRouteConfigs,proto3" json:"dynamic_route_configs,omitempty"`
+}
+
+func (x *RoutesConfigDump) Reset() {
+ *x = RoutesConfigDump{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RoutesConfigDump) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RoutesConfigDump) ProtoMessage() {}
+
+func (x *RoutesConfigDump) ProtoReflect() protoreflect.Message {
+ mi := &file_envoy_admin_v3_config_dump_shared_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 RoutesConfigDump.ProtoReflect.Descriptor instead.
+func (*RoutesConfigDump) Descriptor() ([]byte, []int) {
+ return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{3}
+}
+
+func (x *RoutesConfigDump) GetStaticRouteConfigs() []*RoutesConfigDump_StaticRouteConfig {
+ if x != nil {
+ return x.StaticRouteConfigs
+ }
+ return nil
+}
+
+func (x *RoutesConfigDump) GetDynamicRouteConfigs() []*RoutesConfigDump_DynamicRouteConfig {
+ if x != nil {
+ return x.DynamicRouteConfigs
+ }
+ return nil
+}
+
+// Envoy's scoped RDS implementation fills this message with all currently loaded route
+// configuration scopes (defined via ScopedRouteConfigurationsSet protos). This message lists both
+// the scopes defined inline with the higher order object (i.e., the HttpConnectionManager) and the
+// dynamically obtained scopes via the SRDS API.
+type ScopedRoutesConfigDump struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The statically loaded scoped route configs.
+ InlineScopedRouteConfigs []*ScopedRoutesConfigDump_InlineScopedRouteConfigs `protobuf:"bytes,1,rep,name=inline_scoped_route_configs,json=inlineScopedRouteConfigs,proto3" json:"inline_scoped_route_configs,omitempty"`
+ // The dynamically loaded scoped route configs.
+ DynamicScopedRouteConfigs []*ScopedRoutesConfigDump_DynamicScopedRouteConfigs `protobuf:"bytes,2,rep,name=dynamic_scoped_route_configs,json=dynamicScopedRouteConfigs,proto3" json:"dynamic_scoped_route_configs,omitempty"`
+}
+
+func (x *ScopedRoutesConfigDump) Reset() {
+ *x = ScopedRoutesConfigDump{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ScopedRoutesConfigDump) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ScopedRoutesConfigDump) ProtoMessage() {}
+
+func (x *ScopedRoutesConfigDump) ProtoReflect() protoreflect.Message {
+ mi := &file_envoy_admin_v3_config_dump_shared_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 ScopedRoutesConfigDump.ProtoReflect.Descriptor instead.
+func (*ScopedRoutesConfigDump) Descriptor() ([]byte, []int) {
+ return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{4}
+}
+
+func (x *ScopedRoutesConfigDump) GetInlineScopedRouteConfigs() []*ScopedRoutesConfigDump_InlineScopedRouteConfigs {
+ if x != nil {
+ return x.InlineScopedRouteConfigs
+ }
+ return nil
+}
+
+func (x *ScopedRoutesConfigDump) GetDynamicScopedRouteConfigs() []*ScopedRoutesConfigDump_DynamicScopedRouteConfigs {
+ if x != nil {
+ return x.DynamicScopedRouteConfigs
+ }
+ return nil
+}
+
+// Envoy's admin fill this message with all currently known endpoints. Endpoint
+// configuration information can be used to recreate an Envoy configuration by populating all
+// endpoints as static endpoints or by returning them in an EDS response.
+type EndpointsConfigDump struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The statically loaded endpoint configs.
+ StaticEndpointConfigs []*EndpointsConfigDump_StaticEndpointConfig `protobuf:"bytes,2,rep,name=static_endpoint_configs,json=staticEndpointConfigs,proto3" json:"static_endpoint_configs,omitempty"`
+ // The dynamically loaded endpoint configs.
+ DynamicEndpointConfigs []*EndpointsConfigDump_DynamicEndpointConfig `protobuf:"bytes,3,rep,name=dynamic_endpoint_configs,json=dynamicEndpointConfigs,proto3" json:"dynamic_endpoint_configs,omitempty"`
+}
+
+func (x *EndpointsConfigDump) Reset() {
+ *x = EndpointsConfigDump{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EndpointsConfigDump) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EndpointsConfigDump) ProtoMessage() {}
+
+func (x *EndpointsConfigDump) ProtoReflect() protoreflect.Message {
+ mi := &file_envoy_admin_v3_config_dump_shared_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 EndpointsConfigDump.ProtoReflect.Descriptor instead.
+func (*EndpointsConfigDump) Descriptor() ([]byte, []int) {
+ return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{5}
+}
+
+func (x *EndpointsConfigDump) GetStaticEndpointConfigs() []*EndpointsConfigDump_StaticEndpointConfig {
+ if x != nil {
+ return x.StaticEndpointConfigs
+ }
+ return nil
+}
+
+func (x *EndpointsConfigDump) GetDynamicEndpointConfigs() []*EndpointsConfigDump_DynamicEndpointConfig {
+ if x != nil {
+ return x.DynamicEndpointConfigs
+ }
+ return nil
+}
+
+// Envoy's ECDS service fills this message with all currently extension
+// configuration. Extension configuration information can be used to recreate
+// an Envoy ECDS listener and HTTP filters as static filters or by returning
+// them in ECDS response.
+type EcdsConfigDump struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The ECDS filter configs.
+ EcdsFilters []*EcdsConfigDump_EcdsFilterConfig `protobuf:"bytes,1,rep,name=ecds_filters,json=ecdsFilters,proto3" json:"ecds_filters,omitempty"`
+}
+
+func (x *EcdsConfigDump) Reset() {
+ *x = EcdsConfigDump{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[6]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EcdsConfigDump) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EcdsConfigDump) ProtoMessage() {}
+
+func (x *EcdsConfigDump) ProtoReflect() protoreflect.Message {
+ mi := &file_envoy_admin_v3_config_dump_shared_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 EcdsConfigDump.ProtoReflect.Descriptor instead.
+func (*EcdsConfigDump) Descriptor() ([]byte, []int) {
+ return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{6}
+}
+
+func (x *EcdsConfigDump) GetEcdsFilters() []*EcdsConfigDump_EcdsFilterConfig {
+ if x != nil {
+ return x.EcdsFilters
+ }
+ return nil
+}
+
+// Describes a statically loaded listener.
+type ListenersConfigDump_StaticListener struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The listener config.
+ Listener *any1.Any `protobuf:"bytes,1,opt,name=listener,proto3" json:"listener,omitempty"`
+ // The timestamp when the Listener was last successfully updated.
+ LastUpdated *timestamp.Timestamp `protobuf:"bytes,2,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
+}
+
+func (x *ListenersConfigDump_StaticListener) Reset() {
+ *x = ListenersConfigDump_StaticListener{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[7]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ListenersConfigDump_StaticListener) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ListenersConfigDump_StaticListener) ProtoMessage() {}
+
+func (x *ListenersConfigDump_StaticListener) ProtoReflect() protoreflect.Message {
+ mi := &file_envoy_admin_v3_config_dump_shared_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 ListenersConfigDump_StaticListener.ProtoReflect.Descriptor instead.
+func (*ListenersConfigDump_StaticListener) Descriptor() ([]byte, []int) {
+ return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{1, 0}
+}
+
+func (x *ListenersConfigDump_StaticListener) GetListener() *any1.Any {
+ if x != nil {
+ return x.Listener
+ }
+ return nil
+}
+
+func (x *ListenersConfigDump_StaticListener) GetLastUpdated() *timestamp.Timestamp {
+ if x != nil {
+ return x.LastUpdated
+ }
+ return nil
+}
+
+type ListenersConfigDump_DynamicListenerState struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // This is the per-resource version information. This version is currently taken from the
+ // :ref:`version_info ` field at the time
+ // that the listener was loaded. In the future, discrete per-listener versions may be supported
+ // by the API.
+ VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"`
+ // The listener config.
+ Listener *any1.Any `protobuf:"bytes,2,opt,name=listener,proto3" json:"listener,omitempty"`
+ // The timestamp when the Listener was last successfully updated.
+ LastUpdated *timestamp.Timestamp `protobuf:"bytes,3,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
+}
+
+func (x *ListenersConfigDump_DynamicListenerState) Reset() {
+ *x = ListenersConfigDump_DynamicListenerState{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[8]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ListenersConfigDump_DynamicListenerState) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ListenersConfigDump_DynamicListenerState) ProtoMessage() {}
+
+func (x *ListenersConfigDump_DynamicListenerState) ProtoReflect() protoreflect.Message {
+ mi := &file_envoy_admin_v3_config_dump_shared_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 ListenersConfigDump_DynamicListenerState.ProtoReflect.Descriptor instead.
+func (*ListenersConfigDump_DynamicListenerState) Descriptor() ([]byte, []int) {
+ return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{1, 1}
+}
+
+func (x *ListenersConfigDump_DynamicListenerState) GetVersionInfo() string {
+ if x != nil {
+ return x.VersionInfo
+ }
+ return ""
+}
+
+func (x *ListenersConfigDump_DynamicListenerState) GetListener() *any1.Any {
+ if x != nil {
+ return x.Listener
+ }
+ return nil
+}
+
+func (x *ListenersConfigDump_DynamicListenerState) GetLastUpdated() *timestamp.Timestamp {
+ if x != nil {
+ return x.LastUpdated
+ }
+ return nil
+}
+
+// Describes a dynamically loaded listener via the LDS API.
+// [#next-free-field: 7]
+type ListenersConfigDump_DynamicListener struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The name or unique id of this listener, pulled from the DynamicListenerState config.
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // The listener state for any active listener by this name.
+ // These are listeners that are available to service data plane traffic.
+ ActiveState *ListenersConfigDump_DynamicListenerState `protobuf:"bytes,2,opt,name=active_state,json=activeState,proto3" json:"active_state,omitempty"`
+ // The listener state for any warming listener by this name.
+ // These are listeners that are currently undergoing warming in preparation to service data
+ // plane traffic. Note that if attempting to recreate an Envoy configuration from a
+ // configuration dump, the warming listeners should generally be discarded.
+ WarmingState *ListenersConfigDump_DynamicListenerState `protobuf:"bytes,3,opt,name=warming_state,json=warmingState,proto3" json:"warming_state,omitempty"`
+ // The listener state for any draining listener by this name.
+ // These are listeners that are currently undergoing draining in preparation to stop servicing
+ // data plane traffic. Note that if attempting to recreate an Envoy configuration from a
+ // configuration dump, the draining listeners should generally be discarded.
+ DrainingState *ListenersConfigDump_DynamicListenerState `protobuf:"bytes,4,opt,name=draining_state,json=drainingState,proto3" json:"draining_state,omitempty"`
+ // Set if the last update failed, cleared after the next successful update.
+ // The ``error_state`` field contains the rejected version of this particular
+ // resource along with the reason and timestamp. For successfully updated or
+ // acknowledged resource, this field should be empty.
+ ErrorState *UpdateFailureState `protobuf:"bytes,5,opt,name=error_state,json=errorState,proto3" json:"error_state,omitempty"`
+ // The client status of this resource.
+ // [#not-implemented-hide:]
+ ClientStatus ClientResourceStatus `protobuf:"varint,6,opt,name=client_status,json=clientStatus,proto3,enum=envoy.admin.v3.ClientResourceStatus" json:"client_status,omitempty"`
+}
+
+func (x *ListenersConfigDump_DynamicListener) Reset() {
+ *x = ListenersConfigDump_DynamicListener{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[9]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ListenersConfigDump_DynamicListener) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ListenersConfigDump_DynamicListener) ProtoMessage() {}
+
+func (x *ListenersConfigDump_DynamicListener) ProtoReflect() protoreflect.Message {
+ mi := &file_envoy_admin_v3_config_dump_shared_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)
+}
+
+// Deprecated: Use ListenersConfigDump_DynamicListener.ProtoReflect.Descriptor instead.
+func (*ListenersConfigDump_DynamicListener) Descriptor() ([]byte, []int) {
+ return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{1, 2}
+}
+
+func (x *ListenersConfigDump_DynamicListener) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *ListenersConfigDump_DynamicListener) GetActiveState() *ListenersConfigDump_DynamicListenerState {
+ if x != nil {
+ return x.ActiveState
+ }
+ return nil
+}
+
+func (x *ListenersConfigDump_DynamicListener) GetWarmingState() *ListenersConfigDump_DynamicListenerState {
+ if x != nil {
+ return x.WarmingState
+ }
+ return nil
+}
+
+func (x *ListenersConfigDump_DynamicListener) GetDrainingState() *ListenersConfigDump_DynamicListenerState {
+ if x != nil {
+ return x.DrainingState
+ }
+ return nil
+}
+
+func (x *ListenersConfigDump_DynamicListener) GetErrorState() *UpdateFailureState {
+ if x != nil {
+ return x.ErrorState
+ }
+ return nil
+}
+
+func (x *ListenersConfigDump_DynamicListener) GetClientStatus() ClientResourceStatus {
+ if x != nil {
+ return x.ClientStatus
+ }
+ return ClientResourceStatus_UNKNOWN
+}
+
+// Describes a statically loaded cluster.
+type ClustersConfigDump_StaticCluster struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The cluster config.
+ Cluster *any1.Any `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"`
+ // The timestamp when the Cluster was last updated.
+ LastUpdated *timestamp.Timestamp `protobuf:"bytes,2,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
+}
+
+func (x *ClustersConfigDump_StaticCluster) Reset() {
+ *x = ClustersConfigDump_StaticCluster{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[10]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClustersConfigDump_StaticCluster) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClustersConfigDump_StaticCluster) ProtoMessage() {}
+
+func (x *ClustersConfigDump_StaticCluster) ProtoReflect() protoreflect.Message {
+ mi := &file_envoy_admin_v3_config_dump_shared_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)
+}
+
+// Deprecated: Use ClustersConfigDump_StaticCluster.ProtoReflect.Descriptor instead.
+func (*ClustersConfigDump_StaticCluster) Descriptor() ([]byte, []int) {
+ return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{2, 0}
+}
+
+func (x *ClustersConfigDump_StaticCluster) GetCluster() *any1.Any {
+ if x != nil {
+ return x.Cluster
+ }
+ return nil
+}
+
+func (x *ClustersConfigDump_StaticCluster) GetLastUpdated() *timestamp.Timestamp {
+ if x != nil {
+ return x.LastUpdated
+ }
+ return nil
+}
+
+// Describes a dynamically loaded cluster via the CDS API.
+// [#next-free-field: 6]
+type ClustersConfigDump_DynamicCluster struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // This is the per-resource version information. This version is currently taken from the
+ // :ref:`version_info ` field at the time
+ // that the cluster was loaded. In the future, discrete per-cluster versions may be supported by
+ // the API.
+ VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"`
+ // The cluster config.
+ Cluster *any1.Any `protobuf:"bytes,2,opt,name=cluster,proto3" json:"cluster,omitempty"`
+ // The timestamp when the Cluster was last updated.
+ LastUpdated *timestamp.Timestamp `protobuf:"bytes,3,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
+ // Set if the last update failed, cleared after the next successful update.
+ // The ``error_state`` field contains the rejected version of this particular
+ // resource along with the reason and timestamp. For successfully updated or
+ // acknowledged resource, this field should be empty.
+ // [#not-implemented-hide:]
+ ErrorState *UpdateFailureState `protobuf:"bytes,4,opt,name=error_state,json=errorState,proto3" json:"error_state,omitempty"`
+ // The client status of this resource.
+ // [#not-implemented-hide:]
+ ClientStatus ClientResourceStatus `protobuf:"varint,5,opt,name=client_status,json=clientStatus,proto3,enum=envoy.admin.v3.ClientResourceStatus" json:"client_status,omitempty"`
+}
+
+func (x *ClustersConfigDump_DynamicCluster) Reset() {
+ *x = ClustersConfigDump_DynamicCluster{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[11]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClustersConfigDump_DynamicCluster) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClustersConfigDump_DynamicCluster) ProtoMessage() {}
+
+func (x *ClustersConfigDump_DynamicCluster) ProtoReflect() protoreflect.Message {
+ mi := &file_envoy_admin_v3_config_dump_shared_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)
+}
+
+// Deprecated: Use ClustersConfigDump_DynamicCluster.ProtoReflect.Descriptor instead.
+func (*ClustersConfigDump_DynamicCluster) Descriptor() ([]byte, []int) {
+ return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{2, 1}
+}
+
+func (x *ClustersConfigDump_DynamicCluster) GetVersionInfo() string {
+ if x != nil {
+ return x.VersionInfo
+ }
+ return ""
+}
+
+func (x *ClustersConfigDump_DynamicCluster) GetCluster() *any1.Any {
+ if x != nil {
+ return x.Cluster
+ }
+ return nil
+}
+
+func (x *ClustersConfigDump_DynamicCluster) GetLastUpdated() *timestamp.Timestamp {
+ if x != nil {
+ return x.LastUpdated
+ }
+ return nil
+}
+
+func (x *ClustersConfigDump_DynamicCluster) GetErrorState() *UpdateFailureState {
+ if x != nil {
+ return x.ErrorState
+ }
+ return nil
+}
+
+func (x *ClustersConfigDump_DynamicCluster) GetClientStatus() ClientResourceStatus {
+ if x != nil {
+ return x.ClientStatus
+ }
+ return ClientResourceStatus_UNKNOWN
+}
+
+type RoutesConfigDump_StaticRouteConfig struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The route config.
+ RouteConfig *any1.Any `protobuf:"bytes,1,opt,name=route_config,json=routeConfig,proto3" json:"route_config,omitempty"`
+ // The timestamp when the Route was last updated.
+ LastUpdated *timestamp.Timestamp `protobuf:"bytes,2,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
+}
+
+func (x *RoutesConfigDump_StaticRouteConfig) Reset() {
+ *x = RoutesConfigDump_StaticRouteConfig{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[12]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RoutesConfigDump_StaticRouteConfig) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RoutesConfigDump_StaticRouteConfig) ProtoMessage() {}
+
+func (x *RoutesConfigDump_StaticRouteConfig) ProtoReflect() protoreflect.Message {
+ mi := &file_envoy_admin_v3_config_dump_shared_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)
+}
+
+// Deprecated: Use RoutesConfigDump_StaticRouteConfig.ProtoReflect.Descriptor instead.
+func (*RoutesConfigDump_StaticRouteConfig) Descriptor() ([]byte, []int) {
+ return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{3, 0}
+}
+
+func (x *RoutesConfigDump_StaticRouteConfig) GetRouteConfig() *any1.Any {
+ if x != nil {
+ return x.RouteConfig
+ }
+ return nil
+}
+
+func (x *RoutesConfigDump_StaticRouteConfig) GetLastUpdated() *timestamp.Timestamp {
+ if x != nil {
+ return x.LastUpdated
+ }
+ return nil
+}
+
+// [#next-free-field: 6]
+type RoutesConfigDump_DynamicRouteConfig struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // This is the per-resource version information. This version is currently taken from the
+ // :ref:`version_info ` field at the time that
+ // the route configuration was loaded.
+ VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"`
+ // The route config.
+ RouteConfig *any1.Any `protobuf:"bytes,2,opt,name=route_config,json=routeConfig,proto3" json:"route_config,omitempty"`
+ // The timestamp when the Route was last updated.
+ LastUpdated *timestamp.Timestamp `protobuf:"bytes,3,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
+ // Set if the last update failed, cleared after the next successful update.
+ // The ``error_state`` field contains the rejected version of this particular
+ // resource along with the reason and timestamp. For successfully updated or
+ // acknowledged resource, this field should be empty.
+ // [#not-implemented-hide:]
+ ErrorState *UpdateFailureState `protobuf:"bytes,4,opt,name=error_state,json=errorState,proto3" json:"error_state,omitempty"`
+ // The client status of this resource.
+ // [#not-implemented-hide:]
+ ClientStatus ClientResourceStatus `protobuf:"varint,5,opt,name=client_status,json=clientStatus,proto3,enum=envoy.admin.v3.ClientResourceStatus" json:"client_status,omitempty"`
+}
+
+func (x *RoutesConfigDump_DynamicRouteConfig) Reset() {
+ *x = RoutesConfigDump_DynamicRouteConfig{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[13]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RoutesConfigDump_DynamicRouteConfig) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RoutesConfigDump_DynamicRouteConfig) ProtoMessage() {}
+
+func (x *RoutesConfigDump_DynamicRouteConfig) ProtoReflect() protoreflect.Message {
+ mi := &file_envoy_admin_v3_config_dump_shared_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)
+}
+
+// Deprecated: Use RoutesConfigDump_DynamicRouteConfig.ProtoReflect.Descriptor instead.
+func (*RoutesConfigDump_DynamicRouteConfig) Descriptor() ([]byte, []int) {
+ return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{3, 1}
+}
+
+func (x *RoutesConfigDump_DynamicRouteConfig) GetVersionInfo() string {
+ if x != nil {
+ return x.VersionInfo
+ }
+ return ""
+}
+
+func (x *RoutesConfigDump_DynamicRouteConfig) GetRouteConfig() *any1.Any {
+ if x != nil {
+ return x.RouteConfig
+ }
+ return nil
+}
+
+func (x *RoutesConfigDump_DynamicRouteConfig) GetLastUpdated() *timestamp.Timestamp {
+ if x != nil {
+ return x.LastUpdated
+ }
+ return nil
+}
+
+func (x *RoutesConfigDump_DynamicRouteConfig) GetErrorState() *UpdateFailureState {
+ if x != nil {
+ return x.ErrorState
+ }
+ return nil
+}
+
+func (x *RoutesConfigDump_DynamicRouteConfig) GetClientStatus() ClientResourceStatus {
+ if x != nil {
+ return x.ClientStatus
+ }
+ return ClientResourceStatus_UNKNOWN
+}
+
+type ScopedRoutesConfigDump_InlineScopedRouteConfigs struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The name assigned to the scoped route configurations.
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // The scoped route configurations.
+ ScopedRouteConfigs []*any1.Any `protobuf:"bytes,2,rep,name=scoped_route_configs,json=scopedRouteConfigs,proto3" json:"scoped_route_configs,omitempty"`
+ // The timestamp when the scoped route config set was last updated.
+ LastUpdated *timestamp.Timestamp `protobuf:"bytes,3,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
+}
+
+func (x *ScopedRoutesConfigDump_InlineScopedRouteConfigs) Reset() {
+ *x = ScopedRoutesConfigDump_InlineScopedRouteConfigs{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[14]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ScopedRoutesConfigDump_InlineScopedRouteConfigs) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ScopedRoutesConfigDump_InlineScopedRouteConfigs) ProtoMessage() {}
+
+func (x *ScopedRoutesConfigDump_InlineScopedRouteConfigs) ProtoReflect() protoreflect.Message {
+ mi := &file_envoy_admin_v3_config_dump_shared_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)
+}
+
+// Deprecated: Use ScopedRoutesConfigDump_InlineScopedRouteConfigs.ProtoReflect.Descriptor instead.
+func (*ScopedRoutesConfigDump_InlineScopedRouteConfigs) Descriptor() ([]byte, []int) {
+ return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{4, 0}
+}
+
+func (x *ScopedRoutesConfigDump_InlineScopedRouteConfigs) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *ScopedRoutesConfigDump_InlineScopedRouteConfigs) GetScopedRouteConfigs() []*any1.Any {
+ if x != nil {
+ return x.ScopedRouteConfigs
+ }
+ return nil
+}
+
+func (x *ScopedRoutesConfigDump_InlineScopedRouteConfigs) GetLastUpdated() *timestamp.Timestamp {
+ if x != nil {
+ return x.LastUpdated
+ }
+ return nil
+}
+
+// [#next-free-field: 7]
+type ScopedRoutesConfigDump_DynamicScopedRouteConfigs struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The name assigned to the scoped route configurations.
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // This is the per-resource version information. This version is currently taken from the
+ // :ref:`version_info ` field at the time that
+ // the scoped routes configuration was loaded.
+ VersionInfo string `protobuf:"bytes,2,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"`
+ // The scoped route configurations.
+ ScopedRouteConfigs []*any1.Any `protobuf:"bytes,3,rep,name=scoped_route_configs,json=scopedRouteConfigs,proto3" json:"scoped_route_configs,omitempty"`
+ // The timestamp when the scoped route config set was last updated.
+ LastUpdated *timestamp.Timestamp `protobuf:"bytes,4,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
+ // Set if the last update failed, cleared after the next successful update.
+ // The ``error_state`` field contains the rejected version of this particular
+ // resource along with the reason and timestamp. For successfully updated or
+ // acknowledged resource, this field should be empty.
+ // [#not-implemented-hide:]
+ ErrorState *UpdateFailureState `protobuf:"bytes,5,opt,name=error_state,json=errorState,proto3" json:"error_state,omitempty"`
+ // The client status of this resource.
+ // [#not-implemented-hide:]
+ ClientStatus ClientResourceStatus `protobuf:"varint,6,opt,name=client_status,json=clientStatus,proto3,enum=envoy.admin.v3.ClientResourceStatus" json:"client_status,omitempty"`
+}
+
+func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) Reset() {
+ *x = ScopedRoutesConfigDump_DynamicScopedRouteConfigs{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[15]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ScopedRoutesConfigDump_DynamicScopedRouteConfigs) ProtoMessage() {}
+
+func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) ProtoReflect() protoreflect.Message {
+ mi := &file_envoy_admin_v3_config_dump_shared_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)
+}
+
+// Deprecated: Use ScopedRoutesConfigDump_DynamicScopedRouteConfigs.ProtoReflect.Descriptor instead.
+func (*ScopedRoutesConfigDump_DynamicScopedRouteConfigs) Descriptor() ([]byte, []int) {
+ return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{4, 1}
+}
+
+func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) GetVersionInfo() string {
+ if x != nil {
+ return x.VersionInfo
+ }
+ return ""
+}
+
+func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) GetScopedRouteConfigs() []*any1.Any {
+ if x != nil {
+ return x.ScopedRouteConfigs
+ }
+ return nil
+}
+
+func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) GetLastUpdated() *timestamp.Timestamp {
+ if x != nil {
+ return x.LastUpdated
+ }
+ return nil
+}
+
+func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) GetErrorState() *UpdateFailureState {
+ if x != nil {
+ return x.ErrorState
+ }
+ return nil
+}
+
+func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) GetClientStatus() ClientResourceStatus {
+ if x != nil {
+ return x.ClientStatus
+ }
+ return ClientResourceStatus_UNKNOWN
+}
+
+type EndpointsConfigDump_StaticEndpointConfig struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The endpoint config.
+ EndpointConfig *any1.Any `protobuf:"bytes,1,opt,name=endpoint_config,json=endpointConfig,proto3" json:"endpoint_config,omitempty"`
+ // [#not-implemented-hide:] The timestamp when the Endpoint was last updated.
+ LastUpdated *timestamp.Timestamp `protobuf:"bytes,2,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
+}
+
+func (x *EndpointsConfigDump_StaticEndpointConfig) Reset() {
+ *x = EndpointsConfigDump_StaticEndpointConfig{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[16]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EndpointsConfigDump_StaticEndpointConfig) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EndpointsConfigDump_StaticEndpointConfig) ProtoMessage() {}
+
+func (x *EndpointsConfigDump_StaticEndpointConfig) ProtoReflect() protoreflect.Message {
+ mi := &file_envoy_admin_v3_config_dump_shared_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)
+}
+
+// Deprecated: Use EndpointsConfigDump_StaticEndpointConfig.ProtoReflect.Descriptor instead.
+func (*EndpointsConfigDump_StaticEndpointConfig) Descriptor() ([]byte, []int) {
+ return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{5, 0}
+}
+
+func (x *EndpointsConfigDump_StaticEndpointConfig) GetEndpointConfig() *any1.Any {
+ if x != nil {
+ return x.EndpointConfig
+ }
+ return nil
+}
+
+func (x *EndpointsConfigDump_StaticEndpointConfig) GetLastUpdated() *timestamp.Timestamp {
+ if x != nil {
+ return x.LastUpdated
+ }
+ return nil
+}
+
+// [#next-free-field: 6]
+type EndpointsConfigDump_DynamicEndpointConfig struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // [#not-implemented-hide:] This is the per-resource version information. This version is currently taken from the
+ // :ref:`version_info ` field at the time that
+ // the endpoint configuration was loaded.
+ VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"`
+ // The endpoint config.
+ EndpointConfig *any1.Any `protobuf:"bytes,2,opt,name=endpoint_config,json=endpointConfig,proto3" json:"endpoint_config,omitempty"`
+ // [#not-implemented-hide:] The timestamp when the Endpoint was last updated.
+ LastUpdated *timestamp.Timestamp `protobuf:"bytes,3,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
+ // Set if the last update failed, cleared after the next successful update.
+ // The ``error_state`` field contains the rejected version of this particular
+ // resource along with the reason and timestamp. For successfully updated or
+ // acknowledged resource, this field should be empty.
+ // [#not-implemented-hide:]
+ ErrorState *UpdateFailureState `protobuf:"bytes,4,opt,name=error_state,json=errorState,proto3" json:"error_state,omitempty"`
+ // The client status of this resource.
+ // [#not-implemented-hide:]
+ ClientStatus ClientResourceStatus `protobuf:"varint,5,opt,name=client_status,json=clientStatus,proto3,enum=envoy.admin.v3.ClientResourceStatus" json:"client_status,omitempty"`
+}
+
+func (x *EndpointsConfigDump_DynamicEndpointConfig) Reset() {
+ *x = EndpointsConfigDump_DynamicEndpointConfig{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[17]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EndpointsConfigDump_DynamicEndpointConfig) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EndpointsConfigDump_DynamicEndpointConfig) ProtoMessage() {}
+
+func (x *EndpointsConfigDump_DynamicEndpointConfig) ProtoReflect() protoreflect.Message {
+ mi := &file_envoy_admin_v3_config_dump_shared_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)
+}
+
+// Deprecated: Use EndpointsConfigDump_DynamicEndpointConfig.ProtoReflect.Descriptor instead.
+func (*EndpointsConfigDump_DynamicEndpointConfig) Descriptor() ([]byte, []int) {
+ return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{5, 1}
+}
+
+func (x *EndpointsConfigDump_DynamicEndpointConfig) GetVersionInfo() string {
+ if x != nil {
+ return x.VersionInfo
+ }
+ return ""
+}
+
+func (x *EndpointsConfigDump_DynamicEndpointConfig) GetEndpointConfig() *any1.Any {
+ if x != nil {
+ return x.EndpointConfig
+ }
+ return nil
+}
+
+func (x *EndpointsConfigDump_DynamicEndpointConfig) GetLastUpdated() *timestamp.Timestamp {
+ if x != nil {
+ return x.LastUpdated
+ }
+ return nil
+}
+
+func (x *EndpointsConfigDump_DynamicEndpointConfig) GetErrorState() *UpdateFailureState {
+ if x != nil {
+ return x.ErrorState
+ }
+ return nil
+}
+
+func (x *EndpointsConfigDump_DynamicEndpointConfig) GetClientStatus() ClientResourceStatus {
+ if x != nil {
+ return x.ClientStatus
+ }
+ return ClientResourceStatus_UNKNOWN
+}
+
+// [#next-free-field: 6]
+type EcdsConfigDump_EcdsFilterConfig struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // This is the per-resource version information. This version is currently
+ // taken from the :ref:`version_info
+ // `
+ // field at the time that the ECDS filter was loaded.
+ VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"`
+ // The ECDS filter config.
+ EcdsFilter *any1.Any `protobuf:"bytes,2,opt,name=ecds_filter,json=ecdsFilter,proto3" json:"ecds_filter,omitempty"`
+ // The timestamp when the ECDS filter was last updated.
+ LastUpdated *timestamp.Timestamp `protobuf:"bytes,3,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
+ // Set if the last update failed, cleared after the next successful update.
+ // The ``error_state`` field contains the rejected version of this
+ // particular resource along with the reason and timestamp. For successfully
+ // updated or acknowledged resource, this field should be empty.
+ // [#not-implemented-hide:]
+ ErrorState *UpdateFailureState `protobuf:"bytes,4,opt,name=error_state,json=errorState,proto3" json:"error_state,omitempty"`
+ // The client status of this resource.
+ // [#not-implemented-hide:]
+ ClientStatus ClientResourceStatus `protobuf:"varint,5,opt,name=client_status,json=clientStatus,proto3,enum=envoy.admin.v3.ClientResourceStatus" json:"client_status,omitempty"`
+}
+
+func (x *EcdsConfigDump_EcdsFilterConfig) Reset() {
+ *x = EcdsConfigDump_EcdsFilterConfig{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[18]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EcdsConfigDump_EcdsFilterConfig) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EcdsConfigDump_EcdsFilterConfig) ProtoMessage() {}
+
+func (x *EcdsConfigDump_EcdsFilterConfig) ProtoReflect() protoreflect.Message {
+ mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[18]
+ 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 EcdsConfigDump_EcdsFilterConfig.ProtoReflect.Descriptor instead.
+func (*EcdsConfigDump_EcdsFilterConfig) Descriptor() ([]byte, []int) {
+ return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{6, 0}
+}
+
+func (x *EcdsConfigDump_EcdsFilterConfig) GetVersionInfo() string {
+ if x != nil {
+ return x.VersionInfo
+ }
+ return ""
+}
+
+func (x *EcdsConfigDump_EcdsFilterConfig) GetEcdsFilter() *any1.Any {
+ if x != nil {
+ return x.EcdsFilter
+ }
+ return nil
+}
+
+func (x *EcdsConfigDump_EcdsFilterConfig) GetLastUpdated() *timestamp.Timestamp {
+ if x != nil {
+ return x.LastUpdated
+ }
+ return nil
+}
+
+func (x *EcdsConfigDump_EcdsFilterConfig) GetErrorState() *UpdateFailureState {
+ if x != nil {
+ return x.ErrorState
+ }
+ return nil
+}
+
+func (x *EcdsConfigDump_EcdsFilterConfig) GetClientStatus() ClientResourceStatus {
+ if x != nil {
+ return x.ClientStatus
+ }
+ return ClientResourceStatus_UNKNOWN
+}
+
+var File_envoy_admin_v3_config_dump_shared_proto protoreflect.FileDescriptor
+
+var file_envoy_admin_v3_config_dump_shared_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33,
+ 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x73, 0x68, 0x61,
+ 0x72, 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
+ 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 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, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f,
+ 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e,
+ 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x95, 0x02, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x47,
+ 0x0a, 0x14, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41,
+ 0x6e, 0x79, 0x52, 0x13, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f,
+ 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x18, 0x02,
+ 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, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x74, 0x74, 0x65,
+ 0x6d, 0x70, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x21, 0x0a,
+ 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
+ 0x3a, 0x2d, 0x9a, 0xc5, 0x88, 0x1e, 0x28, 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61,
+ 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22,
+ 0xf3, 0x09, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76,
+ 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5d, 0x0a, 0x10, 0x73, 0x74,
+ 0x61, 0x74, 0x69, 0x63, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x02,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d,
+ 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63,
+ 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63,
+ 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x60, 0x0a, 0x11, 0x64, 0x79, 0x6e,
+ 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x03,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d,
+ 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69,
+ 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x10, 0x64, 0x79, 0x6e, 0x61, 0x6d,
+ 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x1a, 0xc0, 0x01, 0x0a, 0x0e,
+ 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x30,
+ 0x0a, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72,
+ 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
+ 0x18, 0x02, 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, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x3a,
+ 0x3d, 0x9a, 0xc5, 0x88, 0x1e, 0x38, 0x0a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64,
+ 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74,
+ 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e,
+ 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x1a, 0xef,
+ 0x01, 0x0a, 0x14, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e,
+ 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76,
+ 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x08, 0x6c, 0x69,
+ 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41,
+ 0x6e, 0x79, 0x52, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0c,
+ 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 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, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b,
+ 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x43, 0x9a, 0xc5, 0x88,
+ 0x1e, 0x3e, 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e,
+ 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72,
+ 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61,
+ 0x6d, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65,
+ 0x1a, 0x92, 0x04, 0x0a, 0x0f, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74,
+ 0x65, 0x6e, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5b, 0x0a, 0x0c, 0x61, 0x63, 0x74, 0x69,
+ 0x76, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38,
+ 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e,
+ 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44,
+ 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65,
+ 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65,
+ 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x5d, 0x0a, 0x0d, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67,
+ 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65,
+ 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69,
+ 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d,
+ 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65,
+ 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x53,
+ 0x74, 0x61, 0x74, 0x65, 0x12, 0x5f, 0x0a, 0x0e, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67,
+ 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65,
+ 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69,
+ 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d,
+ 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65,
+ 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67,
+ 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x43, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73,
+ 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76,
+ 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a,
+ 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x0d, 0x63, 0x6c,
+ 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x0e, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e,
+ 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53,
+ 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x3e, 0x9a, 0xc5, 0x88, 0x1e, 0x39, 0x0a, 0x37, 0x65, 0x6e,
+ 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68,
+ 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4c, 0x69, 0x73,
+ 0x74, 0x65, 0x6e, 0x65, 0x72, 0x3a, 0x2e, 0x9a, 0xc5, 0x88, 0x1e, 0x29, 0x0a, 0x27, 0x65, 0x6e,
+ 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68,
+ 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x44, 0x75, 0x6d, 0x70, 0x22, 0xca, 0x07, 0x0a, 0x12, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
+ 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x21, 0x0a, 0x0c,
+ 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x59, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65,
+ 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
+ 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
+ 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x53, 0x74, 0x61,
+ 0x74, 0x69, 0x63, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x74,
+ 0x69, 0x63, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x69, 0x0a, 0x17, 0x64, 0x79,
+ 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6c, 0x75,
+ 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e,
+ 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75,
+ 0x73, 0x74, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e,
+ 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x15,
+ 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6c, 0x75,
+ 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x6b, 0x0a, 0x18, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63,
+ 0x5f, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
+ 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
+ 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
+ 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61,
+ 0x6d, 0x69, 0x63, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x16, 0x64, 0x79, 0x6e, 0x61,
+ 0x6d, 0x69, 0x63, 0x57, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
+ 0x72, 0x73, 0x1a, 0xbb, 0x01, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x43, 0x6c, 0x75,
+ 0x73, 0x74, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x07, 0x63, 0x6c, 0x75,
+ 0x73, 0x74, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 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, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x64, 0x3a, 0x3b, 0x9a, 0xc5, 0x88, 0x1e, 0x36, 0x0a, 0x34, 0x65, 0x6e, 0x76, 0x6f,
+ 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e,
+ 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75,
+ 0x6d, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
+ 0x1a, 0xf0, 0x02, 0x0a, 0x0e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x43, 0x6c, 0x75, 0x73,
+ 0x74, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69,
+ 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69,
+ 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65,
+ 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x07, 0x63,
+ 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75,
+ 0x70, 0x64, 0x61, 0x74, 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, 0x54,
+ 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x43, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73,
+ 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76,
+ 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a,
+ 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x0d, 0x63, 0x6c,
+ 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x0e, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e,
+ 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53,
+ 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x3c, 0x9a, 0xc5, 0x88, 0x1e, 0x37, 0x0a, 0x35, 0x65, 0x6e,
+ 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68,
+ 0x61, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x43, 0x6c, 0x75, 0x73,
+ 0x74, 0x65, 0x72, 0x3a, 0x2d, 0x9a, 0xc5, 0x88, 0x1e, 0x28, 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f,
+ 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e,
+ 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75,
+ 0x6d, 0x70, 0x22, 0xdd, 0x06, 0x0a, 0x10, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x64, 0x0a, 0x14, 0x73, 0x74, 0x61, 0x74, 0x69,
+ 0x63, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18,
+ 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64,
+ 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x6f,
+ 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x73, 0x74, 0x61, 0x74, 0x69,
+ 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x67, 0x0a,
+ 0x15, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65,
+ 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f,
+ 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44,
+ 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x52, 0x13, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x1a, 0xca, 0x01, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x74, 0x69,
+ 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, 0x0c,
+ 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 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, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x64, 0x3a, 0x3d, 0x9a, 0xc5, 0x88, 0x1e, 0x38, 0x0a, 0x36, 0x65, 0x6e, 0x76,
+ 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61,
+ 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d,
+ 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x1a, 0xff, 0x02, 0x0a, 0x12, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52,
+ 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65,
+ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x37, 0x0a,
+ 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65,
+ 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75,
+ 0x70, 0x64, 0x61, 0x74, 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, 0x54,
+ 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x43, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73,
+ 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76,
+ 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a,
+ 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x0d, 0x63, 0x6c,
+ 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x0e, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e,
+ 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53,
+ 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x3e, 0x9a, 0xc5, 0x88, 0x1e, 0x39, 0x0a, 0x37, 0x65, 0x6e,
+ 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68,
+ 0x61, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75,
+ 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x2b, 0x9a, 0xc5, 0x88, 0x1e, 0x26, 0x0a, 0x24, 0x65, 0x6e,
+ 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68,
+ 0x61, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75,
+ 0x6d, 0x70, 0x22, 0x8c, 0x08, 0x0a, 0x16, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75,
+ 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x7e, 0x0a,
+ 0x1b, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72,
+ 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e,
+ 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73,
+ 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x49, 0x6e, 0x6c, 0x69, 0x6e,
+ 0x65, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x73, 0x52, 0x18, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x63, 0x6f, 0x70, 0x65,
+ 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x81, 0x01,
+ 0x0a, 0x1c, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64,
+ 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x02,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d,
+ 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74,
+ 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e,
+ 0x61, 0x6d, 0x69, 0x63, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x19, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53,
+ 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x73, 0x1a, 0x81, 0x02, 0x0a, 0x18, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x63, 0x6f, 0x70,
+ 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x12,
+ 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
+ 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x14, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75,
+ 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x12, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f,
+ 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61,
+ 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 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, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61,
+ 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x4a, 0x9a, 0xc5, 0x88, 0x1e, 0x45,
+ 0x0a, 0x43, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32,
+ 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74,
+ 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x49, 0x6e, 0x6c,
+ 0x69, 0x6e, 0x65, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x73, 0x1a, 0xb6, 0x03, 0x0a, 0x19, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69,
+ 0x63, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76,
+ 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x46, 0x0a, 0x14, 0x73, 0x63,
+ 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x12,
+ 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x64, 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, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
+ 0x64, 0x12, 0x43, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61,
+ 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x61,
+ 0x69, 0x6c, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f,
+ 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e,
+ 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61,
+ 0x74, 0x75, 0x73, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75,
+ 0x73, 0x3a, 0x4b, 0x9a, 0xc5, 0x88, 0x1e, 0x46, 0x0a, 0x44, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
+ 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x63,
+ 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x63, 0x6f, 0x70,
+ 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x3a, 0x31,
+ 0x9a, 0xc5, 0x88, 0x1e, 0x2c, 0x0a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d,
+ 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65,
+ 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d,
+ 0x70, 0x22, 0xde, 0x05, 0x0a, 0x13, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x70, 0x0a, 0x17, 0x73, 0x74, 0x61,
+ 0x74, 0x69, 0x63, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76,
+ 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x6e, 0x64, 0x70,
+ 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e,
+ 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x52, 0x15, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70,
+ 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x73, 0x0a, 0x18, 0x64,
+ 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f,
+ 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e,
+ 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x45,
+ 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75,
+ 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69,
+ 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x16, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69,
+ 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73,
+ 0x1a, 0x94, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f,
+ 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x0f, 0x65, 0x6e, 0x64,
+ 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69,
+ 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74,
+ 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 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, 0x0b, 0x6c, 0x61, 0x73, 0x74,
+ 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x1a, 0xc8, 0x02, 0x0a, 0x15, 0x44, 0x79, 0x6e, 0x61,
+ 0x6d, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3d, 0x0a, 0x0f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
+ 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x41, 0x6e, 0x79, 0x52, 0x0e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61,
+ 0x74, 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, 0x54, 0x69, 0x6d, 0x65,
+ 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x64, 0x12, 0x43, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74,
+ 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
+ 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46,
+ 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x65, 0x72, 0x72,
+ 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24,
+ 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e,
+ 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74,
+ 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x22, 0x89, 0x04, 0x0a, 0x0e, 0x45, 0x63, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x52, 0x0a, 0x0c, 0x65, 0x63, 0x64, 0x73, 0x5f, 0x66, 0x69,
+ 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e,
+ 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x63, 0x64,
+ 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x45, 0x63, 0x64, 0x73,
+ 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x65, 0x63,
+ 0x64, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x1a, 0xf7, 0x02, 0x0a, 0x10, 0x45, 0x63,
+ 0x64, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21,
+ 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x35, 0x0a, 0x0b, 0x65, 0x63, 0x64, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0a, 0x65, 0x63,
+ 0x64, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74,
+ 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 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, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74,
+ 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x43, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72,
+ 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65,
+ 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65,
+ 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x0d,
+ 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69,
+ 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x3a, 0x9a, 0xc5, 0x88, 0x1e, 0x35, 0x0a, 0x33,
+ 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c,
+ 0x70, 0x68, 0x61, 0x2e, 0x45, 0x63, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75,
+ 0x6d, 0x70, 0x2e, 0x45, 0x63, 0x64, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x3a, 0x29, 0x9a, 0xc5, 0x88, 0x1e, 0x24, 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f,
+ 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e,
+ 0x45, 0x63, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2a, 0x5d,
+ 0x0a, 0x14, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57,
+ 0x4e, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44,
+ 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x4f, 0x45, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45,
+ 0x58, 0x49, 0x53, 0x54, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x43, 0x4b, 0x45, 0x44, 0x10,
+ 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x41, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x04, 0x42, 0x7e, 0x0a,
+ 0x1c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65,
+ 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x15, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x50,
+ 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f,
+ 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65,
+ 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x64,
+ 0x6d, 0x69, 0x6e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_envoy_admin_v3_config_dump_shared_proto_rawDescOnce sync.Once
+ file_envoy_admin_v3_config_dump_shared_proto_rawDescData = file_envoy_admin_v3_config_dump_shared_proto_rawDesc
+)
+
+func file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP() []byte {
+ file_envoy_admin_v3_config_dump_shared_proto_rawDescOnce.Do(func() {
+ file_envoy_admin_v3_config_dump_shared_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_admin_v3_config_dump_shared_proto_rawDescData)
+ })
+ return file_envoy_admin_v3_config_dump_shared_proto_rawDescData
+}
+
+var file_envoy_admin_v3_config_dump_shared_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_envoy_admin_v3_config_dump_shared_proto_msgTypes = make([]protoimpl.MessageInfo, 19)
+var file_envoy_admin_v3_config_dump_shared_proto_goTypes = []interface{}{
+ (ClientResourceStatus)(0), // 0: envoy.admin.v3.ClientResourceStatus
+ (*UpdateFailureState)(nil), // 1: envoy.admin.v3.UpdateFailureState
+ (*ListenersConfigDump)(nil), // 2: envoy.admin.v3.ListenersConfigDump
+ (*ClustersConfigDump)(nil), // 3: envoy.admin.v3.ClustersConfigDump
+ (*RoutesConfigDump)(nil), // 4: envoy.admin.v3.RoutesConfigDump
+ (*ScopedRoutesConfigDump)(nil), // 5: envoy.admin.v3.ScopedRoutesConfigDump
+ (*EndpointsConfigDump)(nil), // 6: envoy.admin.v3.EndpointsConfigDump
+ (*EcdsConfigDump)(nil), // 7: envoy.admin.v3.EcdsConfigDump
+ (*ListenersConfigDump_StaticListener)(nil), // 8: envoy.admin.v3.ListenersConfigDump.StaticListener
+ (*ListenersConfigDump_DynamicListenerState)(nil), // 9: envoy.admin.v3.ListenersConfigDump.DynamicListenerState
+ (*ListenersConfigDump_DynamicListener)(nil), // 10: envoy.admin.v3.ListenersConfigDump.DynamicListener
+ (*ClustersConfigDump_StaticCluster)(nil), // 11: envoy.admin.v3.ClustersConfigDump.StaticCluster
+ (*ClustersConfigDump_DynamicCluster)(nil), // 12: envoy.admin.v3.ClustersConfigDump.DynamicCluster
+ (*RoutesConfigDump_StaticRouteConfig)(nil), // 13: envoy.admin.v3.RoutesConfigDump.StaticRouteConfig
+ (*RoutesConfigDump_DynamicRouteConfig)(nil), // 14: envoy.admin.v3.RoutesConfigDump.DynamicRouteConfig
+ (*ScopedRoutesConfigDump_InlineScopedRouteConfigs)(nil), // 15: envoy.admin.v3.ScopedRoutesConfigDump.InlineScopedRouteConfigs
+ (*ScopedRoutesConfigDump_DynamicScopedRouteConfigs)(nil), // 16: envoy.admin.v3.ScopedRoutesConfigDump.DynamicScopedRouteConfigs
+ (*EndpointsConfigDump_StaticEndpointConfig)(nil), // 17: envoy.admin.v3.EndpointsConfigDump.StaticEndpointConfig
+ (*EndpointsConfigDump_DynamicEndpointConfig)(nil), // 18: envoy.admin.v3.EndpointsConfigDump.DynamicEndpointConfig
+ (*EcdsConfigDump_EcdsFilterConfig)(nil), // 19: envoy.admin.v3.EcdsConfigDump.EcdsFilterConfig
+ (*any1.Any)(nil), // 20: google.protobuf.Any
+ (*timestamp.Timestamp)(nil), // 21: google.protobuf.Timestamp
+}
+var file_envoy_admin_v3_config_dump_shared_proto_depIdxs = []int32{
+ 20, // 0: envoy.admin.v3.UpdateFailureState.failed_configuration:type_name -> google.protobuf.Any
+ 21, // 1: envoy.admin.v3.UpdateFailureState.last_update_attempt:type_name -> google.protobuf.Timestamp
+ 8, // 2: envoy.admin.v3.ListenersConfigDump.static_listeners:type_name -> envoy.admin.v3.ListenersConfigDump.StaticListener
+ 10, // 3: envoy.admin.v3.ListenersConfigDump.dynamic_listeners:type_name -> envoy.admin.v3.ListenersConfigDump.DynamicListener
+ 11, // 4: envoy.admin.v3.ClustersConfigDump.static_clusters:type_name -> envoy.admin.v3.ClustersConfigDump.StaticCluster
+ 12, // 5: envoy.admin.v3.ClustersConfigDump.dynamic_active_clusters:type_name -> envoy.admin.v3.ClustersConfigDump.DynamicCluster
+ 12, // 6: envoy.admin.v3.ClustersConfigDump.dynamic_warming_clusters:type_name -> envoy.admin.v3.ClustersConfigDump.DynamicCluster
+ 13, // 7: envoy.admin.v3.RoutesConfigDump.static_route_configs:type_name -> envoy.admin.v3.RoutesConfigDump.StaticRouteConfig
+ 14, // 8: envoy.admin.v3.RoutesConfigDump.dynamic_route_configs:type_name -> envoy.admin.v3.RoutesConfigDump.DynamicRouteConfig
+ 15, // 9: envoy.admin.v3.ScopedRoutesConfigDump.inline_scoped_route_configs:type_name -> envoy.admin.v3.ScopedRoutesConfigDump.InlineScopedRouteConfigs
+ 16, // 10: envoy.admin.v3.ScopedRoutesConfigDump.dynamic_scoped_route_configs:type_name -> envoy.admin.v3.ScopedRoutesConfigDump.DynamicScopedRouteConfigs
+ 17, // 11: envoy.admin.v3.EndpointsConfigDump.static_endpoint_configs:type_name -> envoy.admin.v3.EndpointsConfigDump.StaticEndpointConfig
+ 18, // 12: envoy.admin.v3.EndpointsConfigDump.dynamic_endpoint_configs:type_name -> envoy.admin.v3.EndpointsConfigDump.DynamicEndpointConfig
+ 19, // 13: envoy.admin.v3.EcdsConfigDump.ecds_filters:type_name -> envoy.admin.v3.EcdsConfigDump.EcdsFilterConfig
+ 20, // 14: envoy.admin.v3.ListenersConfigDump.StaticListener.listener:type_name -> google.protobuf.Any
+ 21, // 15: envoy.admin.v3.ListenersConfigDump.StaticListener.last_updated:type_name -> google.protobuf.Timestamp
+ 20, // 16: envoy.admin.v3.ListenersConfigDump.DynamicListenerState.listener:type_name -> google.protobuf.Any
+ 21, // 17: envoy.admin.v3.ListenersConfigDump.DynamicListenerState.last_updated:type_name -> google.protobuf.Timestamp
+ 9, // 18: envoy.admin.v3.ListenersConfigDump.DynamicListener.active_state:type_name -> envoy.admin.v3.ListenersConfigDump.DynamicListenerState
+ 9, // 19: envoy.admin.v3.ListenersConfigDump.DynamicListener.warming_state:type_name -> envoy.admin.v3.ListenersConfigDump.DynamicListenerState
+ 9, // 20: envoy.admin.v3.ListenersConfigDump.DynamicListener.draining_state:type_name -> envoy.admin.v3.ListenersConfigDump.DynamicListenerState
+ 1, // 21: envoy.admin.v3.ListenersConfigDump.DynamicListener.error_state:type_name -> envoy.admin.v3.UpdateFailureState
+ 0, // 22: envoy.admin.v3.ListenersConfigDump.DynamicListener.client_status:type_name -> envoy.admin.v3.ClientResourceStatus
+ 20, // 23: envoy.admin.v3.ClustersConfigDump.StaticCluster.cluster:type_name -> google.protobuf.Any
+ 21, // 24: envoy.admin.v3.ClustersConfigDump.StaticCluster.last_updated:type_name -> google.protobuf.Timestamp
+ 20, // 25: envoy.admin.v3.ClustersConfigDump.DynamicCluster.cluster:type_name -> google.protobuf.Any
+ 21, // 26: envoy.admin.v3.ClustersConfigDump.DynamicCluster.last_updated:type_name -> google.protobuf.Timestamp
+ 1, // 27: envoy.admin.v3.ClustersConfigDump.DynamicCluster.error_state:type_name -> envoy.admin.v3.UpdateFailureState
+ 0, // 28: envoy.admin.v3.ClustersConfigDump.DynamicCluster.client_status:type_name -> envoy.admin.v3.ClientResourceStatus
+ 20, // 29: envoy.admin.v3.RoutesConfigDump.StaticRouteConfig.route_config:type_name -> google.protobuf.Any
+ 21, // 30: envoy.admin.v3.RoutesConfigDump.StaticRouteConfig.last_updated:type_name -> google.protobuf.Timestamp
+ 20, // 31: envoy.admin.v3.RoutesConfigDump.DynamicRouteConfig.route_config:type_name -> google.protobuf.Any
+ 21, // 32: envoy.admin.v3.RoutesConfigDump.DynamicRouteConfig.last_updated:type_name -> google.protobuf.Timestamp
+ 1, // 33: envoy.admin.v3.RoutesConfigDump.DynamicRouteConfig.error_state:type_name -> envoy.admin.v3.UpdateFailureState
+ 0, // 34: envoy.admin.v3.RoutesConfigDump.DynamicRouteConfig.client_status:type_name -> envoy.admin.v3.ClientResourceStatus
+ 20, // 35: envoy.admin.v3.ScopedRoutesConfigDump.InlineScopedRouteConfigs.scoped_route_configs:type_name -> google.protobuf.Any
+ 21, // 36: envoy.admin.v3.ScopedRoutesConfigDump.InlineScopedRouteConfigs.last_updated:type_name -> google.protobuf.Timestamp
+ 20, // 37: envoy.admin.v3.ScopedRoutesConfigDump.DynamicScopedRouteConfigs.scoped_route_configs:type_name -> google.protobuf.Any
+ 21, // 38: envoy.admin.v3.ScopedRoutesConfigDump.DynamicScopedRouteConfigs.last_updated:type_name -> google.protobuf.Timestamp
+ 1, // 39: envoy.admin.v3.ScopedRoutesConfigDump.DynamicScopedRouteConfigs.error_state:type_name -> envoy.admin.v3.UpdateFailureState
+ 0, // 40: envoy.admin.v3.ScopedRoutesConfigDump.DynamicScopedRouteConfigs.client_status:type_name -> envoy.admin.v3.ClientResourceStatus
+ 20, // 41: envoy.admin.v3.EndpointsConfigDump.StaticEndpointConfig.endpoint_config:type_name -> google.protobuf.Any
+ 21, // 42: envoy.admin.v3.EndpointsConfigDump.StaticEndpointConfig.last_updated:type_name -> google.protobuf.Timestamp
+ 20, // 43: envoy.admin.v3.EndpointsConfigDump.DynamicEndpointConfig.endpoint_config:type_name -> google.protobuf.Any
+ 21, // 44: envoy.admin.v3.EndpointsConfigDump.DynamicEndpointConfig.last_updated:type_name -> google.protobuf.Timestamp
+ 1, // 45: envoy.admin.v3.EndpointsConfigDump.DynamicEndpointConfig.error_state:type_name -> envoy.admin.v3.UpdateFailureState
+ 0, // 46: envoy.admin.v3.EndpointsConfigDump.DynamicEndpointConfig.client_status:type_name -> envoy.admin.v3.ClientResourceStatus
+ 20, // 47: envoy.admin.v3.EcdsConfigDump.EcdsFilterConfig.ecds_filter:type_name -> google.protobuf.Any
+ 21, // 48: envoy.admin.v3.EcdsConfigDump.EcdsFilterConfig.last_updated:type_name -> google.protobuf.Timestamp
+ 1, // 49: envoy.admin.v3.EcdsConfigDump.EcdsFilterConfig.error_state:type_name -> envoy.admin.v3.UpdateFailureState
+ 0, // 50: envoy.admin.v3.EcdsConfigDump.EcdsFilterConfig.client_status:type_name -> envoy.admin.v3.ClientResourceStatus
+ 51, // [51:51] is the sub-list for method output_type
+ 51, // [51:51] is the sub-list for method input_type
+ 51, // [51:51] is the sub-list for extension type_name
+ 51, // [51:51] is the sub-list for extension extendee
+ 0, // [0:51] is the sub-list for field type_name
+}
+
+func init() { file_envoy_admin_v3_config_dump_shared_proto_init() }
+func file_envoy_admin_v3_config_dump_shared_proto_init() {
+ if File_envoy_admin_v3_config_dump_shared_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_envoy_admin_v3_config_dump_shared_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdateFailureState); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_envoy_admin_v3_config_dump_shared_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ListenersConfigDump); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_envoy_admin_v3_config_dump_shared_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClustersConfigDump); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_envoy_admin_v3_config_dump_shared_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RoutesConfigDump); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_envoy_admin_v3_config_dump_shared_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ScopedRoutesConfigDump); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_envoy_admin_v3_config_dump_shared_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EndpointsConfigDump); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_envoy_admin_v3_config_dump_shared_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EcdsConfigDump); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_envoy_admin_v3_config_dump_shared_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ListenersConfigDump_StaticListener); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_envoy_admin_v3_config_dump_shared_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ListenersConfigDump_DynamicListenerState); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_envoy_admin_v3_config_dump_shared_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ListenersConfigDump_DynamicListener); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_envoy_admin_v3_config_dump_shared_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClustersConfigDump_StaticCluster); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_envoy_admin_v3_config_dump_shared_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClustersConfigDump_DynamicCluster); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_envoy_admin_v3_config_dump_shared_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RoutesConfigDump_StaticRouteConfig); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_envoy_admin_v3_config_dump_shared_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RoutesConfigDump_DynamicRouteConfig); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_envoy_admin_v3_config_dump_shared_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ScopedRoutesConfigDump_InlineScopedRouteConfigs); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_envoy_admin_v3_config_dump_shared_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ScopedRoutesConfigDump_DynamicScopedRouteConfigs); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_envoy_admin_v3_config_dump_shared_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EndpointsConfigDump_StaticEndpointConfig); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_envoy_admin_v3_config_dump_shared_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EndpointsConfigDump_DynamicEndpointConfig); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_envoy_admin_v3_config_dump_shared_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EcdsConfigDump_EcdsFilterConfig); 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_envoy_admin_v3_config_dump_shared_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 19,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_envoy_admin_v3_config_dump_shared_proto_goTypes,
+ DependencyIndexes: file_envoy_admin_v3_config_dump_shared_proto_depIdxs,
+ EnumInfos: file_envoy_admin_v3_config_dump_shared_proto_enumTypes,
+ MessageInfos: file_envoy_admin_v3_config_dump_shared_proto_msgTypes,
+ }.Build()
+ File_envoy_admin_v3_config_dump_shared_proto = out.File
+ file_envoy_admin_v3_config_dump_shared_proto_rawDesc = nil
+ file_envoy_admin_v3_config_dump_shared_proto_goTypes = nil
+ file_envoy_admin_v3_config_dump_shared_proto_depIdxs = nil
+}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/config_dump_shared.pb.validate.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/config_dump_shared.pb.validate.go
new file mode 100644
index 0000000000..3a78136a98
--- /dev/null
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/config_dump_shared.pb.validate.go
@@ -0,0 +1,3434 @@
+// Code generated by protoc-gen-validate. DO NOT EDIT.
+// source: envoy/admin/v3/config_dump_shared.proto
+
+package adminv3
+
+import (
+ "bytes"
+ "errors"
+ "fmt"
+ "net"
+ "net/mail"
+ "net/url"
+ "regexp"
+ "sort"
+ "strings"
+ "time"
+ "unicode/utf8"
+
+ "google.golang.org/protobuf/types/known/anypb"
+)
+
+// ensure the imports are used
+var (
+ _ = bytes.MinRead
+ _ = errors.New("")
+ _ = fmt.Print
+ _ = utf8.UTFMax
+ _ = (*regexp.Regexp)(nil)
+ _ = (*strings.Reader)(nil)
+ _ = net.IPv4len
+ _ = time.Duration(0)
+ _ = (*url.URL)(nil)
+ _ = (*mail.Address)(nil)
+ _ = anypb.Any{}
+ _ = sort.Sort
+)
+
+// Validate checks the field values on UpdateFailureState with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the first error encountered is returned, or nil if there are no violations.
+func (m *UpdateFailureState) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on UpdateFailureState with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// UpdateFailureStateMultiError, or nil if none found.
+func (m *UpdateFailureState) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *UpdateFailureState) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ if all {
+ switch v := interface{}(m.GetFailedConfiguration()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, UpdateFailureStateValidationError{
+ field: "FailedConfiguration",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, UpdateFailureStateValidationError{
+ field: "FailedConfiguration",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetFailedConfiguration()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return UpdateFailureStateValidationError{
+ field: "FailedConfiguration",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if all {
+ switch v := interface{}(m.GetLastUpdateAttempt()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, UpdateFailureStateValidationError{
+ field: "LastUpdateAttempt",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, UpdateFailureStateValidationError{
+ field: "LastUpdateAttempt",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetLastUpdateAttempt()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return UpdateFailureStateValidationError{
+ field: "LastUpdateAttempt",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ // no validation rules for Details
+
+ // no validation rules for VersionInfo
+
+ if len(errors) > 0 {
+ return UpdateFailureStateMultiError(errors)
+ }
+
+ return nil
+}
+
+// UpdateFailureStateMultiError is an error wrapping multiple validation errors
+// returned by UpdateFailureState.ValidateAll() if the designated constraints
+// aren't met.
+type UpdateFailureStateMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m UpdateFailureStateMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m UpdateFailureStateMultiError) AllErrors() []error { return m }
+
+// UpdateFailureStateValidationError is the validation error returned by
+// UpdateFailureState.Validate if the designated constraints aren't met.
+type UpdateFailureStateValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e UpdateFailureStateValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e UpdateFailureStateValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e UpdateFailureStateValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e UpdateFailureStateValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e UpdateFailureStateValidationError) ErrorName() string {
+ return "UpdateFailureStateValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e UpdateFailureStateValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sUpdateFailureState.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = UpdateFailureStateValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = UpdateFailureStateValidationError{}
+
+// Validate checks the field values on ListenersConfigDump with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the first error encountered is returned, or nil if there are no violations.
+func (m *ListenersConfigDump) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on ListenersConfigDump with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// ListenersConfigDumpMultiError, or nil if none found.
+func (m *ListenersConfigDump) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *ListenersConfigDump) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ // no validation rules for VersionInfo
+
+ for idx, item := range m.GetStaticListeners() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ListenersConfigDumpValidationError{
+ field: fmt.Sprintf("StaticListeners[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ListenersConfigDumpValidationError{
+ field: fmt.Sprintf("StaticListeners[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ListenersConfigDumpValidationError{
+ field: fmt.Sprintf("StaticListeners[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ }
+
+ for idx, item := range m.GetDynamicListeners() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ListenersConfigDumpValidationError{
+ field: fmt.Sprintf("DynamicListeners[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ListenersConfigDumpValidationError{
+ field: fmt.Sprintf("DynamicListeners[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ListenersConfigDumpValidationError{
+ field: fmt.Sprintf("DynamicListeners[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ }
+
+ if len(errors) > 0 {
+ return ListenersConfigDumpMultiError(errors)
+ }
+
+ return nil
+}
+
+// ListenersConfigDumpMultiError is an error wrapping multiple validation
+// errors returned by ListenersConfigDump.ValidateAll() if the designated
+// constraints aren't met.
+type ListenersConfigDumpMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m ListenersConfigDumpMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m ListenersConfigDumpMultiError) AllErrors() []error { return m }
+
+// ListenersConfigDumpValidationError is the validation error returned by
+// ListenersConfigDump.Validate if the designated constraints aren't met.
+type ListenersConfigDumpValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e ListenersConfigDumpValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e ListenersConfigDumpValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e ListenersConfigDumpValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e ListenersConfigDumpValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e ListenersConfigDumpValidationError) ErrorName() string {
+ return "ListenersConfigDumpValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e ListenersConfigDumpValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sListenersConfigDump.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = ListenersConfigDumpValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = ListenersConfigDumpValidationError{}
+
+// Validate checks the field values on ClustersConfigDump with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the first error encountered is returned, or nil if there are no violations.
+func (m *ClustersConfigDump) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on ClustersConfigDump with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// ClustersConfigDumpMultiError, or nil if none found.
+func (m *ClustersConfigDump) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *ClustersConfigDump) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ // no validation rules for VersionInfo
+
+ for idx, item := range m.GetStaticClusters() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ClustersConfigDumpValidationError{
+ field: fmt.Sprintf("StaticClusters[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ClustersConfigDumpValidationError{
+ field: fmt.Sprintf("StaticClusters[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ClustersConfigDumpValidationError{
+ field: fmt.Sprintf("StaticClusters[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ }
+
+ for idx, item := range m.GetDynamicActiveClusters() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ClustersConfigDumpValidationError{
+ field: fmt.Sprintf("DynamicActiveClusters[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ClustersConfigDumpValidationError{
+ field: fmt.Sprintf("DynamicActiveClusters[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ClustersConfigDumpValidationError{
+ field: fmt.Sprintf("DynamicActiveClusters[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ }
+
+ for idx, item := range m.GetDynamicWarmingClusters() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ClustersConfigDumpValidationError{
+ field: fmt.Sprintf("DynamicWarmingClusters[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ClustersConfigDumpValidationError{
+ field: fmt.Sprintf("DynamicWarmingClusters[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ClustersConfigDumpValidationError{
+ field: fmt.Sprintf("DynamicWarmingClusters[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ }
+
+ if len(errors) > 0 {
+ return ClustersConfigDumpMultiError(errors)
+ }
+
+ return nil
+}
+
+// ClustersConfigDumpMultiError is an error wrapping multiple validation errors
+// returned by ClustersConfigDump.ValidateAll() if the designated constraints
+// aren't met.
+type ClustersConfigDumpMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m ClustersConfigDumpMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m ClustersConfigDumpMultiError) AllErrors() []error { return m }
+
+// ClustersConfigDumpValidationError is the validation error returned by
+// ClustersConfigDump.Validate if the designated constraints aren't met.
+type ClustersConfigDumpValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e ClustersConfigDumpValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e ClustersConfigDumpValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e ClustersConfigDumpValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e ClustersConfigDumpValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e ClustersConfigDumpValidationError) ErrorName() string {
+ return "ClustersConfigDumpValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e ClustersConfigDumpValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sClustersConfigDump.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = ClustersConfigDumpValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = ClustersConfigDumpValidationError{}
+
+// Validate checks the field values on RoutesConfigDump with the rules defined
+// in the proto definition for this message. If any rules are violated, the
+// first error encountered is returned, or nil if there are no violations.
+func (m *RoutesConfigDump) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on RoutesConfigDump with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// RoutesConfigDumpMultiError, or nil if none found.
+func (m *RoutesConfigDump) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *RoutesConfigDump) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ for idx, item := range m.GetStaticRouteConfigs() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, RoutesConfigDumpValidationError{
+ field: fmt.Sprintf("StaticRouteConfigs[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, RoutesConfigDumpValidationError{
+ field: fmt.Sprintf("StaticRouteConfigs[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return RoutesConfigDumpValidationError{
+ field: fmt.Sprintf("StaticRouteConfigs[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ }
+
+ for idx, item := range m.GetDynamicRouteConfigs() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, RoutesConfigDumpValidationError{
+ field: fmt.Sprintf("DynamicRouteConfigs[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, RoutesConfigDumpValidationError{
+ field: fmt.Sprintf("DynamicRouteConfigs[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return RoutesConfigDumpValidationError{
+ field: fmt.Sprintf("DynamicRouteConfigs[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ }
+
+ if len(errors) > 0 {
+ return RoutesConfigDumpMultiError(errors)
+ }
+
+ return nil
+}
+
+// RoutesConfigDumpMultiError is an error wrapping multiple validation errors
+// returned by RoutesConfigDump.ValidateAll() if the designated constraints
+// aren't met.
+type RoutesConfigDumpMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m RoutesConfigDumpMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m RoutesConfigDumpMultiError) AllErrors() []error { return m }
+
+// RoutesConfigDumpValidationError is the validation error returned by
+// RoutesConfigDump.Validate if the designated constraints aren't met.
+type RoutesConfigDumpValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e RoutesConfigDumpValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e RoutesConfigDumpValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e RoutesConfigDumpValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e RoutesConfigDumpValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e RoutesConfigDumpValidationError) ErrorName() string { return "RoutesConfigDumpValidationError" }
+
+// Error satisfies the builtin error interface
+func (e RoutesConfigDumpValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sRoutesConfigDump.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = RoutesConfigDumpValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = RoutesConfigDumpValidationError{}
+
+// Validate checks the field values on ScopedRoutesConfigDump with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the first error encountered is returned, or nil if there are no violations.
+func (m *ScopedRoutesConfigDump) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on ScopedRoutesConfigDump with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// ScopedRoutesConfigDumpMultiError, or nil if none found.
+func (m *ScopedRoutesConfigDump) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *ScopedRoutesConfigDump) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ for idx, item := range m.GetInlineScopedRouteConfigs() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ScopedRoutesConfigDumpValidationError{
+ field: fmt.Sprintf("InlineScopedRouteConfigs[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ScopedRoutesConfigDumpValidationError{
+ field: fmt.Sprintf("InlineScopedRouteConfigs[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ScopedRoutesConfigDumpValidationError{
+ field: fmt.Sprintf("InlineScopedRouteConfigs[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ }
+
+ for idx, item := range m.GetDynamicScopedRouteConfigs() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ScopedRoutesConfigDumpValidationError{
+ field: fmt.Sprintf("DynamicScopedRouteConfigs[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ScopedRoutesConfigDumpValidationError{
+ field: fmt.Sprintf("DynamicScopedRouteConfigs[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ScopedRoutesConfigDumpValidationError{
+ field: fmt.Sprintf("DynamicScopedRouteConfigs[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ }
+
+ if len(errors) > 0 {
+ return ScopedRoutesConfigDumpMultiError(errors)
+ }
+
+ return nil
+}
+
+// ScopedRoutesConfigDumpMultiError is an error wrapping multiple validation
+// errors returned by ScopedRoutesConfigDump.ValidateAll() if the designated
+// constraints aren't met.
+type ScopedRoutesConfigDumpMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m ScopedRoutesConfigDumpMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m ScopedRoutesConfigDumpMultiError) AllErrors() []error { return m }
+
+// ScopedRoutesConfigDumpValidationError is the validation error returned by
+// ScopedRoutesConfigDump.Validate if the designated constraints aren't met.
+type ScopedRoutesConfigDumpValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e ScopedRoutesConfigDumpValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e ScopedRoutesConfigDumpValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e ScopedRoutesConfigDumpValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e ScopedRoutesConfigDumpValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e ScopedRoutesConfigDumpValidationError) ErrorName() string {
+ return "ScopedRoutesConfigDumpValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e ScopedRoutesConfigDumpValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sScopedRoutesConfigDump.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = ScopedRoutesConfigDumpValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = ScopedRoutesConfigDumpValidationError{}
+
+// Validate checks the field values on EndpointsConfigDump with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the first error encountered is returned, or nil if there are no violations.
+func (m *EndpointsConfigDump) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on EndpointsConfigDump with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// EndpointsConfigDumpMultiError, or nil if none found.
+func (m *EndpointsConfigDump) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *EndpointsConfigDump) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ for idx, item := range m.GetStaticEndpointConfigs() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, EndpointsConfigDumpValidationError{
+ field: fmt.Sprintf("StaticEndpointConfigs[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, EndpointsConfigDumpValidationError{
+ field: fmt.Sprintf("StaticEndpointConfigs[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return EndpointsConfigDumpValidationError{
+ field: fmt.Sprintf("StaticEndpointConfigs[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ }
+
+ for idx, item := range m.GetDynamicEndpointConfigs() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, EndpointsConfigDumpValidationError{
+ field: fmt.Sprintf("DynamicEndpointConfigs[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, EndpointsConfigDumpValidationError{
+ field: fmt.Sprintf("DynamicEndpointConfigs[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return EndpointsConfigDumpValidationError{
+ field: fmt.Sprintf("DynamicEndpointConfigs[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ }
+
+ if len(errors) > 0 {
+ return EndpointsConfigDumpMultiError(errors)
+ }
+
+ return nil
+}
+
+// EndpointsConfigDumpMultiError is an error wrapping multiple validation
+// errors returned by EndpointsConfigDump.ValidateAll() if the designated
+// constraints aren't met.
+type EndpointsConfigDumpMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m EndpointsConfigDumpMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m EndpointsConfigDumpMultiError) AllErrors() []error { return m }
+
+// EndpointsConfigDumpValidationError is the validation error returned by
+// EndpointsConfigDump.Validate if the designated constraints aren't met.
+type EndpointsConfigDumpValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e EndpointsConfigDumpValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e EndpointsConfigDumpValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e EndpointsConfigDumpValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e EndpointsConfigDumpValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e EndpointsConfigDumpValidationError) ErrorName() string {
+ return "EndpointsConfigDumpValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e EndpointsConfigDumpValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sEndpointsConfigDump.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = EndpointsConfigDumpValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = EndpointsConfigDumpValidationError{}
+
+// Validate checks the field values on EcdsConfigDump with the rules defined in
+// the proto definition for this message. If any rules are violated, the first
+// error encountered is returned, or nil if there are no violations.
+func (m *EcdsConfigDump) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on EcdsConfigDump with the rules defined
+// in the proto definition for this message. If any rules are violated, the
+// result is a list of violation errors wrapped in EcdsConfigDumpMultiError,
+// or nil if none found.
+func (m *EcdsConfigDump) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *EcdsConfigDump) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ for idx, item := range m.GetEcdsFilters() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, EcdsConfigDumpValidationError{
+ field: fmt.Sprintf("EcdsFilters[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, EcdsConfigDumpValidationError{
+ field: fmt.Sprintf("EcdsFilters[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return EcdsConfigDumpValidationError{
+ field: fmt.Sprintf("EcdsFilters[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ }
+
+ if len(errors) > 0 {
+ return EcdsConfigDumpMultiError(errors)
+ }
+
+ return nil
+}
+
+// EcdsConfigDumpMultiError is an error wrapping multiple validation errors
+// returned by EcdsConfigDump.ValidateAll() if the designated constraints
+// aren't met.
+type EcdsConfigDumpMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m EcdsConfigDumpMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m EcdsConfigDumpMultiError) AllErrors() []error { return m }
+
+// EcdsConfigDumpValidationError is the validation error returned by
+// EcdsConfigDump.Validate if the designated constraints aren't met.
+type EcdsConfigDumpValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e EcdsConfigDumpValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e EcdsConfigDumpValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e EcdsConfigDumpValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e EcdsConfigDumpValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e EcdsConfigDumpValidationError) ErrorName() string { return "EcdsConfigDumpValidationError" }
+
+// Error satisfies the builtin error interface
+func (e EcdsConfigDumpValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sEcdsConfigDump.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = EcdsConfigDumpValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = EcdsConfigDumpValidationError{}
+
+// Validate checks the field values on ListenersConfigDump_StaticListener with
+// the rules defined in the proto definition for this message. If any rules
+// are violated, the first error encountered is returned, or nil if there are
+// no violations.
+func (m *ListenersConfigDump_StaticListener) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on ListenersConfigDump_StaticListener
+// with the rules defined in the proto definition for this message. If any
+// rules are violated, the result is a list of violation errors wrapped in
+// ListenersConfigDump_StaticListenerMultiError, or nil if none found.
+func (m *ListenersConfigDump_StaticListener) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *ListenersConfigDump_StaticListener) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ if all {
+ switch v := interface{}(m.GetListener()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ListenersConfigDump_StaticListenerValidationError{
+ field: "Listener",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ListenersConfigDump_StaticListenerValidationError{
+ field: "Listener",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetListener()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ListenersConfigDump_StaticListenerValidationError{
+ field: "Listener",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if all {
+ switch v := interface{}(m.GetLastUpdated()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ListenersConfigDump_StaticListenerValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ListenersConfigDump_StaticListenerValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ListenersConfigDump_StaticListenerValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if len(errors) > 0 {
+ return ListenersConfigDump_StaticListenerMultiError(errors)
+ }
+
+ return nil
+}
+
+// ListenersConfigDump_StaticListenerMultiError is an error wrapping multiple
+// validation errors returned by
+// ListenersConfigDump_StaticListener.ValidateAll() if the designated
+// constraints aren't met.
+type ListenersConfigDump_StaticListenerMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m ListenersConfigDump_StaticListenerMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m ListenersConfigDump_StaticListenerMultiError) AllErrors() []error { return m }
+
+// ListenersConfigDump_StaticListenerValidationError is the validation error
+// returned by ListenersConfigDump_StaticListener.Validate if the designated
+// constraints aren't met.
+type ListenersConfigDump_StaticListenerValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e ListenersConfigDump_StaticListenerValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e ListenersConfigDump_StaticListenerValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e ListenersConfigDump_StaticListenerValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e ListenersConfigDump_StaticListenerValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e ListenersConfigDump_StaticListenerValidationError) ErrorName() string {
+ return "ListenersConfigDump_StaticListenerValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e ListenersConfigDump_StaticListenerValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sListenersConfigDump_StaticListener.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = ListenersConfigDump_StaticListenerValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = ListenersConfigDump_StaticListenerValidationError{}
+
+// Validate checks the field values on ListenersConfigDump_DynamicListenerState
+// with the rules defined in the proto definition for this message. If any
+// rules are violated, the first error encountered is returned, or nil if
+// there are no violations.
+func (m *ListenersConfigDump_DynamicListenerState) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on
+// ListenersConfigDump_DynamicListenerState with the rules defined in the
+// proto definition for this message. If any rules are violated, the result is
+// a list of violation errors wrapped in
+// ListenersConfigDump_DynamicListenerStateMultiError, or nil if none found.
+func (m *ListenersConfigDump_DynamicListenerState) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *ListenersConfigDump_DynamicListenerState) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ // no validation rules for VersionInfo
+
+ if all {
+ switch v := interface{}(m.GetListener()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ListenersConfigDump_DynamicListenerStateValidationError{
+ field: "Listener",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ListenersConfigDump_DynamicListenerStateValidationError{
+ field: "Listener",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetListener()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ListenersConfigDump_DynamicListenerStateValidationError{
+ field: "Listener",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if all {
+ switch v := interface{}(m.GetLastUpdated()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ListenersConfigDump_DynamicListenerStateValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ListenersConfigDump_DynamicListenerStateValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ListenersConfigDump_DynamicListenerStateValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if len(errors) > 0 {
+ return ListenersConfigDump_DynamicListenerStateMultiError(errors)
+ }
+
+ return nil
+}
+
+// ListenersConfigDump_DynamicListenerStateMultiError is an error wrapping
+// multiple validation errors returned by
+// ListenersConfigDump_DynamicListenerState.ValidateAll() if the designated
+// constraints aren't met.
+type ListenersConfigDump_DynamicListenerStateMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m ListenersConfigDump_DynamicListenerStateMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m ListenersConfigDump_DynamicListenerStateMultiError) AllErrors() []error { return m }
+
+// ListenersConfigDump_DynamicListenerStateValidationError is the validation
+// error returned by ListenersConfigDump_DynamicListenerState.Validate if the
+// designated constraints aren't met.
+type ListenersConfigDump_DynamicListenerStateValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e ListenersConfigDump_DynamicListenerStateValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e ListenersConfigDump_DynamicListenerStateValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e ListenersConfigDump_DynamicListenerStateValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e ListenersConfigDump_DynamicListenerStateValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e ListenersConfigDump_DynamicListenerStateValidationError) ErrorName() string {
+ return "ListenersConfigDump_DynamicListenerStateValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e ListenersConfigDump_DynamicListenerStateValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sListenersConfigDump_DynamicListenerState.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = ListenersConfigDump_DynamicListenerStateValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = ListenersConfigDump_DynamicListenerStateValidationError{}
+
+// Validate checks the field values on ListenersConfigDump_DynamicListener with
+// the rules defined in the proto definition for this message. If any rules
+// are violated, the first error encountered is returned, or nil if there are
+// no violations.
+func (m *ListenersConfigDump_DynamicListener) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on ListenersConfigDump_DynamicListener
+// with the rules defined in the proto definition for this message. If any
+// rules are violated, the result is a list of violation errors wrapped in
+// ListenersConfigDump_DynamicListenerMultiError, or nil if none found.
+func (m *ListenersConfigDump_DynamicListener) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *ListenersConfigDump_DynamicListener) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ // no validation rules for Name
+
+ if all {
+ switch v := interface{}(m.GetActiveState()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{
+ field: "ActiveState",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{
+ field: "ActiveState",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetActiveState()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ListenersConfigDump_DynamicListenerValidationError{
+ field: "ActiveState",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if all {
+ switch v := interface{}(m.GetWarmingState()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{
+ field: "WarmingState",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{
+ field: "WarmingState",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetWarmingState()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ListenersConfigDump_DynamicListenerValidationError{
+ field: "WarmingState",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if all {
+ switch v := interface{}(m.GetDrainingState()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{
+ field: "DrainingState",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{
+ field: "DrainingState",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetDrainingState()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ListenersConfigDump_DynamicListenerValidationError{
+ field: "DrainingState",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if all {
+ switch v := interface{}(m.GetErrorState()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{
+ field: "ErrorState",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{
+ field: "ErrorState",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetErrorState()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ListenersConfigDump_DynamicListenerValidationError{
+ field: "ErrorState",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ // no validation rules for ClientStatus
+
+ if len(errors) > 0 {
+ return ListenersConfigDump_DynamicListenerMultiError(errors)
+ }
+
+ return nil
+}
+
+// ListenersConfigDump_DynamicListenerMultiError is an error wrapping multiple
+// validation errors returned by
+// ListenersConfigDump_DynamicListener.ValidateAll() if the designated
+// constraints aren't met.
+type ListenersConfigDump_DynamicListenerMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m ListenersConfigDump_DynamicListenerMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m ListenersConfigDump_DynamicListenerMultiError) AllErrors() []error { return m }
+
+// ListenersConfigDump_DynamicListenerValidationError is the validation error
+// returned by ListenersConfigDump_DynamicListener.Validate if the designated
+// constraints aren't met.
+type ListenersConfigDump_DynamicListenerValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e ListenersConfigDump_DynamicListenerValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e ListenersConfigDump_DynamicListenerValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e ListenersConfigDump_DynamicListenerValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e ListenersConfigDump_DynamicListenerValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e ListenersConfigDump_DynamicListenerValidationError) ErrorName() string {
+ return "ListenersConfigDump_DynamicListenerValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e ListenersConfigDump_DynamicListenerValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sListenersConfigDump_DynamicListener.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = ListenersConfigDump_DynamicListenerValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = ListenersConfigDump_DynamicListenerValidationError{}
+
+// Validate checks the field values on ClustersConfigDump_StaticCluster with
+// the rules defined in the proto definition for this message. If any rules
+// are violated, the first error encountered is returned, or nil if there are
+// no violations.
+func (m *ClustersConfigDump_StaticCluster) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on ClustersConfigDump_StaticCluster with
+// the rules defined in the proto definition for this message. If any rules
+// are violated, the result is a list of violation errors wrapped in
+// ClustersConfigDump_StaticClusterMultiError, or nil if none found.
+func (m *ClustersConfigDump_StaticCluster) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *ClustersConfigDump_StaticCluster) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ if all {
+ switch v := interface{}(m.GetCluster()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ClustersConfigDump_StaticClusterValidationError{
+ field: "Cluster",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ClustersConfigDump_StaticClusterValidationError{
+ field: "Cluster",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetCluster()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ClustersConfigDump_StaticClusterValidationError{
+ field: "Cluster",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if all {
+ switch v := interface{}(m.GetLastUpdated()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ClustersConfigDump_StaticClusterValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ClustersConfigDump_StaticClusterValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ClustersConfigDump_StaticClusterValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if len(errors) > 0 {
+ return ClustersConfigDump_StaticClusterMultiError(errors)
+ }
+
+ return nil
+}
+
+// ClustersConfigDump_StaticClusterMultiError is an error wrapping multiple
+// validation errors returned by
+// ClustersConfigDump_StaticCluster.ValidateAll() if the designated
+// constraints aren't met.
+type ClustersConfigDump_StaticClusterMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m ClustersConfigDump_StaticClusterMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m ClustersConfigDump_StaticClusterMultiError) AllErrors() []error { return m }
+
+// ClustersConfigDump_StaticClusterValidationError is the validation error
+// returned by ClustersConfigDump_StaticCluster.Validate if the designated
+// constraints aren't met.
+type ClustersConfigDump_StaticClusterValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e ClustersConfigDump_StaticClusterValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e ClustersConfigDump_StaticClusterValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e ClustersConfigDump_StaticClusterValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e ClustersConfigDump_StaticClusterValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e ClustersConfigDump_StaticClusterValidationError) ErrorName() string {
+ return "ClustersConfigDump_StaticClusterValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e ClustersConfigDump_StaticClusterValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sClustersConfigDump_StaticCluster.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = ClustersConfigDump_StaticClusterValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = ClustersConfigDump_StaticClusterValidationError{}
+
+// Validate checks the field values on ClustersConfigDump_DynamicCluster with
+// the rules defined in the proto definition for this message. If any rules
+// are violated, the first error encountered is returned, or nil if there are
+// no violations.
+func (m *ClustersConfigDump_DynamicCluster) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on ClustersConfigDump_DynamicCluster
+// with the rules defined in the proto definition for this message. If any
+// rules are violated, the result is a list of violation errors wrapped in
+// ClustersConfigDump_DynamicClusterMultiError, or nil if none found.
+func (m *ClustersConfigDump_DynamicCluster) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *ClustersConfigDump_DynamicCluster) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ // no validation rules for VersionInfo
+
+ if all {
+ switch v := interface{}(m.GetCluster()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ClustersConfigDump_DynamicClusterValidationError{
+ field: "Cluster",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ClustersConfigDump_DynamicClusterValidationError{
+ field: "Cluster",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetCluster()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ClustersConfigDump_DynamicClusterValidationError{
+ field: "Cluster",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if all {
+ switch v := interface{}(m.GetLastUpdated()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ClustersConfigDump_DynamicClusterValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ClustersConfigDump_DynamicClusterValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ClustersConfigDump_DynamicClusterValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if all {
+ switch v := interface{}(m.GetErrorState()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ClustersConfigDump_DynamicClusterValidationError{
+ field: "ErrorState",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ClustersConfigDump_DynamicClusterValidationError{
+ field: "ErrorState",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetErrorState()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ClustersConfigDump_DynamicClusterValidationError{
+ field: "ErrorState",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ // no validation rules for ClientStatus
+
+ if len(errors) > 0 {
+ return ClustersConfigDump_DynamicClusterMultiError(errors)
+ }
+
+ return nil
+}
+
+// ClustersConfigDump_DynamicClusterMultiError is an error wrapping multiple
+// validation errors returned by
+// ClustersConfigDump_DynamicCluster.ValidateAll() if the designated
+// constraints aren't met.
+type ClustersConfigDump_DynamicClusterMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m ClustersConfigDump_DynamicClusterMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m ClustersConfigDump_DynamicClusterMultiError) AllErrors() []error { return m }
+
+// ClustersConfigDump_DynamicClusterValidationError is the validation error
+// returned by ClustersConfigDump_DynamicCluster.Validate if the designated
+// constraints aren't met.
+type ClustersConfigDump_DynamicClusterValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e ClustersConfigDump_DynamicClusterValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e ClustersConfigDump_DynamicClusterValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e ClustersConfigDump_DynamicClusterValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e ClustersConfigDump_DynamicClusterValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e ClustersConfigDump_DynamicClusterValidationError) ErrorName() string {
+ return "ClustersConfigDump_DynamicClusterValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e ClustersConfigDump_DynamicClusterValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sClustersConfigDump_DynamicCluster.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = ClustersConfigDump_DynamicClusterValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = ClustersConfigDump_DynamicClusterValidationError{}
+
+// Validate checks the field values on RoutesConfigDump_StaticRouteConfig with
+// the rules defined in the proto definition for this message. If any rules
+// are violated, the first error encountered is returned, or nil if there are
+// no violations.
+func (m *RoutesConfigDump_StaticRouteConfig) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on RoutesConfigDump_StaticRouteConfig
+// with the rules defined in the proto definition for this message. If any
+// rules are violated, the result is a list of violation errors wrapped in
+// RoutesConfigDump_StaticRouteConfigMultiError, or nil if none found.
+func (m *RoutesConfigDump_StaticRouteConfig) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *RoutesConfigDump_StaticRouteConfig) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ if all {
+ switch v := interface{}(m.GetRouteConfig()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, RoutesConfigDump_StaticRouteConfigValidationError{
+ field: "RouteConfig",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, RoutesConfigDump_StaticRouteConfigValidationError{
+ field: "RouteConfig",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetRouteConfig()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return RoutesConfigDump_StaticRouteConfigValidationError{
+ field: "RouteConfig",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if all {
+ switch v := interface{}(m.GetLastUpdated()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, RoutesConfigDump_StaticRouteConfigValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, RoutesConfigDump_StaticRouteConfigValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return RoutesConfigDump_StaticRouteConfigValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if len(errors) > 0 {
+ return RoutesConfigDump_StaticRouteConfigMultiError(errors)
+ }
+
+ return nil
+}
+
+// RoutesConfigDump_StaticRouteConfigMultiError is an error wrapping multiple
+// validation errors returned by
+// RoutesConfigDump_StaticRouteConfig.ValidateAll() if the designated
+// constraints aren't met.
+type RoutesConfigDump_StaticRouteConfigMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m RoutesConfigDump_StaticRouteConfigMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m RoutesConfigDump_StaticRouteConfigMultiError) AllErrors() []error { return m }
+
+// RoutesConfigDump_StaticRouteConfigValidationError is the validation error
+// returned by RoutesConfigDump_StaticRouteConfig.Validate if the designated
+// constraints aren't met.
+type RoutesConfigDump_StaticRouteConfigValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e RoutesConfigDump_StaticRouteConfigValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e RoutesConfigDump_StaticRouteConfigValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e RoutesConfigDump_StaticRouteConfigValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e RoutesConfigDump_StaticRouteConfigValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e RoutesConfigDump_StaticRouteConfigValidationError) ErrorName() string {
+ return "RoutesConfigDump_StaticRouteConfigValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e RoutesConfigDump_StaticRouteConfigValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sRoutesConfigDump_StaticRouteConfig.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = RoutesConfigDump_StaticRouteConfigValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = RoutesConfigDump_StaticRouteConfigValidationError{}
+
+// Validate checks the field values on RoutesConfigDump_DynamicRouteConfig with
+// the rules defined in the proto definition for this message. If any rules
+// are violated, the first error encountered is returned, or nil if there are
+// no violations.
+func (m *RoutesConfigDump_DynamicRouteConfig) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on RoutesConfigDump_DynamicRouteConfig
+// with the rules defined in the proto definition for this message. If any
+// rules are violated, the result is a list of violation errors wrapped in
+// RoutesConfigDump_DynamicRouteConfigMultiError, or nil if none found.
+func (m *RoutesConfigDump_DynamicRouteConfig) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *RoutesConfigDump_DynamicRouteConfig) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ // no validation rules for VersionInfo
+
+ if all {
+ switch v := interface{}(m.GetRouteConfig()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, RoutesConfigDump_DynamicRouteConfigValidationError{
+ field: "RouteConfig",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, RoutesConfigDump_DynamicRouteConfigValidationError{
+ field: "RouteConfig",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetRouteConfig()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return RoutesConfigDump_DynamicRouteConfigValidationError{
+ field: "RouteConfig",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if all {
+ switch v := interface{}(m.GetLastUpdated()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, RoutesConfigDump_DynamicRouteConfigValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, RoutesConfigDump_DynamicRouteConfigValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return RoutesConfigDump_DynamicRouteConfigValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if all {
+ switch v := interface{}(m.GetErrorState()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, RoutesConfigDump_DynamicRouteConfigValidationError{
+ field: "ErrorState",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, RoutesConfigDump_DynamicRouteConfigValidationError{
+ field: "ErrorState",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetErrorState()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return RoutesConfigDump_DynamicRouteConfigValidationError{
+ field: "ErrorState",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ // no validation rules for ClientStatus
+
+ if len(errors) > 0 {
+ return RoutesConfigDump_DynamicRouteConfigMultiError(errors)
+ }
+
+ return nil
+}
+
+// RoutesConfigDump_DynamicRouteConfigMultiError is an error wrapping multiple
+// validation errors returned by
+// RoutesConfigDump_DynamicRouteConfig.ValidateAll() if the designated
+// constraints aren't met.
+type RoutesConfigDump_DynamicRouteConfigMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m RoutesConfigDump_DynamicRouteConfigMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m RoutesConfigDump_DynamicRouteConfigMultiError) AllErrors() []error { return m }
+
+// RoutesConfigDump_DynamicRouteConfigValidationError is the validation error
+// returned by RoutesConfigDump_DynamicRouteConfig.Validate if the designated
+// constraints aren't met.
+type RoutesConfigDump_DynamicRouteConfigValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e RoutesConfigDump_DynamicRouteConfigValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e RoutesConfigDump_DynamicRouteConfigValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e RoutesConfigDump_DynamicRouteConfigValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e RoutesConfigDump_DynamicRouteConfigValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e RoutesConfigDump_DynamicRouteConfigValidationError) ErrorName() string {
+ return "RoutesConfigDump_DynamicRouteConfigValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e RoutesConfigDump_DynamicRouteConfigValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sRoutesConfigDump_DynamicRouteConfig.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = RoutesConfigDump_DynamicRouteConfigValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = RoutesConfigDump_DynamicRouteConfigValidationError{}
+
+// Validate checks the field values on
+// ScopedRoutesConfigDump_InlineScopedRouteConfigs with the rules defined in
+// the proto definition for this message. If any rules are violated, the first
+// error encountered is returned, or nil if there are no violations.
+func (m *ScopedRoutesConfigDump_InlineScopedRouteConfigs) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on
+// ScopedRoutesConfigDump_InlineScopedRouteConfigs with the rules defined in
+// the proto definition for this message. If any rules are violated, the
+// result is a list of violation errors wrapped in
+// ScopedRoutesConfigDump_InlineScopedRouteConfigsMultiError, or nil if none found.
+func (m *ScopedRoutesConfigDump_InlineScopedRouteConfigs) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *ScopedRoutesConfigDump_InlineScopedRouteConfigs) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ // no validation rules for Name
+
+ for idx, item := range m.GetScopedRouteConfigs() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{
+ field: fmt.Sprintf("ScopedRouteConfigs[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{
+ field: fmt.Sprintf("ScopedRouteConfigs[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{
+ field: fmt.Sprintf("ScopedRouteConfigs[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ }
+
+ if all {
+ switch v := interface{}(m.GetLastUpdated()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if len(errors) > 0 {
+ return ScopedRoutesConfigDump_InlineScopedRouteConfigsMultiError(errors)
+ }
+
+ return nil
+}
+
+// ScopedRoutesConfigDump_InlineScopedRouteConfigsMultiError is an error
+// wrapping multiple validation errors returned by
+// ScopedRoutesConfigDump_InlineScopedRouteConfigs.ValidateAll() if the
+// designated constraints aren't met.
+type ScopedRoutesConfigDump_InlineScopedRouteConfigsMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m ScopedRoutesConfigDump_InlineScopedRouteConfigsMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m ScopedRoutesConfigDump_InlineScopedRouteConfigsMultiError) AllErrors() []error { return m }
+
+// ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError is the
+// validation error returned by
+// ScopedRoutesConfigDump_InlineScopedRouteConfigs.Validate if the designated
+// constraints aren't met.
+type ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError) Field() string {
+ return e.field
+}
+
+// Reason function returns reason value.
+func (e ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError) Reason() string {
+ return e.reason
+}
+
+// Cause function returns cause value.
+func (e ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError) ErrorName() string {
+ return "ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sScopedRoutesConfigDump_InlineScopedRouteConfigs.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{}
+
+// Validate checks the field values on
+// ScopedRoutesConfigDump_DynamicScopedRouteConfigs with the rules defined in
+// the proto definition for this message. If any rules are violated, the first
+// error encountered is returned, or nil if there are no violations.
+func (m *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on
+// ScopedRoutesConfigDump_DynamicScopedRouteConfigs with the rules defined in
+// the proto definition for this message. If any rules are violated, the
+// result is a list of violation errors wrapped in
+// ScopedRoutesConfigDump_DynamicScopedRouteConfigsMultiError, or nil if none found.
+func (m *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ // no validation rules for Name
+
+ // no validation rules for VersionInfo
+
+ for idx, item := range m.GetScopedRouteConfigs() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{
+ field: fmt.Sprintf("ScopedRouteConfigs[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{
+ field: fmt.Sprintf("ScopedRouteConfigs[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{
+ field: fmt.Sprintf("ScopedRouteConfigs[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ }
+
+ if all {
+ switch v := interface{}(m.GetLastUpdated()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if all {
+ switch v := interface{}(m.GetErrorState()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{
+ field: "ErrorState",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{
+ field: "ErrorState",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetErrorState()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{
+ field: "ErrorState",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ // no validation rules for ClientStatus
+
+ if len(errors) > 0 {
+ return ScopedRoutesConfigDump_DynamicScopedRouteConfigsMultiError(errors)
+ }
+
+ return nil
+}
+
+// ScopedRoutesConfigDump_DynamicScopedRouteConfigsMultiError is an error
+// wrapping multiple validation errors returned by
+// ScopedRoutesConfigDump_DynamicScopedRouteConfigs.ValidateAll() if the
+// designated constraints aren't met.
+type ScopedRoutesConfigDump_DynamicScopedRouteConfigsMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m ScopedRoutesConfigDump_DynamicScopedRouteConfigsMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m ScopedRoutesConfigDump_DynamicScopedRouteConfigsMultiError) AllErrors() []error { return m }
+
+// ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError is the
+// validation error returned by
+// ScopedRoutesConfigDump_DynamicScopedRouteConfigs.Validate if the designated
+// constraints aren't met.
+type ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError) Field() string {
+ return e.field
+}
+
+// Reason function returns reason value.
+func (e ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError) Reason() string {
+ return e.reason
+}
+
+// Cause function returns cause value.
+func (e ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError) Cause() error {
+ return e.cause
+}
+
+// Key function returns key value.
+func (e ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError) ErrorName() string {
+ return "ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sScopedRoutesConfigDump_DynamicScopedRouteConfigs.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{}
+
+// Validate checks the field values on EndpointsConfigDump_StaticEndpointConfig
+// with the rules defined in the proto definition for this message. If any
+// rules are violated, the first error encountered is returned, or nil if
+// there are no violations.
+func (m *EndpointsConfigDump_StaticEndpointConfig) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on
+// EndpointsConfigDump_StaticEndpointConfig with the rules defined in the
+// proto definition for this message. If any rules are violated, the result is
+// a list of violation errors wrapped in
+// EndpointsConfigDump_StaticEndpointConfigMultiError, or nil if none found.
+func (m *EndpointsConfigDump_StaticEndpointConfig) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *EndpointsConfigDump_StaticEndpointConfig) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ if all {
+ switch v := interface{}(m.GetEndpointConfig()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, EndpointsConfigDump_StaticEndpointConfigValidationError{
+ field: "EndpointConfig",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, EndpointsConfigDump_StaticEndpointConfigValidationError{
+ field: "EndpointConfig",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetEndpointConfig()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return EndpointsConfigDump_StaticEndpointConfigValidationError{
+ field: "EndpointConfig",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if all {
+ switch v := interface{}(m.GetLastUpdated()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, EndpointsConfigDump_StaticEndpointConfigValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, EndpointsConfigDump_StaticEndpointConfigValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return EndpointsConfigDump_StaticEndpointConfigValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if len(errors) > 0 {
+ return EndpointsConfigDump_StaticEndpointConfigMultiError(errors)
+ }
+
+ return nil
+}
+
+// EndpointsConfigDump_StaticEndpointConfigMultiError is an error wrapping
+// multiple validation errors returned by
+// EndpointsConfigDump_StaticEndpointConfig.ValidateAll() if the designated
+// constraints aren't met.
+type EndpointsConfigDump_StaticEndpointConfigMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m EndpointsConfigDump_StaticEndpointConfigMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m EndpointsConfigDump_StaticEndpointConfigMultiError) AllErrors() []error { return m }
+
+// EndpointsConfigDump_StaticEndpointConfigValidationError is the validation
+// error returned by EndpointsConfigDump_StaticEndpointConfig.Validate if the
+// designated constraints aren't met.
+type EndpointsConfigDump_StaticEndpointConfigValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e EndpointsConfigDump_StaticEndpointConfigValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e EndpointsConfigDump_StaticEndpointConfigValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e EndpointsConfigDump_StaticEndpointConfigValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e EndpointsConfigDump_StaticEndpointConfigValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e EndpointsConfigDump_StaticEndpointConfigValidationError) ErrorName() string {
+ return "EndpointsConfigDump_StaticEndpointConfigValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e EndpointsConfigDump_StaticEndpointConfigValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sEndpointsConfigDump_StaticEndpointConfig.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = EndpointsConfigDump_StaticEndpointConfigValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = EndpointsConfigDump_StaticEndpointConfigValidationError{}
+
+// Validate checks the field values on
+// EndpointsConfigDump_DynamicEndpointConfig with the rules defined in the
+// proto definition for this message. If any rules are violated, the first
+// error encountered is returned, or nil if there are no violations.
+func (m *EndpointsConfigDump_DynamicEndpointConfig) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on
+// EndpointsConfigDump_DynamicEndpointConfig with the rules defined in the
+// proto definition for this message. If any rules are violated, the result is
+// a list of violation errors wrapped in
+// EndpointsConfigDump_DynamicEndpointConfigMultiError, or nil if none found.
+func (m *EndpointsConfigDump_DynamicEndpointConfig) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *EndpointsConfigDump_DynamicEndpointConfig) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ // no validation rules for VersionInfo
+
+ if all {
+ switch v := interface{}(m.GetEndpointConfig()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, EndpointsConfigDump_DynamicEndpointConfigValidationError{
+ field: "EndpointConfig",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, EndpointsConfigDump_DynamicEndpointConfigValidationError{
+ field: "EndpointConfig",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetEndpointConfig()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return EndpointsConfigDump_DynamicEndpointConfigValidationError{
+ field: "EndpointConfig",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if all {
+ switch v := interface{}(m.GetLastUpdated()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, EndpointsConfigDump_DynamicEndpointConfigValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, EndpointsConfigDump_DynamicEndpointConfigValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return EndpointsConfigDump_DynamicEndpointConfigValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if all {
+ switch v := interface{}(m.GetErrorState()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, EndpointsConfigDump_DynamicEndpointConfigValidationError{
+ field: "ErrorState",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, EndpointsConfigDump_DynamicEndpointConfigValidationError{
+ field: "ErrorState",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetErrorState()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return EndpointsConfigDump_DynamicEndpointConfigValidationError{
+ field: "ErrorState",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ // no validation rules for ClientStatus
+
+ if len(errors) > 0 {
+ return EndpointsConfigDump_DynamicEndpointConfigMultiError(errors)
+ }
+
+ return nil
+}
+
+// EndpointsConfigDump_DynamicEndpointConfigMultiError is an error wrapping
+// multiple validation errors returned by
+// EndpointsConfigDump_DynamicEndpointConfig.ValidateAll() if the designated
+// constraints aren't met.
+type EndpointsConfigDump_DynamicEndpointConfigMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m EndpointsConfigDump_DynamicEndpointConfigMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m EndpointsConfigDump_DynamicEndpointConfigMultiError) AllErrors() []error { return m }
+
+// EndpointsConfigDump_DynamicEndpointConfigValidationError is the validation
+// error returned by EndpointsConfigDump_DynamicEndpointConfig.Validate if the
+// designated constraints aren't met.
+type EndpointsConfigDump_DynamicEndpointConfigValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e EndpointsConfigDump_DynamicEndpointConfigValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e EndpointsConfigDump_DynamicEndpointConfigValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e EndpointsConfigDump_DynamicEndpointConfigValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e EndpointsConfigDump_DynamicEndpointConfigValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e EndpointsConfigDump_DynamicEndpointConfigValidationError) ErrorName() string {
+ return "EndpointsConfigDump_DynamicEndpointConfigValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e EndpointsConfigDump_DynamicEndpointConfigValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sEndpointsConfigDump_DynamicEndpointConfig.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = EndpointsConfigDump_DynamicEndpointConfigValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = EndpointsConfigDump_DynamicEndpointConfigValidationError{}
+
+// Validate checks the field values on EcdsConfigDump_EcdsFilterConfig with the
+// rules defined in the proto definition for this message. If any rules are
+// violated, the first error encountered is returned, or nil if there are no violations.
+func (m *EcdsConfigDump_EcdsFilterConfig) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on EcdsConfigDump_EcdsFilterConfig with
+// the rules defined in the proto definition for this message. If any rules
+// are violated, the result is a list of violation errors wrapped in
+// EcdsConfigDump_EcdsFilterConfigMultiError, or nil if none found.
+func (m *EcdsConfigDump_EcdsFilterConfig) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *EcdsConfigDump_EcdsFilterConfig) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ // no validation rules for VersionInfo
+
+ if all {
+ switch v := interface{}(m.GetEcdsFilter()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, EcdsConfigDump_EcdsFilterConfigValidationError{
+ field: "EcdsFilter",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, EcdsConfigDump_EcdsFilterConfigValidationError{
+ field: "EcdsFilter",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetEcdsFilter()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return EcdsConfigDump_EcdsFilterConfigValidationError{
+ field: "EcdsFilter",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if all {
+ switch v := interface{}(m.GetLastUpdated()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, EcdsConfigDump_EcdsFilterConfigValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, EcdsConfigDump_EcdsFilterConfigValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return EcdsConfigDump_EcdsFilterConfigValidationError{
+ field: "LastUpdated",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if all {
+ switch v := interface{}(m.GetErrorState()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, EcdsConfigDump_EcdsFilterConfigValidationError{
+ field: "ErrorState",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, EcdsConfigDump_EcdsFilterConfigValidationError{
+ field: "ErrorState",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetErrorState()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return EcdsConfigDump_EcdsFilterConfigValidationError{
+ field: "ErrorState",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ // no validation rules for ClientStatus
+
+ if len(errors) > 0 {
+ return EcdsConfigDump_EcdsFilterConfigMultiError(errors)
+ }
+
+ return nil
+}
+
+// EcdsConfigDump_EcdsFilterConfigMultiError is an error wrapping multiple
+// validation errors returned by EcdsConfigDump_EcdsFilterConfig.ValidateAll()
+// if the designated constraints aren't met.
+type EcdsConfigDump_EcdsFilterConfigMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m EcdsConfigDump_EcdsFilterConfigMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m EcdsConfigDump_EcdsFilterConfigMultiError) AllErrors() []error { return m }
+
+// EcdsConfigDump_EcdsFilterConfigValidationError is the validation error
+// returned by EcdsConfigDump_EcdsFilterConfig.Validate if the designated
+// constraints aren't met.
+type EcdsConfigDump_EcdsFilterConfigValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e EcdsConfigDump_EcdsFilterConfigValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e EcdsConfigDump_EcdsFilterConfigValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e EcdsConfigDump_EcdsFilterConfigValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e EcdsConfigDump_EcdsFilterConfigValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e EcdsConfigDump_EcdsFilterConfigValidationError) ErrorName() string {
+ return "EcdsConfigDump_EcdsFilterConfigValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e EcdsConfigDump_EcdsFilterConfigValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sEcdsConfigDump_EcdsFilterConfig.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = EcdsConfigDump_EcdsFilterConfigValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = EcdsConfigDump_EcdsFilterConfigValidationError{}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/init_dump.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/init_dump.pb.go
index 5b81a0a561..e91e784b4e 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/init_dump.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/init_dump.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/admin/v3/init_dump.proto
package adminv3
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/listeners.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/listeners.pb.go
index 5a4e8813c8..1718165ddb 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/listeners.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/listeners.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/admin/v3/listeners.proto
package adminv3
@@ -22,7 +22,7 @@ const (
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
-// Admin endpoint uses this wrapper for `/listeners` to display listener status information.
+// Admin endpoint uses this wrapper for ``/listeners`` to display listener status information.
// See :ref:`/listeners ` for more information.
type Listeners struct {
state protoimpl.MessageState
@@ -85,7 +85,6 @@ type ListenerStatus struct {
LocalAddress *v3.Address `protobuf:"bytes,2,opt,name=local_address,json=localAddress,proto3" json:"local_address,omitempty"`
// The additional addresses the listener is listening on as specified via the :ref:`additional_addresses `
// configuration.
- // [#not-implemented-hide:]
AdditionalLocalAddresses []*v3.Address `protobuf:"bytes,3,rep,name=additional_local_addresses,json=additionalLocalAddresses,proto3" json:"additional_local_addresses,omitempty"`
}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/memory.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/memory.pb.go
index 5283c86216..d3f7cc547f 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/memory.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/memory.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/admin/v3/memory.proto
package adminv3
@@ -31,24 +31,24 @@ type Memory struct {
unknownFields protoimpl.UnknownFields
// The number of bytes allocated by the heap for Envoy. This is an alias for
- // `generic.current_allocated_bytes`.
+ // ``generic.current_allocated_bytes``.
Allocated uint64 `protobuf:"varint,1,opt,name=allocated,proto3" json:"allocated,omitempty"`
// The number of bytes reserved by the heap but not necessarily allocated. This is an alias for
- // `generic.heap_size`.
+ // ``generic.heap_size``.
HeapSize uint64 `protobuf:"varint,2,opt,name=heap_size,json=heapSize,proto3" json:"heap_size,omitempty"`
// The number of bytes in free, unmapped pages in the page heap. These bytes always count towards
// virtual memory usage, and depending on the OS, typically do not count towards physical memory
- // usage. This is an alias for `tcmalloc.pageheap_unmapped_bytes`.
+ // usage. This is an alias for ``tcmalloc.pageheap_unmapped_bytes``.
PageheapUnmapped uint64 `protobuf:"varint,3,opt,name=pageheap_unmapped,json=pageheapUnmapped,proto3" json:"pageheap_unmapped,omitempty"`
// The number of bytes in free, mapped pages in the page heap. These bytes always count towards
// virtual memory usage, and unless the underlying memory is swapped out by the OS, they also
- // count towards physical memory usage. This is an alias for `tcmalloc.pageheap_free_bytes`.
+ // count towards physical memory usage. This is an alias for ``tcmalloc.pageheap_free_bytes``.
PageheapFree uint64 `protobuf:"varint,4,opt,name=pageheap_free,json=pageheapFree,proto3" json:"pageheap_free,omitempty"`
// The amount of memory used by the TCMalloc thread caches (for small objects). This is an alias
- // for `tcmalloc.current_total_thread_cache_bytes`.
+ // for ``tcmalloc.current_total_thread_cache_bytes``.
TotalThreadCache uint64 `protobuf:"varint,5,opt,name=total_thread_cache,json=totalThreadCache,proto3" json:"total_thread_cache,omitempty"`
// The number of bytes of the physical memory usage by the allocator. This is an alias for
- // `generic.total_physical_bytes`.
+ // ``generic.total_physical_bytes``.
TotalPhysicalBytes uint64 `protobuf:"varint,6,opt,name=total_physical_bytes,json=totalPhysicalBytes,proto3" json:"total_physical_bytes,omitempty"`
}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/metrics.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/metrics.pb.go
index 0d626446ec..a7e0729713 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/metrics.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/metrics.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/admin/v3/metrics.proto
package adminv3
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/mutex_stats.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/mutex_stats.pb.go
index 07cbfd556d..b50b0c615b 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/mutex_stats.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/mutex_stats.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/admin/v3/mutex_stats.proto
package adminv3
@@ -22,11 +22,11 @@ const (
)
// Proto representation of the statistics collected upon absl::Mutex contention, if Envoy is run
-// under :option:`--enable-mutex-tracing`. For more information, see the `absl::Mutex`
+// under :option:`--enable-mutex-tracing`. For more information, see the ``absl::Mutex``
// [docs](https://abseil.io/about/design/mutex#extra-features).
//
-// *NB*: The wait cycles below are measured by `absl::base_internal::CycleClock`, and may not
-// correspond to core clock frequency. For more information, see the `CycleClock`
+// *NB*: The wait cycles below are measured by ``absl::base_internal::CycleClock``, and may not
+// correspond to core clock frequency. For more information, see the ``CycleClock``
// [docs](https://github.com/abseil/abseil-cpp/blob/master/absl/base/internal/cycleclock.h).
type MutexStats struct {
state protoimpl.MessageState
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/server_info.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/server_info.pb.go
index 7526f8f76b..a3a084baee 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/server_info.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/server_info.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/admin/v3/server_info.proto
package adminv3
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/tap.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/tap.pb.go
index 5fbea6b980..1111cc8e56 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/tap.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/tap.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/admin/v3/tap.proto
package adminv3
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/annotations/deprecation.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/annotations/deprecation.pb.go
index a1889139a0..2a73462bfb 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/annotations/deprecation.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/annotations/deprecation.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/annotations/deprecation.proto
package annotations
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/annotations/resource.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/annotations/resource.pb.go
index f8543a638e..597d6da5c9 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/annotations/resource.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/annotations/resource.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/annotations/resource.proto
package annotations
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/address.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/address.pb.go
deleted file mode 100644
index 229af066cb..0000000000
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/address.pb.go
+++ /dev/null
@@ -1,805 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
-// source: envoy/api/v2/core/address.proto
-
-package core
-
-import (
- _ "github.com/cncf/xds/go/udpa/annotations"
- _ "github.com/envoyproxy/protoc-gen-validate/validate"
- wrappers "github.com/golang/protobuf/ptypes/wrappers"
- 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)
-)
-
-type SocketAddress_Protocol int32
-
-const (
- SocketAddress_TCP SocketAddress_Protocol = 0
- SocketAddress_UDP SocketAddress_Protocol = 1
-)
-
-// Enum value maps for SocketAddress_Protocol.
-var (
- SocketAddress_Protocol_name = map[int32]string{
- 0: "TCP",
- 1: "UDP",
- }
- SocketAddress_Protocol_value = map[string]int32{
- "TCP": 0,
- "UDP": 1,
- }
-)
-
-func (x SocketAddress_Protocol) Enum() *SocketAddress_Protocol {
- p := new(SocketAddress_Protocol)
- *p = x
- return p
-}
-
-func (x SocketAddress_Protocol) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (SocketAddress_Protocol) Descriptor() protoreflect.EnumDescriptor {
- return file_envoy_api_v2_core_address_proto_enumTypes[0].Descriptor()
-}
-
-func (SocketAddress_Protocol) Type() protoreflect.EnumType {
- return &file_envoy_api_v2_core_address_proto_enumTypes[0]
-}
-
-func (x SocketAddress_Protocol) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Use SocketAddress_Protocol.Descriptor instead.
-func (SocketAddress_Protocol) EnumDescriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_address_proto_rawDescGZIP(), []int{1, 0}
-}
-
-type Pipe struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // Unix Domain Socket path. On Linux, paths starting with '@' will use the
- // abstract namespace. The starting '@' is replaced by a null byte by Envoy.
- // Paths starting with '@' will result in an error in environments other than
- // Linux.
- Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
- // The mode for the Pipe. Not applicable for abstract sockets.
- Mode uint32 `protobuf:"varint,2,opt,name=mode,proto3" json:"mode,omitempty"`
-}
-
-func (x *Pipe) Reset() {
- *x = Pipe{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_address_proto_msgTypes[0]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *Pipe) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*Pipe) ProtoMessage() {}
-
-func (x *Pipe) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_address_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 Pipe.ProtoReflect.Descriptor instead.
-func (*Pipe) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_address_proto_rawDescGZIP(), []int{0}
-}
-
-func (x *Pipe) GetPath() string {
- if x != nil {
- return x.Path
- }
- return ""
-}
-
-func (x *Pipe) GetMode() uint32 {
- if x != nil {
- return x.Mode
- }
- return 0
-}
-
-// [#next-free-field: 7]
-type SocketAddress struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- Protocol SocketAddress_Protocol `protobuf:"varint,1,opt,name=protocol,proto3,enum=envoy.api.v2.core.SocketAddress_Protocol" json:"protocol,omitempty"`
- // The address for this socket. :ref:`Listeners ` will bind
- // to the address. An empty address is not allowed. Specify ``0.0.0.0`` or ``::``
- // to bind to any address. [#comment:TODO(zuercher) reinstate when implemented:
- // It is possible to distinguish a Listener address via the prefix/suffix matching
- // in :ref:`FilterChainMatch `.] When used
- // within an upstream :ref:`BindConfig `, the address
- // controls the source address of outbound connections. For :ref:`clusters
- // `, the cluster type determines whether the
- // address must be an IP (*STATIC* or *EDS* clusters) or a hostname resolved by DNS
- // (*STRICT_DNS* or *LOGICAL_DNS* clusters). Address resolution can be customized
- // via :ref:`resolver_name `.
- Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
- // Types that are assignable to PortSpecifier:
- // *SocketAddress_PortValue
- // *SocketAddress_NamedPort
- PortSpecifier isSocketAddress_PortSpecifier `protobuf_oneof:"port_specifier"`
- // The name of the custom resolver. This must have been registered with Envoy. If
- // this is empty, a context dependent default applies. If the address is a concrete
- // IP address, no resolution will occur. If address is a hostname this
- // should be set for resolution other than DNS. Specifying a custom resolver with
- // *STRICT_DNS* or *LOGICAL_DNS* will generate an error at runtime.
- ResolverName string `protobuf:"bytes,5,opt,name=resolver_name,json=resolverName,proto3" json:"resolver_name,omitempty"`
- // When binding to an IPv6 address above, this enables `IPv4 compatibility
- // `_. Binding to ``::`` will
- // allow both IPv4 and IPv6 connections, with peer IPv4 addresses mapped into
- // IPv6 space as ``::FFFF:``.
- Ipv4Compat bool `protobuf:"varint,6,opt,name=ipv4_compat,json=ipv4Compat,proto3" json:"ipv4_compat,omitempty"`
-}
-
-func (x *SocketAddress) Reset() {
- *x = SocketAddress{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_address_proto_msgTypes[1]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *SocketAddress) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*SocketAddress) ProtoMessage() {}
-
-func (x *SocketAddress) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_address_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 SocketAddress.ProtoReflect.Descriptor instead.
-func (*SocketAddress) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_address_proto_rawDescGZIP(), []int{1}
-}
-
-func (x *SocketAddress) GetProtocol() SocketAddress_Protocol {
- if x != nil {
- return x.Protocol
- }
- return SocketAddress_TCP
-}
-
-func (x *SocketAddress) GetAddress() string {
- if x != nil {
- return x.Address
- }
- return ""
-}
-
-func (m *SocketAddress) GetPortSpecifier() isSocketAddress_PortSpecifier {
- if m != nil {
- return m.PortSpecifier
- }
- return nil
-}
-
-func (x *SocketAddress) GetPortValue() uint32 {
- if x, ok := x.GetPortSpecifier().(*SocketAddress_PortValue); ok {
- return x.PortValue
- }
- return 0
-}
-
-func (x *SocketAddress) GetNamedPort() string {
- if x, ok := x.GetPortSpecifier().(*SocketAddress_NamedPort); ok {
- return x.NamedPort
- }
- return ""
-}
-
-func (x *SocketAddress) GetResolverName() string {
- if x != nil {
- return x.ResolverName
- }
- return ""
-}
-
-func (x *SocketAddress) GetIpv4Compat() bool {
- if x != nil {
- return x.Ipv4Compat
- }
- return false
-}
-
-type isSocketAddress_PortSpecifier interface {
- isSocketAddress_PortSpecifier()
-}
-
-type SocketAddress_PortValue struct {
- PortValue uint32 `protobuf:"varint,3,opt,name=port_value,json=portValue,proto3,oneof"`
-}
-
-type SocketAddress_NamedPort struct {
- // This is only valid if :ref:`resolver_name
- // ` is specified below and the
- // named resolver is capable of named port resolution.
- NamedPort string `protobuf:"bytes,4,opt,name=named_port,json=namedPort,proto3,oneof"`
-}
-
-func (*SocketAddress_PortValue) isSocketAddress_PortSpecifier() {}
-
-func (*SocketAddress_NamedPort) isSocketAddress_PortSpecifier() {}
-
-type 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.)
- KeepaliveProbes *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=keepalive_probes,json=keepaliveProbes,proto3" json:"keepalive_probes,omitempty"`
- // The number of seconds 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 (i.e., 2 hours.)
- KeepaliveTime *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=keepalive_time,json=keepaliveTime,proto3" json:"keepalive_time,omitempty"`
- // The number of seconds between keep-alive probes. Default is to use the OS
- // level configuration (unless overridden, Linux defaults to 75s.)
- KeepaliveInterval *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=keepalive_interval,json=keepaliveInterval,proto3" json:"keepalive_interval,omitempty"`
-}
-
-func (x *TcpKeepalive) Reset() {
- *x = TcpKeepalive{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_address_proto_msgTypes[2]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *TcpKeepalive) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*TcpKeepalive) ProtoMessage() {}
-
-func (x *TcpKeepalive) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_address_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 TcpKeepalive.ProtoReflect.Descriptor instead.
-func (*TcpKeepalive) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_address_proto_rawDescGZIP(), []int{2}
-}
-
-func (x *TcpKeepalive) GetKeepaliveProbes() *wrappers.UInt32Value {
- if x != nil {
- return x.KeepaliveProbes
- }
- return nil
-}
-
-func (x *TcpKeepalive) GetKeepaliveTime() *wrappers.UInt32Value {
- if x != nil {
- return x.KeepaliveTime
- }
- return nil
-}
-
-func (x *TcpKeepalive) GetKeepaliveInterval() *wrappers.UInt32Value {
- if x != nil {
- return x.KeepaliveInterval
- }
- return nil
-}
-
-type BindConfig struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // The address to bind to when creating a socket.
- SourceAddress *SocketAddress `protobuf:"bytes,1,opt,name=source_address,json=sourceAddress,proto3" json:"source_address,omitempty"`
- // Whether to set the *IP_FREEBIND* option when creating the socket. When this
- // flag is set to true, allows the :ref:`source_address
- // ` to be an IP address
- // that is not configured on the system running Envoy. When this flag is set
- // to false, the option *IP_FREEBIND* is disabled on the socket. When this
- // flag is not set (default), the socket is not modified, i.e. the option is
- // neither enabled nor disabled.
- Freebind *wrappers.BoolValue `protobuf:"bytes,2,opt,name=freebind,proto3" json:"freebind,omitempty"`
- // Additional socket options that may not be present in Envoy source code or
- // precompiled binaries.
- SocketOptions []*SocketOption `protobuf:"bytes,3,rep,name=socket_options,json=socketOptions,proto3" json:"socket_options,omitempty"`
-}
-
-func (x *BindConfig) Reset() {
- *x = BindConfig{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_address_proto_msgTypes[3]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *BindConfig) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*BindConfig) ProtoMessage() {}
-
-func (x *BindConfig) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_address_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 BindConfig.ProtoReflect.Descriptor instead.
-func (*BindConfig) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_address_proto_rawDescGZIP(), []int{3}
-}
-
-func (x *BindConfig) GetSourceAddress() *SocketAddress {
- if x != nil {
- return x.SourceAddress
- }
- return nil
-}
-
-func (x *BindConfig) GetFreebind() *wrappers.BoolValue {
- if x != nil {
- return x.Freebind
- }
- return nil
-}
-
-func (x *BindConfig) GetSocketOptions() []*SocketOption {
- if x != nil {
- return x.SocketOptions
- }
- return nil
-}
-
-// Addresses specify either a logical or physical address and port, which are
-// used to tell Envoy where to bind/listen, connect to upstream and find
-// management servers.
-type Address struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // Types that are assignable to Address:
- // *Address_SocketAddress
- // *Address_Pipe
- Address isAddress_Address `protobuf_oneof:"address"`
-}
-
-func (x *Address) Reset() {
- *x = Address{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_address_proto_msgTypes[4]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *Address) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*Address) ProtoMessage() {}
-
-func (x *Address) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_address_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 Address.ProtoReflect.Descriptor instead.
-func (*Address) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_address_proto_rawDescGZIP(), []int{4}
-}
-
-func (m *Address) GetAddress() isAddress_Address {
- if m != nil {
- return m.Address
- }
- return nil
-}
-
-func (x *Address) GetSocketAddress() *SocketAddress {
- if x, ok := x.GetAddress().(*Address_SocketAddress); ok {
- return x.SocketAddress
- }
- return nil
-}
-
-func (x *Address) GetPipe() *Pipe {
- if x, ok := x.GetAddress().(*Address_Pipe); ok {
- return x.Pipe
- }
- return nil
-}
-
-type isAddress_Address interface {
- isAddress_Address()
-}
-
-type Address_SocketAddress struct {
- SocketAddress *SocketAddress `protobuf:"bytes,1,opt,name=socket_address,json=socketAddress,proto3,oneof"`
-}
-
-type Address_Pipe struct {
- Pipe *Pipe `protobuf:"bytes,2,opt,name=pipe,proto3,oneof"`
-}
-
-func (*Address_SocketAddress) isAddress_Address() {}
-
-func (*Address_Pipe) isAddress_Address() {}
-
-// CidrRange specifies an IP Address and a prefix length to construct
-// the subnet mask for a `CIDR `_ range.
-type CidrRange struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // IPv4 or IPv6 address, e.g. ``192.0.0.0`` or ``2001:db8::``.
- AddressPrefix string `protobuf:"bytes,1,opt,name=address_prefix,json=addressPrefix,proto3" json:"address_prefix,omitempty"`
- // Length of prefix, e.g. 0, 32. Defaults to 0 when unset.
- PrefixLen *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=prefix_len,json=prefixLen,proto3" json:"prefix_len,omitempty"`
-}
-
-func (x *CidrRange) Reset() {
- *x = CidrRange{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_address_proto_msgTypes[5]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *CidrRange) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*CidrRange) ProtoMessage() {}
-
-func (x *CidrRange) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_address_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 CidrRange.ProtoReflect.Descriptor instead.
-func (*CidrRange) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_address_proto_rawDescGZIP(), []int{5}
-}
-
-func (x *CidrRange) GetAddressPrefix() string {
- if x != nil {
- return x.AddressPrefix
- }
- return ""
-}
-
-func (x *CidrRange) GetPrefixLen() *wrappers.UInt32Value {
- if x != nil {
- return x.PrefixLen
- }
- return nil
-}
-
-var File_envoy_api_v2_core_address_proto protoreflect.FileDescriptor
-
-var file_envoy_api_v2_core_address_proto_rawDesc = []byte{
- 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63,
- 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e,
- 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f,
- 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f,
- 0x70, 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, 0x1e, 0x75, 0x64, 0x70,
- 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69,
- 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70,
- 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74,
- 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69,
- 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x22, 0x41, 0x0a, 0x04, 0x50, 0x69, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x04, 0x70,
- 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02,
- 0x20, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x2a, 0x03, 0x18, 0xff, 0x03,
- 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0xcb, 0x02, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x6b, 0x65,
- 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4f, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76,
- 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53,
- 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x50, 0x72, 0x6f,
- 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52,
- 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x21, 0x0a, 0x07, 0x61, 0x64, 0x64,
- 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72,
- 0x02, 0x20, 0x01, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2a, 0x0a, 0x0a,
- 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
- 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x18, 0xff, 0xff, 0x03, 0x48, 0x00, 0x52, 0x09, 0x70,
- 0x6f, 0x72, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65,
- 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09,
- 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73,
- 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f,
- 0x0a, 0x0b, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x18, 0x06, 0x20,
- 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x70, 0x76, 0x34, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x22,
- 0x1c, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x07, 0x0a, 0x03, 0x54,
- 0x43, 0x50, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x55, 0x44, 0x50, 0x10, 0x01, 0x42, 0x15, 0x0a,
- 0x0e, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12,
- 0x03, 0xf8, 0x42, 0x01, 0x22, 0xe9, 0x01, 0x0a, 0x0c, 0x54, 0x63, 0x70, 0x4b, 0x65, 0x65, 0x70,
- 0x61, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x47, 0x0a, 0x10, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69,
- 0x76, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x18, 0x01, 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, 0x0f, 0x6b,
- 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x12, 0x43,
- 0x0a, 0x0e, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65,
- 0x18, 0x02, 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, 0x0d, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x54,
- 0x69, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x12, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65,
- 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x03, 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, 0x11, 0x6b,
- 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c,
- 0x22, 0xdf, 0x01, 0x0a, 0x0a, 0x42, 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
- 0x51, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
- 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
- 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x6f, 0x63, 0x6b,
- 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01,
- 0x02, 0x10, 0x01, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65,
- 0x73, 0x73, 0x12, 0x36, 0x0a, 0x08, 0x66, 0x72, 0x65, 0x65, 0x62, 0x69, 0x6e, 0x64, 0x18, 0x02,
- 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, 0x08, 0x66, 0x72, 0x65, 0x65, 0x62, 0x69, 0x6e, 0x64, 0x12, 0x46, 0x0a, 0x0e, 0x73, 0x6f,
- 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03,
- 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76,
- 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74,
- 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f,
- 0x6e, 0x73, 0x22, 0x93, 0x01, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x49,
- 0x0a, 0x0e, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61,
- 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65,
- 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x6f, 0x63, 0x6b,
- 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2d, 0x0a, 0x04, 0x70, 0x69, 0x70,
- 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
- 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x69, 0x70, 0x65,
- 0x48, 0x00, 0x52, 0x04, 0x70, 0x69, 0x70, 0x65, 0x42, 0x0e, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72,
- 0x65, 0x73, 0x73, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x82, 0x01, 0x0a, 0x09, 0x43, 0x69, 0x64,
- 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x0e, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
- 0x73, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07,
- 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0d, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
- 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x45, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78,
- 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x02, 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, 0x08, 0xfa, 0x42, 0x05, 0x2a, 0x03, 0x18,
- 0x80, 0x01, 0x52, 0x09, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x42, 0x8f, 0x01,
- 0x0a, 0x1f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e,
- 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72,
- 0x65, 0x42, 0x0c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50,
- 0x01, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e,
- 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74,
- 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f,
- 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0xf2, 0x98, 0xfe, 0x8f, 0x05,
- 0x16, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
- 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x62,
- 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
-}
-
-var (
- file_envoy_api_v2_core_address_proto_rawDescOnce sync.Once
- file_envoy_api_v2_core_address_proto_rawDescData = file_envoy_api_v2_core_address_proto_rawDesc
-)
-
-func file_envoy_api_v2_core_address_proto_rawDescGZIP() []byte {
- file_envoy_api_v2_core_address_proto_rawDescOnce.Do(func() {
- file_envoy_api_v2_core_address_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_core_address_proto_rawDescData)
- })
- return file_envoy_api_v2_core_address_proto_rawDescData
-}
-
-var file_envoy_api_v2_core_address_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
-var file_envoy_api_v2_core_address_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
-var file_envoy_api_v2_core_address_proto_goTypes = []interface{}{
- (SocketAddress_Protocol)(0), // 0: envoy.api.v2.core.SocketAddress.Protocol
- (*Pipe)(nil), // 1: envoy.api.v2.core.Pipe
- (*SocketAddress)(nil), // 2: envoy.api.v2.core.SocketAddress
- (*TcpKeepalive)(nil), // 3: envoy.api.v2.core.TcpKeepalive
- (*BindConfig)(nil), // 4: envoy.api.v2.core.BindConfig
- (*Address)(nil), // 5: envoy.api.v2.core.Address
- (*CidrRange)(nil), // 6: envoy.api.v2.core.CidrRange
- (*wrappers.UInt32Value)(nil), // 7: google.protobuf.UInt32Value
- (*wrappers.BoolValue)(nil), // 8: google.protobuf.BoolValue
- (*SocketOption)(nil), // 9: envoy.api.v2.core.SocketOption
-}
-var file_envoy_api_v2_core_address_proto_depIdxs = []int32{
- 0, // 0: envoy.api.v2.core.SocketAddress.protocol:type_name -> envoy.api.v2.core.SocketAddress.Protocol
- 7, // 1: envoy.api.v2.core.TcpKeepalive.keepalive_probes:type_name -> google.protobuf.UInt32Value
- 7, // 2: envoy.api.v2.core.TcpKeepalive.keepalive_time:type_name -> google.protobuf.UInt32Value
- 7, // 3: envoy.api.v2.core.TcpKeepalive.keepalive_interval:type_name -> google.protobuf.UInt32Value
- 2, // 4: envoy.api.v2.core.BindConfig.source_address:type_name -> envoy.api.v2.core.SocketAddress
- 8, // 5: envoy.api.v2.core.BindConfig.freebind:type_name -> google.protobuf.BoolValue
- 9, // 6: envoy.api.v2.core.BindConfig.socket_options:type_name -> envoy.api.v2.core.SocketOption
- 2, // 7: envoy.api.v2.core.Address.socket_address:type_name -> envoy.api.v2.core.SocketAddress
- 1, // 8: envoy.api.v2.core.Address.pipe:type_name -> envoy.api.v2.core.Pipe
- 7, // 9: envoy.api.v2.core.CidrRange.prefix_len:type_name -> google.protobuf.UInt32Value
- 10, // [10:10] is the sub-list for method output_type
- 10, // [10:10] is the sub-list for method input_type
- 10, // [10:10] is the sub-list for extension type_name
- 10, // [10:10] is the sub-list for extension extendee
- 0, // [0:10] is the sub-list for field type_name
-}
-
-func init() { file_envoy_api_v2_core_address_proto_init() }
-func file_envoy_api_v2_core_address_proto_init() {
- if File_envoy_api_v2_core_address_proto != nil {
- return
- }
- file_envoy_api_v2_core_socket_option_proto_init()
- if !protoimpl.UnsafeEnabled {
- file_envoy_api_v2_core_address_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*Pipe); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_address_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SocketAddress); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_address_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*TcpKeepalive); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_address_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*BindConfig); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_address_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*Address); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_address_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*CidrRange); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- }
- file_envoy_api_v2_core_address_proto_msgTypes[1].OneofWrappers = []interface{}{
- (*SocketAddress_PortValue)(nil),
- (*SocketAddress_NamedPort)(nil),
- }
- file_envoy_api_v2_core_address_proto_msgTypes[4].OneofWrappers = []interface{}{
- (*Address_SocketAddress)(nil),
- (*Address_Pipe)(nil),
- }
- type x struct{}
- out := protoimpl.TypeBuilder{
- File: protoimpl.DescBuilder{
- GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
- RawDescriptor: file_envoy_api_v2_core_address_proto_rawDesc,
- NumEnums: 1,
- NumMessages: 6,
- NumExtensions: 0,
- NumServices: 0,
- },
- GoTypes: file_envoy_api_v2_core_address_proto_goTypes,
- DependencyIndexes: file_envoy_api_v2_core_address_proto_depIdxs,
- EnumInfos: file_envoy_api_v2_core_address_proto_enumTypes,
- MessageInfos: file_envoy_api_v2_core_address_proto_msgTypes,
- }.Build()
- File_envoy_api_v2_core_address_proto = out.File
- file_envoy_api_v2_core_address_proto_rawDesc = nil
- file_envoy_api_v2_core_address_proto_goTypes = nil
- file_envoy_api_v2_core_address_proto_depIdxs = nil
-}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/address.pb.validate.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/address.pb.validate.go
deleted file mode 100644
index 2b9930480e..0000000000
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/address.pb.validate.go
+++ /dev/null
@@ -1,999 +0,0 @@
-// Code generated by protoc-gen-validate. DO NOT EDIT.
-// source: envoy/api/v2/core/address.proto
-
-package core
-
-import (
- "bytes"
- "errors"
- "fmt"
- "net"
- "net/mail"
- "net/url"
- "regexp"
- "sort"
- "strings"
- "time"
- "unicode/utf8"
-
- "google.golang.org/protobuf/types/known/anypb"
-)
-
-// ensure the imports are used
-var (
- _ = bytes.MinRead
- _ = errors.New("")
- _ = fmt.Print
- _ = utf8.UTFMax
- _ = (*regexp.Regexp)(nil)
- _ = (*strings.Reader)(nil)
- _ = net.IPv4len
- _ = time.Duration(0)
- _ = (*url.URL)(nil)
- _ = (*mail.Address)(nil)
- _ = anypb.Any{}
- _ = sort.Sort
-)
-
-// Validate checks the field values on Pipe with the rules defined in the proto
-// definition for this message. If any rules are violated, the first error
-// encountered is returned, or nil if there are no violations.
-func (m *Pipe) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on Pipe with the rules defined in the
-// proto definition for this message. If any rules are violated, the result is
-// a list of violation errors wrapped in PipeMultiError, or nil if none found.
-func (m *Pipe) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *Pipe) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if len(m.GetPath()) < 1 {
- err := PipeValidationError{
- field: "Path",
- reason: "value length must be at least 1 bytes",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if m.GetMode() > 511 {
- err := PipeValidationError{
- field: "Mode",
- reason: "value must be less than or equal to 511",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if len(errors) > 0 {
- return PipeMultiError(errors)
- }
-
- return nil
-}
-
-// PipeMultiError is an error wrapping multiple validation errors returned by
-// Pipe.ValidateAll() if the designated constraints aren't met.
-type PipeMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m PipeMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m PipeMultiError) AllErrors() []error { return m }
-
-// PipeValidationError is the validation error returned by Pipe.Validate if the
-// designated constraints aren't met.
-type PipeValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e PipeValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e PipeValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e PipeValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e PipeValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e PipeValidationError) ErrorName() string { return "PipeValidationError" }
-
-// Error satisfies the builtin error interface
-func (e PipeValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sPipe.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = PipeValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = PipeValidationError{}
-
-// Validate checks the field values on SocketAddress with the rules defined in
-// the proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *SocketAddress) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on SocketAddress with the rules defined
-// in the proto definition for this message. If any rules are violated, the
-// result is a list of violation errors wrapped in SocketAddressMultiError, or
-// nil if none found.
-func (m *SocketAddress) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *SocketAddress) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if _, ok := SocketAddress_Protocol_name[int32(m.GetProtocol())]; !ok {
- err := SocketAddressValidationError{
- field: "Protocol",
- reason: "value must be one of the defined enum values",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if len(m.GetAddress()) < 1 {
- err := SocketAddressValidationError{
- field: "Address",
- reason: "value length must be at least 1 bytes",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- // no validation rules for ResolverName
-
- // no validation rules for Ipv4Compat
-
- switch m.PortSpecifier.(type) {
-
- case *SocketAddress_PortValue:
-
- if m.GetPortValue() > 65535 {
- err := SocketAddressValidationError{
- field: "PortValue",
- reason: "value must be less than or equal to 65535",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- case *SocketAddress_NamedPort:
- // no validation rules for NamedPort
-
- default:
- err := SocketAddressValidationError{
- field: "PortSpecifier",
- reason: "value is required",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
-
- }
-
- if len(errors) > 0 {
- return SocketAddressMultiError(errors)
- }
-
- return nil
-}
-
-// SocketAddressMultiError is an error wrapping multiple validation errors
-// returned by SocketAddress.ValidateAll() if the designated constraints
-// aren't met.
-type SocketAddressMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m SocketAddressMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m SocketAddressMultiError) AllErrors() []error { return m }
-
-// SocketAddressValidationError is the validation error returned by
-// SocketAddress.Validate if the designated constraints aren't met.
-type SocketAddressValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e SocketAddressValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e SocketAddressValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e SocketAddressValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e SocketAddressValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e SocketAddressValidationError) ErrorName() string { return "SocketAddressValidationError" }
-
-// Error satisfies the builtin error interface
-func (e SocketAddressValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sSocketAddress.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = SocketAddressValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = SocketAddressValidationError{}
-
-// Validate checks the field values on TcpKeepalive with the rules defined in
-// the proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *TcpKeepalive) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on TcpKeepalive with the rules defined
-// in the proto definition for this message. If any rules are violated, the
-// result is a list of violation errors wrapped in TcpKeepaliveMultiError, or
-// nil if none found.
-func (m *TcpKeepalive) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *TcpKeepalive) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if all {
- switch v := interface{}(m.GetKeepaliveProbes()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, TcpKeepaliveValidationError{
- field: "KeepaliveProbes",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, TcpKeepaliveValidationError{
- field: "KeepaliveProbes",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetKeepaliveProbes()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return TcpKeepaliveValidationError{
- field: "KeepaliveProbes",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetKeepaliveTime()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, TcpKeepaliveValidationError{
- field: "KeepaliveTime",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, TcpKeepaliveValidationError{
- field: "KeepaliveTime",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetKeepaliveTime()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return TcpKeepaliveValidationError{
- field: "KeepaliveTime",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetKeepaliveInterval()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, TcpKeepaliveValidationError{
- field: "KeepaliveInterval",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, TcpKeepaliveValidationError{
- field: "KeepaliveInterval",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetKeepaliveInterval()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return TcpKeepaliveValidationError{
- field: "KeepaliveInterval",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if len(errors) > 0 {
- return TcpKeepaliveMultiError(errors)
- }
-
- return nil
-}
-
-// TcpKeepaliveMultiError is an error wrapping multiple validation errors
-// returned by TcpKeepalive.ValidateAll() if the designated constraints aren't met.
-type TcpKeepaliveMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m TcpKeepaliveMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m TcpKeepaliveMultiError) AllErrors() []error { return m }
-
-// TcpKeepaliveValidationError is the validation error returned by
-// TcpKeepalive.Validate if the designated constraints aren't met.
-type TcpKeepaliveValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e TcpKeepaliveValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e TcpKeepaliveValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e TcpKeepaliveValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e TcpKeepaliveValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e TcpKeepaliveValidationError) ErrorName() string { return "TcpKeepaliveValidationError" }
-
-// Error satisfies the builtin error interface
-func (e TcpKeepaliveValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sTcpKeepalive.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = TcpKeepaliveValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = TcpKeepaliveValidationError{}
-
-// Validate checks the field values on BindConfig with the rules defined in the
-// proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *BindConfig) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on BindConfig with the rules defined in
-// the proto definition for this message. If any rules are violated, the
-// result is a list of violation errors wrapped in BindConfigMultiError, or
-// nil if none found.
-func (m *BindConfig) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *BindConfig) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if m.GetSourceAddress() == nil {
- err := BindConfigValidationError{
- field: "SourceAddress",
- reason: "value is required",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if all {
- switch v := interface{}(m.GetSourceAddress()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, BindConfigValidationError{
- field: "SourceAddress",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, BindConfigValidationError{
- field: "SourceAddress",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetSourceAddress()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return BindConfigValidationError{
- field: "SourceAddress",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetFreebind()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, BindConfigValidationError{
- field: "Freebind",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, BindConfigValidationError{
- field: "Freebind",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetFreebind()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return BindConfigValidationError{
- field: "Freebind",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- for idx, item := range m.GetSocketOptions() {
- _, _ = idx, item
-
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, BindConfigValidationError{
- field: fmt.Sprintf("SocketOptions[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, BindConfigValidationError{
- field: fmt.Sprintf("SocketOptions[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return BindConfigValidationError{
- field: fmt.Sprintf("SocketOptions[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
-
- if len(errors) > 0 {
- return BindConfigMultiError(errors)
- }
-
- return nil
-}
-
-// BindConfigMultiError is an error wrapping multiple validation errors
-// returned by BindConfig.ValidateAll() if the designated constraints aren't met.
-type BindConfigMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m BindConfigMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m BindConfigMultiError) AllErrors() []error { return m }
-
-// BindConfigValidationError is the validation error returned by
-// BindConfig.Validate if the designated constraints aren't met.
-type BindConfigValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e BindConfigValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e BindConfigValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e BindConfigValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e BindConfigValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e BindConfigValidationError) ErrorName() string { return "BindConfigValidationError" }
-
-// Error satisfies the builtin error interface
-func (e BindConfigValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sBindConfig.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = BindConfigValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = BindConfigValidationError{}
-
-// Validate checks the field values on Address with the rules defined in the
-// proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *Address) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on Address with the rules defined in the
-// proto definition for this message. If any rules are violated, the result is
-// a list of violation errors wrapped in AddressMultiError, or nil if none found.
-func (m *Address) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *Address) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- switch m.Address.(type) {
-
- case *Address_SocketAddress:
-
- if all {
- switch v := interface{}(m.GetSocketAddress()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, AddressValidationError{
- field: "SocketAddress",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, AddressValidationError{
- field: "SocketAddress",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetSocketAddress()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return AddressValidationError{
- field: "SocketAddress",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- case *Address_Pipe:
-
- if all {
- switch v := interface{}(m.GetPipe()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, AddressValidationError{
- field: "Pipe",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, AddressValidationError{
- field: "Pipe",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetPipe()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return AddressValidationError{
- field: "Pipe",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- default:
- err := AddressValidationError{
- field: "Address",
- reason: "value is required",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
-
- }
-
- if len(errors) > 0 {
- return AddressMultiError(errors)
- }
-
- return nil
-}
-
-// AddressMultiError is an error wrapping multiple validation errors returned
-// by Address.ValidateAll() if the designated constraints aren't met.
-type AddressMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m AddressMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m AddressMultiError) AllErrors() []error { return m }
-
-// AddressValidationError is the validation error returned by Address.Validate
-// if the designated constraints aren't met.
-type AddressValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e AddressValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e AddressValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e AddressValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e AddressValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e AddressValidationError) ErrorName() string { return "AddressValidationError" }
-
-// Error satisfies the builtin error interface
-func (e AddressValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sAddress.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = AddressValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = AddressValidationError{}
-
-// Validate checks the field values on CidrRange with the rules defined in the
-// proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *CidrRange) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on CidrRange with the rules defined in
-// the proto definition for this message. If any rules are violated, the
-// result is a list of violation errors wrapped in CidrRangeMultiError, or nil
-// if none found.
-func (m *CidrRange) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *CidrRange) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if len(m.GetAddressPrefix()) < 1 {
- err := CidrRangeValidationError{
- field: "AddressPrefix",
- reason: "value length must be at least 1 bytes",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if wrapper := m.GetPrefixLen(); wrapper != nil {
-
- if wrapper.GetValue() > 128 {
- err := CidrRangeValidationError{
- field: "PrefixLen",
- reason: "value must be less than or equal to 128",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- }
-
- if len(errors) > 0 {
- return CidrRangeMultiError(errors)
- }
-
- return nil
-}
-
-// CidrRangeMultiError is an error wrapping multiple validation errors returned
-// by CidrRange.ValidateAll() if the designated constraints aren't met.
-type CidrRangeMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m CidrRangeMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m CidrRangeMultiError) AllErrors() []error { return m }
-
-// CidrRangeValidationError is the validation error returned by
-// CidrRange.Validate if the designated constraints aren't met.
-type CidrRangeValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e CidrRangeValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e CidrRangeValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e CidrRangeValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e CidrRangeValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e CidrRangeValidationError) ErrorName() string { return "CidrRangeValidationError" }
-
-// Error satisfies the builtin error interface
-func (e CidrRangeValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sCidrRange.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = CidrRangeValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = CidrRangeValidationError{}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/backoff.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/backoff.pb.go
deleted file mode 100644
index 5d58463796..0000000000
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/backoff.pb.go
+++ /dev/null
@@ -1,191 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
-// source: envoy/api/v2/core/backoff.proto
-
-package core
-
-import (
- _ "github.com/cncf/xds/go/udpa/annotations"
- _ "github.com/envoyproxy/protoc-gen-validate/validate"
- duration "github.com/golang/protobuf/ptypes/duration"
- 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)
-)
-
-// Configuration defining a jittered exponential back off strategy.
-type BackoffStrategy struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // The base interval to be used for the next back off computation. It should
- // be greater than zero and less than or equal to :ref:`max_interval
- // `.
- BaseInterval *duration.Duration `protobuf:"bytes,1,opt,name=base_interval,json=baseInterval,proto3" json:"base_interval,omitempty"`
- // Specifies the maximum interval between retries. This parameter is optional,
- // but must be greater than or equal to the :ref:`base_interval
- // ` if set. The default
- // is 10 times the :ref:`base_interval
- // `.
- MaxInterval *duration.Duration `protobuf:"bytes,2,opt,name=max_interval,json=maxInterval,proto3" json:"max_interval,omitempty"`
-}
-
-func (x *BackoffStrategy) Reset() {
- *x = BackoffStrategy{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_backoff_proto_msgTypes[0]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *BackoffStrategy) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*BackoffStrategy) ProtoMessage() {}
-
-func (x *BackoffStrategy) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_backoff_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 BackoffStrategy.ProtoReflect.Descriptor instead.
-func (*BackoffStrategy) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_backoff_proto_rawDescGZIP(), []int{0}
-}
-
-func (x *BackoffStrategy) GetBaseInterval() *duration.Duration {
- if x != nil {
- return x.BaseInterval
- }
- return nil
-}
-
-func (x *BackoffStrategy) GetMaxInterval() *duration.Duration {
- if x != nil {
- return x.MaxInterval
- }
- return nil
-}
-
-var File_envoy_api_v2_core_backoff_proto protoreflect.FileDescriptor
-
-var file_envoy_api_v2_core_backoff_proto_rawDesc = []byte{
- 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63,
- 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e,
- 0x63, 0x6f, 0x72, 0x65, 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, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61,
- 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa9, 0x01, 0x0a,
- 0x0f, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79,
- 0x12, 0x4e, 0x0a, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61,
- 0x6c, 0x18, 0x01, 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, 0x0e, 0xfa, 0x42, 0x0b, 0xaa, 0x01, 0x08, 0x08, 0x01, 0x32, 0x04, 0x10, 0xc0,
- 0x84, 0x3d, 0x52, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c,
- 0x12, 0x46, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 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, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x0b, 0x6d, 0x61, 0x78,
- 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x42, 0x8f, 0x01, 0x0a, 0x1f, 0x69, 0x6f, 0x2e,
- 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0c, 0x42, 0x61,
- 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x69,
- 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72,
- 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70,
- 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76,
- 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x16, 0x12, 0x14, 0x65, 0x6e,
- 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
- 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x33,
-}
-
-var (
- file_envoy_api_v2_core_backoff_proto_rawDescOnce sync.Once
- file_envoy_api_v2_core_backoff_proto_rawDescData = file_envoy_api_v2_core_backoff_proto_rawDesc
-)
-
-func file_envoy_api_v2_core_backoff_proto_rawDescGZIP() []byte {
- file_envoy_api_v2_core_backoff_proto_rawDescOnce.Do(func() {
- file_envoy_api_v2_core_backoff_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_core_backoff_proto_rawDescData)
- })
- return file_envoy_api_v2_core_backoff_proto_rawDescData
-}
-
-var file_envoy_api_v2_core_backoff_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
-var file_envoy_api_v2_core_backoff_proto_goTypes = []interface{}{
- (*BackoffStrategy)(nil), // 0: envoy.api.v2.core.BackoffStrategy
- (*duration.Duration)(nil), // 1: google.protobuf.Duration
-}
-var file_envoy_api_v2_core_backoff_proto_depIdxs = []int32{
- 1, // 0: envoy.api.v2.core.BackoffStrategy.base_interval:type_name -> google.protobuf.Duration
- 1, // 1: envoy.api.v2.core.BackoffStrategy.max_interval:type_name -> google.protobuf.Duration
- 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 init() { file_envoy_api_v2_core_backoff_proto_init() }
-func file_envoy_api_v2_core_backoff_proto_init() {
- if File_envoy_api_v2_core_backoff_proto != nil {
- return
- }
- if !protoimpl.UnsafeEnabled {
- file_envoy_api_v2_core_backoff_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*BackoffStrategy); 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_envoy_api_v2_core_backoff_proto_rawDesc,
- NumEnums: 0,
- NumMessages: 1,
- NumExtensions: 0,
- NumServices: 0,
- },
- GoTypes: file_envoy_api_v2_core_backoff_proto_goTypes,
- DependencyIndexes: file_envoy_api_v2_core_backoff_proto_depIdxs,
- MessageInfos: file_envoy_api_v2_core_backoff_proto_msgTypes,
- }.Build()
- File_envoy_api_v2_core_backoff_proto = out.File
- file_envoy_api_v2_core_backoff_proto_rawDesc = nil
- file_envoy_api_v2_core_backoff_proto_goTypes = nil
- file_envoy_api_v2_core_backoff_proto_depIdxs = nil
-}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/backoff.pb.validate.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/backoff.pb.validate.go
deleted file mode 100644
index 3a4f727f3d..0000000000
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/backoff.pb.validate.go
+++ /dev/null
@@ -1,207 +0,0 @@
-// Code generated by protoc-gen-validate. DO NOT EDIT.
-// source: envoy/api/v2/core/backoff.proto
-
-package core
-
-import (
- "bytes"
- "errors"
- "fmt"
- "net"
- "net/mail"
- "net/url"
- "regexp"
- "sort"
- "strings"
- "time"
- "unicode/utf8"
-
- "google.golang.org/protobuf/types/known/anypb"
-)
-
-// ensure the imports are used
-var (
- _ = bytes.MinRead
- _ = errors.New("")
- _ = fmt.Print
- _ = utf8.UTFMax
- _ = (*regexp.Regexp)(nil)
- _ = (*strings.Reader)(nil)
- _ = net.IPv4len
- _ = time.Duration(0)
- _ = (*url.URL)(nil)
- _ = (*mail.Address)(nil)
- _ = anypb.Any{}
- _ = sort.Sort
-)
-
-// Validate checks the field values on BackoffStrategy with the rules defined
-// in the proto definition for this message. If any rules are violated, the
-// first error encountered is returned, or nil if there are no violations.
-func (m *BackoffStrategy) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on BackoffStrategy with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// BackoffStrategyMultiError, or nil if none found.
-func (m *BackoffStrategy) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *BackoffStrategy) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if m.GetBaseInterval() == nil {
- err := BackoffStrategyValidationError{
- field: "BaseInterval",
- reason: "value is required",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if d := m.GetBaseInterval(); d != nil {
- dur, err := d.AsDuration(), d.CheckValid()
- if err != nil {
- err = BackoffStrategyValidationError{
- field: "BaseInterval",
- reason: "value is not a valid duration",
- cause: err,
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- } else {
-
- gte := time.Duration(0*time.Second + 1000000*time.Nanosecond)
-
- if dur < gte {
- err := BackoffStrategyValidationError{
- field: "BaseInterval",
- reason: "value must be greater than or equal to 1ms",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- }
- }
-
- if d := m.GetMaxInterval(); d != nil {
- dur, err := d.AsDuration(), d.CheckValid()
- if err != nil {
- err = BackoffStrategyValidationError{
- field: "MaxInterval",
- reason: "value is not a valid duration",
- cause: err,
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- } else {
-
- gt := time.Duration(0*time.Second + 0*time.Nanosecond)
-
- if dur <= gt {
- err := BackoffStrategyValidationError{
- field: "MaxInterval",
- reason: "value must be greater than 0s",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- }
- }
-
- if len(errors) > 0 {
- return BackoffStrategyMultiError(errors)
- }
-
- return nil
-}
-
-// BackoffStrategyMultiError is an error wrapping multiple validation errors
-// returned by BackoffStrategy.ValidateAll() if the designated constraints
-// aren't met.
-type BackoffStrategyMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m BackoffStrategyMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m BackoffStrategyMultiError) AllErrors() []error { return m }
-
-// BackoffStrategyValidationError is the validation error returned by
-// BackoffStrategy.Validate if the designated constraints aren't met.
-type BackoffStrategyValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e BackoffStrategyValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e BackoffStrategyValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e BackoffStrategyValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e BackoffStrategyValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e BackoffStrategyValidationError) ErrorName() string { return "BackoffStrategyValidationError" }
-
-// Error satisfies the builtin error interface
-func (e BackoffStrategyValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sBackoffStrategy.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = BackoffStrategyValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = BackoffStrategyValidationError{}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/base.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/base.pb.go
deleted file mode 100644
index ae88a6e889..0000000000
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/base.pb.go
+++ /dev/null
@@ -1,2154 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
-// source: envoy/api/v2/core/base.proto
-
-package core
-
-import (
- _ "github.com/cncf/xds/go/udpa/annotations"
- _type "github.com/envoyproxy/go-control-plane/envoy/type"
- _ "github.com/envoyproxy/protoc-gen-validate/validate"
- any "github.com/golang/protobuf/ptypes/any"
- _struct "github.com/golang/protobuf/ptypes/struct"
- wrappers "github.com/golang/protobuf/ptypes/wrappers"
- 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)
-)
-
-// Envoy supports :ref:`upstream priority routing
-// ` both at the route and the virtual
-// cluster level. The current priority implementation uses different connection
-// pool and circuit breaking settings for each priority level. This means that
-// even for HTTP/2 requests, two physical connections will be used to an
-// upstream host. In the future Envoy will likely support true HTTP/2 priority
-// over a single upstream connection.
-type RoutingPriority int32
-
-const (
- RoutingPriority_DEFAULT RoutingPriority = 0
- RoutingPriority_HIGH RoutingPriority = 1
-)
-
-// Enum value maps for RoutingPriority.
-var (
- RoutingPriority_name = map[int32]string{
- 0: "DEFAULT",
- 1: "HIGH",
- }
- RoutingPriority_value = map[string]int32{
- "DEFAULT": 0,
- "HIGH": 1,
- }
-)
-
-func (x RoutingPriority) Enum() *RoutingPriority {
- p := new(RoutingPriority)
- *p = x
- return p
-}
-
-func (x RoutingPriority) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (RoutingPriority) Descriptor() protoreflect.EnumDescriptor {
- return file_envoy_api_v2_core_base_proto_enumTypes[0].Descriptor()
-}
-
-func (RoutingPriority) Type() protoreflect.EnumType {
- return &file_envoy_api_v2_core_base_proto_enumTypes[0]
-}
-
-func (x RoutingPriority) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Use RoutingPriority.Descriptor instead.
-func (RoutingPriority) EnumDescriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{0}
-}
-
-// HTTP request method.
-type RequestMethod int32
-
-const (
- RequestMethod_METHOD_UNSPECIFIED RequestMethod = 0
- RequestMethod_GET RequestMethod = 1
- RequestMethod_HEAD RequestMethod = 2
- RequestMethod_POST RequestMethod = 3
- RequestMethod_PUT RequestMethod = 4
- RequestMethod_DELETE RequestMethod = 5
- RequestMethod_CONNECT RequestMethod = 6
- RequestMethod_OPTIONS RequestMethod = 7
- RequestMethod_TRACE RequestMethod = 8
- RequestMethod_PATCH RequestMethod = 9
-)
-
-// Enum value maps for RequestMethod.
-var (
- RequestMethod_name = map[int32]string{
- 0: "METHOD_UNSPECIFIED",
- 1: "GET",
- 2: "HEAD",
- 3: "POST",
- 4: "PUT",
- 5: "DELETE",
- 6: "CONNECT",
- 7: "OPTIONS",
- 8: "TRACE",
- 9: "PATCH",
- }
- RequestMethod_value = map[string]int32{
- "METHOD_UNSPECIFIED": 0,
- "GET": 1,
- "HEAD": 2,
- "POST": 3,
- "PUT": 4,
- "DELETE": 5,
- "CONNECT": 6,
- "OPTIONS": 7,
- "TRACE": 8,
- "PATCH": 9,
- }
-)
-
-func (x RequestMethod) Enum() *RequestMethod {
- p := new(RequestMethod)
- *p = x
- return p
-}
-
-func (x RequestMethod) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (RequestMethod) Descriptor() protoreflect.EnumDescriptor {
- return file_envoy_api_v2_core_base_proto_enumTypes[1].Descriptor()
-}
-
-func (RequestMethod) Type() protoreflect.EnumType {
- return &file_envoy_api_v2_core_base_proto_enumTypes[1]
-}
-
-func (x RequestMethod) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Use RequestMethod.Descriptor instead.
-func (RequestMethod) EnumDescriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{1}
-}
-
-// Identifies the direction of the traffic relative to the local Envoy.
-type TrafficDirection int32
-
-const (
- // Default option is unspecified.
- TrafficDirection_UNSPECIFIED TrafficDirection = 0
- // The transport is used for incoming traffic.
- TrafficDirection_INBOUND TrafficDirection = 1
- // The transport is used for outgoing traffic.
- TrafficDirection_OUTBOUND TrafficDirection = 2
-)
-
-// Enum value maps for TrafficDirection.
-var (
- TrafficDirection_name = map[int32]string{
- 0: "UNSPECIFIED",
- 1: "INBOUND",
- 2: "OUTBOUND",
- }
- TrafficDirection_value = map[string]int32{
- "UNSPECIFIED": 0,
- "INBOUND": 1,
- "OUTBOUND": 2,
- }
-)
-
-func (x TrafficDirection) Enum() *TrafficDirection {
- p := new(TrafficDirection)
- *p = x
- return p
-}
-
-func (x TrafficDirection) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (TrafficDirection) Descriptor() protoreflect.EnumDescriptor {
- return file_envoy_api_v2_core_base_proto_enumTypes[2].Descriptor()
-}
-
-func (TrafficDirection) Type() protoreflect.EnumType {
- return &file_envoy_api_v2_core_base_proto_enumTypes[2]
-}
-
-func (x TrafficDirection) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Use TrafficDirection.Descriptor instead.
-func (TrafficDirection) EnumDescriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{2}
-}
-
-// Identifies location of where either Envoy runs or where upstream hosts run.
-type Locality struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // Region this :ref:`zone ` belongs to.
- Region string `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"`
- // Defines the local service zone where Envoy is running. Though optional, it
- // should be set if discovery service routing is used and the discovery
- // service exposes :ref:`zone data `,
- // either in this message or via :option:`--service-zone`. The meaning of zone
- // is context dependent, e.g. `Availability Zone (AZ)
- // `_
- // on AWS, `Zone `_ on
- // GCP, etc.
- Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
- // When used for locality of upstream hosts, this field further splits zone
- // into smaller chunks of sub-zones so they can be load balanced
- // independently.
- SubZone string `protobuf:"bytes,3,opt,name=sub_zone,json=subZone,proto3" json:"sub_zone,omitempty"`
-}
-
-func (x *Locality) Reset() {
- *x = Locality{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_base_proto_msgTypes[0]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *Locality) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*Locality) ProtoMessage() {}
-
-func (x *Locality) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_base_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 Locality.ProtoReflect.Descriptor instead.
-func (*Locality) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{0}
-}
-
-func (x *Locality) GetRegion() string {
- if x != nil {
- return x.Region
- }
- return ""
-}
-
-func (x *Locality) GetZone() string {
- if x != nil {
- return x.Zone
- }
- return ""
-}
-
-func (x *Locality) GetSubZone() string {
- if x != nil {
- return x.SubZone
- }
- return ""
-}
-
-// BuildVersion combines SemVer version of extension with free-form build information
-// (i.e. 'alpha', 'private-build') as a set of strings.
-type BuildVersion struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // SemVer version of extension.
- Version *_type.SemanticVersion `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
- // Free-form build information.
- // Envoy defines several well known keys in the source/common/version/version.h file
- Metadata *_struct.Struct `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
-}
-
-func (x *BuildVersion) Reset() {
- *x = BuildVersion{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_base_proto_msgTypes[1]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *BuildVersion) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*BuildVersion) ProtoMessage() {}
-
-func (x *BuildVersion) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_base_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 BuildVersion.ProtoReflect.Descriptor instead.
-func (*BuildVersion) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{1}
-}
-
-func (x *BuildVersion) GetVersion() *_type.SemanticVersion {
- if x != nil {
- return x.Version
- }
- return nil
-}
-
-func (x *BuildVersion) GetMetadata() *_struct.Struct {
- if x != nil {
- return x.Metadata
- }
- return nil
-}
-
-// Version and identification for an Envoy extension.
-// [#next-free-field: 6]
-type Extension struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // This is the name of the Envoy filter as specified in the Envoy
- // configuration, e.g. envoy.filters.http.router, com.acme.widget.
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // Category of the extension.
- // Extension category names use reverse DNS notation. For instance "envoy.filters.listener"
- // for Envoy's built-in listener filters or "com.acme.filters.http" for HTTP filters from
- // acme.com vendor.
- // [#comment:TODO(yanavlasov): Link to the doc with existing envoy category names.]
- Category string `protobuf:"bytes,2,opt,name=category,proto3" json:"category,omitempty"`
- // [#not-implemented-hide:] Type descriptor of extension configuration proto.
- // [#comment:TODO(yanavlasov): Link to the doc with existing configuration protos.]
- // [#comment:TODO(yanavlasov): Add tests when PR #9391 lands.]
- TypeDescriptor string `protobuf:"bytes,3,opt,name=type_descriptor,json=typeDescriptor,proto3" json:"type_descriptor,omitempty"`
- // The version is a property of the extension and maintained independently
- // of other extensions and the Envoy API.
- // This field is not set when extension did not provide version information.
- Version *BuildVersion `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"`
- // Indicates that the extension is present but was disabled via dynamic configuration.
- Disabled bool `protobuf:"varint,5,opt,name=disabled,proto3" json:"disabled,omitempty"`
-}
-
-func (x *Extension) Reset() {
- *x = Extension{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_base_proto_msgTypes[2]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *Extension) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*Extension) ProtoMessage() {}
-
-func (x *Extension) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_base_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 Extension.ProtoReflect.Descriptor instead.
-func (*Extension) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{2}
-}
-
-func (x *Extension) GetName() string {
- if x != nil {
- return x.Name
- }
- return ""
-}
-
-func (x *Extension) GetCategory() string {
- if x != nil {
- return x.Category
- }
- return ""
-}
-
-func (x *Extension) GetTypeDescriptor() string {
- if x != nil {
- return x.TypeDescriptor
- }
- return ""
-}
-
-func (x *Extension) GetVersion() *BuildVersion {
- if x != nil {
- return x.Version
- }
- return nil
-}
-
-func (x *Extension) GetDisabled() bool {
- if x != nil {
- return x.Disabled
- }
- return false
-}
-
-// Identifies a specific Envoy instance. The node identifier is presented to the
-// management server, which may use this identifier to distinguish per Envoy
-// configuration for serving.
-// [#next-free-field: 12]
-type Node struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // An opaque node identifier for the Envoy node. This also provides the local
- // service node name. It should be set if any of the following features are
- // used: :ref:`statsd `, :ref:`CDS
- // `, and :ref:`HTTP tracing
- // `, either in this message or via
- // :option:`--service-node`.
- Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
- // Defines the local service cluster name where Envoy is running. Though
- // optional, it should be set if any of the following features are used:
- // :ref:`statsd `, :ref:`health check cluster
- // verification
- // `,
- // :ref:`runtime override directory `,
- // :ref:`user agent addition
- // `,
- // :ref:`HTTP global rate limiting `,
- // :ref:`CDS `, and :ref:`HTTP tracing
- // `, either in this message or via
- // :option:`--service-cluster`.
- Cluster string `protobuf:"bytes,2,opt,name=cluster,proto3" json:"cluster,omitempty"`
- // Opaque metadata extending the node identifier. Envoy will pass this
- // directly to the management server.
- Metadata *_struct.Struct `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"`
- // Locality specifying where the Envoy instance is running.
- Locality *Locality `protobuf:"bytes,4,opt,name=locality,proto3" json:"locality,omitempty"`
- // This is motivated by informing a management server during canary which
- // version of Envoy is being tested in a heterogeneous fleet. This will be set
- // by Envoy in management server RPCs.
- // This field is deprecated in favor of the user_agent_name and user_agent_version values.
- //
- // Deprecated: Do not use.
- BuildVersion string `protobuf:"bytes,5,opt,name=build_version,json=buildVersion,proto3" json:"build_version,omitempty"`
- // Free-form string that identifies the entity requesting config.
- // E.g. "envoy" or "grpc"
- UserAgentName string `protobuf:"bytes,6,opt,name=user_agent_name,json=userAgentName,proto3" json:"user_agent_name,omitempty"`
- // Types that are assignable to UserAgentVersionType:
- // *Node_UserAgentVersion
- // *Node_UserAgentBuildVersion
- UserAgentVersionType isNode_UserAgentVersionType `protobuf_oneof:"user_agent_version_type"`
- // List of extensions and their versions supported by the node.
- Extensions []*Extension `protobuf:"bytes,9,rep,name=extensions,proto3" json:"extensions,omitempty"`
- // Client feature support list. These are well known features described
- // in the Envoy API repository for a given major version of an API. Client features
- // use reverse DNS naming scheme, for example `com.acme.feature`.
- // See :ref:`the list of features ` that xDS client may
- // support.
- ClientFeatures []string `protobuf:"bytes,10,rep,name=client_features,json=clientFeatures,proto3" json:"client_features,omitempty"`
- // Known listening ports on the node as a generic hint to the management server
- // for filtering :ref:`listeners ` to be returned. For example,
- // if there is a listener bound to port 80, the list can optionally contain the
- // SocketAddress `(0.0.0.0,80)`. The field is optional and just a hint.
- ListeningAddresses []*Address `protobuf:"bytes,11,rep,name=listening_addresses,json=listeningAddresses,proto3" json:"listening_addresses,omitempty"`
-}
-
-func (x *Node) Reset() {
- *x = Node{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_base_proto_msgTypes[3]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *Node) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*Node) ProtoMessage() {}
-
-func (x *Node) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_base_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 Node.ProtoReflect.Descriptor instead.
-func (*Node) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{3}
-}
-
-func (x *Node) GetId() string {
- if x != nil {
- return x.Id
- }
- return ""
-}
-
-func (x *Node) GetCluster() string {
- if x != nil {
- return x.Cluster
- }
- return ""
-}
-
-func (x *Node) GetMetadata() *_struct.Struct {
- if x != nil {
- return x.Metadata
- }
- return nil
-}
-
-func (x *Node) GetLocality() *Locality {
- if x != nil {
- return x.Locality
- }
- return nil
-}
-
-// Deprecated: Do not use.
-func (x *Node) GetBuildVersion() string {
- if x != nil {
- return x.BuildVersion
- }
- return ""
-}
-
-func (x *Node) GetUserAgentName() string {
- if x != nil {
- return x.UserAgentName
- }
- return ""
-}
-
-func (m *Node) GetUserAgentVersionType() isNode_UserAgentVersionType {
- if m != nil {
- return m.UserAgentVersionType
- }
- return nil
-}
-
-func (x *Node) GetUserAgentVersion() string {
- if x, ok := x.GetUserAgentVersionType().(*Node_UserAgentVersion); ok {
- return x.UserAgentVersion
- }
- return ""
-}
-
-func (x *Node) GetUserAgentBuildVersion() *BuildVersion {
- if x, ok := x.GetUserAgentVersionType().(*Node_UserAgentBuildVersion); ok {
- return x.UserAgentBuildVersion
- }
- return nil
-}
-
-func (x *Node) GetExtensions() []*Extension {
- if x != nil {
- return x.Extensions
- }
- return nil
-}
-
-func (x *Node) GetClientFeatures() []string {
- if x != nil {
- return x.ClientFeatures
- }
- return nil
-}
-
-func (x *Node) GetListeningAddresses() []*Address {
- if x != nil {
- return x.ListeningAddresses
- }
- return nil
-}
-
-type isNode_UserAgentVersionType interface {
- isNode_UserAgentVersionType()
-}
-
-type Node_UserAgentVersion struct {
- // Free-form string that identifies the version of the entity requesting config.
- // E.g. "1.12.2" or "abcd1234", or "SpecialEnvoyBuild"
- UserAgentVersion string `protobuf:"bytes,7,opt,name=user_agent_version,json=userAgentVersion,proto3,oneof"`
-}
-
-type Node_UserAgentBuildVersion struct {
- // Structured version of the entity requesting config.
- UserAgentBuildVersion *BuildVersion `protobuf:"bytes,8,opt,name=user_agent_build_version,json=userAgentBuildVersion,proto3,oneof"`
-}
-
-func (*Node_UserAgentVersion) isNode_UserAgentVersionType() {}
-
-func (*Node_UserAgentBuildVersion) isNode_UserAgentVersionType() {}
-
-// Metadata provides additional inputs to filters based on matched listeners,
-// filter chains, routes and endpoints. It is structured as a map, usually from
-// filter name (in reverse DNS format) to metadata specific to the filter. Metadata
-// key-values for a filter are merged as connection and request handling occurs,
-// with later values for the same key overriding earlier values.
-//
-// An example use of metadata is providing additional values to
-// http_connection_manager in the envoy.http_connection_manager.access_log
-// namespace.
-//
-// Another example use of metadata is to per service config info in cluster metadata, which may get
-// consumed by multiple filters.
-//
-// For load balancing, Metadata provides a means to subset cluster endpoints.
-// Endpoints have a Metadata object associated and routes contain a Metadata
-// object to match against. There are some well defined metadata used today for
-// this purpose:
-//
-// * ``{"envoy.lb": {"canary": }}`` This indicates the canary status of an
-// endpoint and is also used during header processing
-// (x-envoy-upstream-canary) and for stats purposes.
-// [#next-major-version: move to type/metadata/v2]
-type Metadata struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.*
- // namespace is reserved for Envoy's built-in filters.
- FilterMetadata map[string]*_struct.Struct `protobuf:"bytes,1,rep,name=filter_metadata,json=filterMetadata,proto3" json:"filter_metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
-}
-
-func (x *Metadata) Reset() {
- *x = Metadata{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_base_proto_msgTypes[4]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *Metadata) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*Metadata) ProtoMessage() {}
-
-func (x *Metadata) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_base_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 Metadata.ProtoReflect.Descriptor instead.
-func (*Metadata) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{4}
-}
-
-func (x *Metadata) GetFilterMetadata() map[string]*_struct.Struct {
- if x != nil {
- return x.FilterMetadata
- }
- return nil
-}
-
-// Runtime derived uint32 with a default when not specified.
-type RuntimeUInt32 struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // Default value if runtime value is not available.
- DefaultValue uint32 `protobuf:"varint,2,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"`
- // Runtime key to get value for comparison. This value is used if defined.
- RuntimeKey string `protobuf:"bytes,3,opt,name=runtime_key,json=runtimeKey,proto3" json:"runtime_key,omitempty"`
-}
-
-func (x *RuntimeUInt32) Reset() {
- *x = RuntimeUInt32{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_base_proto_msgTypes[5]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *RuntimeUInt32) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*RuntimeUInt32) ProtoMessage() {}
-
-func (x *RuntimeUInt32) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_base_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 RuntimeUInt32.ProtoReflect.Descriptor instead.
-func (*RuntimeUInt32) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{5}
-}
-
-func (x *RuntimeUInt32) GetDefaultValue() uint32 {
- if x != nil {
- return x.DefaultValue
- }
- return 0
-}
-
-func (x *RuntimeUInt32) GetRuntimeKey() string {
- if x != nil {
- return x.RuntimeKey
- }
- return ""
-}
-
-// Runtime derived double with a default when not specified.
-type RuntimeDouble struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // Default value if runtime value is not available.
- DefaultValue float64 `protobuf:"fixed64,1,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"`
- // Runtime key to get value for comparison. This value is used if defined.
- RuntimeKey string `protobuf:"bytes,2,opt,name=runtime_key,json=runtimeKey,proto3" json:"runtime_key,omitempty"`
-}
-
-func (x *RuntimeDouble) Reset() {
- *x = RuntimeDouble{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_base_proto_msgTypes[6]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *RuntimeDouble) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*RuntimeDouble) ProtoMessage() {}
-
-func (x *RuntimeDouble) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_base_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 RuntimeDouble.ProtoReflect.Descriptor instead.
-func (*RuntimeDouble) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{6}
-}
-
-func (x *RuntimeDouble) GetDefaultValue() float64 {
- if x != nil {
- return x.DefaultValue
- }
- return 0
-}
-
-func (x *RuntimeDouble) GetRuntimeKey() string {
- if x != nil {
- return x.RuntimeKey
- }
- return ""
-}
-
-// Runtime derived bool with a default when not specified.
-type RuntimeFeatureFlag struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // Default value if runtime value is not available.
- DefaultValue *wrappers.BoolValue `protobuf:"bytes,1,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"`
- // Runtime key to get value for comparison. This value is used if defined. The boolean value must
- // be represented via its
- // `canonical JSON encoding `_.
- RuntimeKey string `protobuf:"bytes,2,opt,name=runtime_key,json=runtimeKey,proto3" json:"runtime_key,omitempty"`
-}
-
-func (x *RuntimeFeatureFlag) Reset() {
- *x = RuntimeFeatureFlag{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_base_proto_msgTypes[7]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *RuntimeFeatureFlag) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*RuntimeFeatureFlag) ProtoMessage() {}
-
-func (x *RuntimeFeatureFlag) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_base_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 RuntimeFeatureFlag.ProtoReflect.Descriptor instead.
-func (*RuntimeFeatureFlag) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{7}
-}
-
-func (x *RuntimeFeatureFlag) GetDefaultValue() *wrappers.BoolValue {
- if x != nil {
- return x.DefaultValue
- }
- return nil
-}
-
-func (x *RuntimeFeatureFlag) GetRuntimeKey() string {
- if x != nil {
- return x.RuntimeKey
- }
- return ""
-}
-
-// Header name/value pair.
-type HeaderValue struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // Header name.
- Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
- // Header value.
- //
- // The same :ref:`format specifier ` as used for
- // :ref:`HTTP access logging ` applies here, however
- // unknown header values are replaced with the empty string instead of `-`.
- Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
-}
-
-func (x *HeaderValue) Reset() {
- *x = HeaderValue{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_base_proto_msgTypes[8]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *HeaderValue) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*HeaderValue) ProtoMessage() {}
-
-func (x *HeaderValue) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_base_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 HeaderValue.ProtoReflect.Descriptor instead.
-func (*HeaderValue) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{8}
-}
-
-func (x *HeaderValue) GetKey() string {
- if x != nil {
- return x.Key
- }
- return ""
-}
-
-func (x *HeaderValue) GetValue() string {
- if x != nil {
- return x.Value
- }
- return ""
-}
-
-// Header name/value pair plus option to control append behavior.
-type HeaderValueOption struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // Header name/value pair that this option applies to.
- Header *HeaderValue `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
- // Should the value be appended? If true (default), the value is appended to
- // existing values.
- Append *wrappers.BoolValue `protobuf:"bytes,2,opt,name=append,proto3" json:"append,omitempty"`
-}
-
-func (x *HeaderValueOption) Reset() {
- *x = HeaderValueOption{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_base_proto_msgTypes[9]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *HeaderValueOption) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*HeaderValueOption) ProtoMessage() {}
-
-func (x *HeaderValueOption) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_base_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)
-}
-
-// Deprecated: Use HeaderValueOption.ProtoReflect.Descriptor instead.
-func (*HeaderValueOption) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{9}
-}
-
-func (x *HeaderValueOption) GetHeader() *HeaderValue {
- if x != nil {
- return x.Header
- }
- return nil
-}
-
-func (x *HeaderValueOption) GetAppend() *wrappers.BoolValue {
- if x != nil {
- return x.Append
- }
- return nil
-}
-
-// Wrapper for a set of headers.
-type HeaderMap struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- Headers []*HeaderValue `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty"`
-}
-
-func (x *HeaderMap) Reset() {
- *x = HeaderMap{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_base_proto_msgTypes[10]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *HeaderMap) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*HeaderMap) ProtoMessage() {}
-
-func (x *HeaderMap) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_base_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)
-}
-
-// Deprecated: Use HeaderMap.ProtoReflect.Descriptor instead.
-func (*HeaderMap) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{10}
-}
-
-func (x *HeaderMap) GetHeaders() []*HeaderValue {
- if x != nil {
- return x.Headers
- }
- return nil
-}
-
-// Data source consisting of either a file or an inline value.
-type DataSource struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // Types that are assignable to Specifier:
- // *DataSource_Filename
- // *DataSource_InlineBytes
- // *DataSource_InlineString
- Specifier isDataSource_Specifier `protobuf_oneof:"specifier"`
-}
-
-func (x *DataSource) Reset() {
- *x = DataSource{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_base_proto_msgTypes[11]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *DataSource) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*DataSource) ProtoMessage() {}
-
-func (x *DataSource) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_base_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)
-}
-
-// Deprecated: Use DataSource.ProtoReflect.Descriptor instead.
-func (*DataSource) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{11}
-}
-
-func (m *DataSource) GetSpecifier() isDataSource_Specifier {
- if m != nil {
- return m.Specifier
- }
- return nil
-}
-
-func (x *DataSource) GetFilename() string {
- if x, ok := x.GetSpecifier().(*DataSource_Filename); ok {
- return x.Filename
- }
- return ""
-}
-
-func (x *DataSource) GetInlineBytes() []byte {
- if x, ok := x.GetSpecifier().(*DataSource_InlineBytes); ok {
- return x.InlineBytes
- }
- return nil
-}
-
-func (x *DataSource) GetInlineString() string {
- if x, ok := x.GetSpecifier().(*DataSource_InlineString); ok {
- return x.InlineString
- }
- return ""
-}
-
-type isDataSource_Specifier interface {
- isDataSource_Specifier()
-}
-
-type DataSource_Filename struct {
- // Local filesystem data source.
- Filename string `protobuf:"bytes,1,opt,name=filename,proto3,oneof"`
-}
-
-type DataSource_InlineBytes struct {
- // Bytes inlined in the configuration.
- InlineBytes []byte `protobuf:"bytes,2,opt,name=inline_bytes,json=inlineBytes,proto3,oneof"`
-}
-
-type DataSource_InlineString struct {
- // String inlined in the configuration.
- InlineString string `protobuf:"bytes,3,opt,name=inline_string,json=inlineString,proto3,oneof"`
-}
-
-func (*DataSource_Filename) isDataSource_Specifier() {}
-
-func (*DataSource_InlineBytes) isDataSource_Specifier() {}
-
-func (*DataSource_InlineString) isDataSource_Specifier() {}
-
-// The message specifies the retry policy of remote data source when fetching fails.
-type RetryPolicy struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // Specifies parameters that control :ref:`retry backoff strategy `.
- // This parameter is optional, in which case the default base interval is 1000 milliseconds. The
- // default maximum interval is 10 times the base interval.
- RetryBackOff *BackoffStrategy `protobuf:"bytes,1,opt,name=retry_back_off,json=retryBackOff,proto3" json:"retry_back_off,omitempty"`
- // Specifies the allowed number of retries. This parameter is optional and
- // defaults to 1.
- NumRetries *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=num_retries,json=numRetries,proto3" json:"num_retries,omitempty"`
-}
-
-func (x *RetryPolicy) Reset() {
- *x = RetryPolicy{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_base_proto_msgTypes[12]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *RetryPolicy) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*RetryPolicy) ProtoMessage() {}
-
-func (x *RetryPolicy) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_base_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)
-}
-
-// Deprecated: Use RetryPolicy.ProtoReflect.Descriptor instead.
-func (*RetryPolicy) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{12}
-}
-
-func (x *RetryPolicy) GetRetryBackOff() *BackoffStrategy {
- if x != nil {
- return x.RetryBackOff
- }
- return nil
-}
-
-func (x *RetryPolicy) GetNumRetries() *wrappers.UInt32Value {
- if x != nil {
- return x.NumRetries
- }
- return nil
-}
-
-// The message specifies how to fetch data from remote and how to verify it.
-type RemoteDataSource struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // The HTTP URI to fetch the remote data.
- HttpUri *HttpUri `protobuf:"bytes,1,opt,name=http_uri,json=httpUri,proto3" json:"http_uri,omitempty"`
- // SHA256 string for verifying data.
- Sha256 string `protobuf:"bytes,2,opt,name=sha256,proto3" json:"sha256,omitempty"`
- // Retry policy for fetching remote data.
- RetryPolicy *RetryPolicy `protobuf:"bytes,3,opt,name=retry_policy,json=retryPolicy,proto3" json:"retry_policy,omitempty"`
-}
-
-func (x *RemoteDataSource) Reset() {
- *x = RemoteDataSource{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_base_proto_msgTypes[13]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *RemoteDataSource) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*RemoteDataSource) ProtoMessage() {}
-
-func (x *RemoteDataSource) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_base_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)
-}
-
-// Deprecated: Use RemoteDataSource.ProtoReflect.Descriptor instead.
-func (*RemoteDataSource) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{13}
-}
-
-func (x *RemoteDataSource) GetHttpUri() *HttpUri {
- if x != nil {
- return x.HttpUri
- }
- return nil
-}
-
-func (x *RemoteDataSource) GetSha256() string {
- if x != nil {
- return x.Sha256
- }
- return ""
-}
-
-func (x *RemoteDataSource) GetRetryPolicy() *RetryPolicy {
- if x != nil {
- return x.RetryPolicy
- }
- return nil
-}
-
-// Async data source which support async data fetch.
-type AsyncDataSource struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // Types that are assignable to Specifier:
- // *AsyncDataSource_Local
- // *AsyncDataSource_Remote
- Specifier isAsyncDataSource_Specifier `protobuf_oneof:"specifier"`
-}
-
-func (x *AsyncDataSource) Reset() {
- *x = AsyncDataSource{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_base_proto_msgTypes[14]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *AsyncDataSource) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*AsyncDataSource) ProtoMessage() {}
-
-func (x *AsyncDataSource) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_base_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)
-}
-
-// Deprecated: Use AsyncDataSource.ProtoReflect.Descriptor instead.
-func (*AsyncDataSource) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{14}
-}
-
-func (m *AsyncDataSource) GetSpecifier() isAsyncDataSource_Specifier {
- if m != nil {
- return m.Specifier
- }
- return nil
-}
-
-func (x *AsyncDataSource) GetLocal() *DataSource {
- if x, ok := x.GetSpecifier().(*AsyncDataSource_Local); ok {
- return x.Local
- }
- return nil
-}
-
-func (x *AsyncDataSource) GetRemote() *RemoteDataSource {
- if x, ok := x.GetSpecifier().(*AsyncDataSource_Remote); ok {
- return x.Remote
- }
- return nil
-}
-
-type isAsyncDataSource_Specifier interface {
- isAsyncDataSource_Specifier()
-}
-
-type AsyncDataSource_Local struct {
- // Local async data source.
- Local *DataSource `protobuf:"bytes,1,opt,name=local,proto3,oneof"`
-}
-
-type AsyncDataSource_Remote struct {
- // Remote async data source.
- Remote *RemoteDataSource `protobuf:"bytes,2,opt,name=remote,proto3,oneof"`
-}
-
-func (*AsyncDataSource_Local) isAsyncDataSource_Specifier() {}
-
-func (*AsyncDataSource_Remote) isAsyncDataSource_Specifier() {}
-
-// Configuration for transport socket in :ref:`listeners ` and
-// :ref:`clusters `. If the configuration is
-// empty, a default transport socket implementation and configuration will be
-// chosen based on the platform and existence of tls_context.
-type TransportSocket struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // The name of the transport socket to instantiate. The name must match a supported transport
- // socket implementation.
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // Implementation specific configuration which depends on the implementation being instantiated.
- // See the supported transport socket implementations for further documentation.
- //
- // Types that are assignable to ConfigType:
- // *TransportSocket_Config
- // *TransportSocket_TypedConfig
- ConfigType isTransportSocket_ConfigType `protobuf_oneof:"config_type"`
-}
-
-func (x *TransportSocket) Reset() {
- *x = TransportSocket{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_base_proto_msgTypes[15]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *TransportSocket) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*TransportSocket) ProtoMessage() {}
-
-func (x *TransportSocket) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_base_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)
-}
-
-// Deprecated: Use TransportSocket.ProtoReflect.Descriptor instead.
-func (*TransportSocket) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{15}
-}
-
-func (x *TransportSocket) GetName() string {
- if x != nil {
- return x.Name
- }
- return ""
-}
-
-func (m *TransportSocket) GetConfigType() isTransportSocket_ConfigType {
- if m != nil {
- return m.ConfigType
- }
- return nil
-}
-
-// Deprecated: Do not use.
-func (x *TransportSocket) GetConfig() *_struct.Struct {
- if x, ok := x.GetConfigType().(*TransportSocket_Config); ok {
- return x.Config
- }
- return nil
-}
-
-func (x *TransportSocket) GetTypedConfig() *any.Any {
- if x, ok := x.GetConfigType().(*TransportSocket_TypedConfig); ok {
- return x.TypedConfig
- }
- return nil
-}
-
-type isTransportSocket_ConfigType interface {
- isTransportSocket_ConfigType()
-}
-
-type TransportSocket_Config struct {
- // Deprecated: Do not use.
- Config *_struct.Struct `protobuf:"bytes,2,opt,name=config,proto3,oneof"`
-}
-
-type TransportSocket_TypedConfig struct {
- TypedConfig *any.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"`
-}
-
-func (*TransportSocket_Config) isTransportSocket_ConfigType() {}
-
-func (*TransportSocket_TypedConfig) isTransportSocket_ConfigType() {}
-
-// Runtime derived FractionalPercent with defaults for when the numerator or denominator is not
-// specified via a runtime key.
-//
-// .. note::
-//
-// Parsing of the runtime key's data is implemented such that it may be represented as a
-// :ref:`FractionalPercent ` proto represented as JSON/YAML
-// and may also be represented as an integer with the assumption that the value is an integral
-// percentage out of 100. For instance, a runtime key lookup returning the value "42" would parse
-// as a `FractionalPercent` whose numerator is 42 and denominator is HUNDRED.
-type RuntimeFractionalPercent struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // Default value if the runtime value's for the numerator/denominator keys are not available.
- DefaultValue *_type.FractionalPercent `protobuf:"bytes,1,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"`
- // Runtime key for a YAML representation of a FractionalPercent.
- RuntimeKey string `protobuf:"bytes,2,opt,name=runtime_key,json=runtimeKey,proto3" json:"runtime_key,omitempty"`
-}
-
-func (x *RuntimeFractionalPercent) Reset() {
- *x = RuntimeFractionalPercent{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_base_proto_msgTypes[16]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *RuntimeFractionalPercent) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*RuntimeFractionalPercent) ProtoMessage() {}
-
-func (x *RuntimeFractionalPercent) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_base_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)
-}
-
-// Deprecated: Use RuntimeFractionalPercent.ProtoReflect.Descriptor instead.
-func (*RuntimeFractionalPercent) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{16}
-}
-
-func (x *RuntimeFractionalPercent) GetDefaultValue() *_type.FractionalPercent {
- if x != nil {
- return x.DefaultValue
- }
- return nil
-}
-
-func (x *RuntimeFractionalPercent) GetRuntimeKey() string {
- if x != nil {
- return x.RuntimeKey
- }
- return ""
-}
-
-// Identifies a specific ControlPlane instance that Envoy is connected to.
-type ControlPlane struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // An opaque control plane identifier that uniquely identifies an instance
- // of control plane. This can be used to identify which control plane instance,
- // the Envoy is connected to.
- Identifier string `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"`
-}
-
-func (x *ControlPlane) Reset() {
- *x = ControlPlane{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_base_proto_msgTypes[17]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *ControlPlane) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*ControlPlane) ProtoMessage() {}
-
-func (x *ControlPlane) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_base_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)
-}
-
-// Deprecated: Use ControlPlane.ProtoReflect.Descriptor instead.
-func (*ControlPlane) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{17}
-}
-
-func (x *ControlPlane) GetIdentifier() string {
- if x != nil {
- return x.Identifier
- }
- return ""
-}
-
-var File_envoy_api_v2_core_base_proto protoreflect.FileDescriptor
-
-var file_envoy_api_v2_core_base_proto_rawDesc = []byte{
- 0x0a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63,
- 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11,
- 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72,
- 0x65, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f,
- 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32,
- 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76,
- 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72, 0x69, 0x2e,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70,
- 0x65, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
- 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x73, 0x65, 0x6d, 0x61,
- 0x6e, 0x74, 0x69, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 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, 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, 0x1e, 0x75, 0x64, 0x70,
- 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69,
- 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70,
- 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74,
- 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69,
- 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76,
- 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x70,
- 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x51, 0x0a, 0x08, 0x4c, 0x6f,
- 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x12,
- 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x7a, 0x6f,
- 0x6e, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x03,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x5a, 0x6f, 0x6e, 0x65, 0x22, 0x7a, 0x0a,
- 0x0c, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a,
- 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
- 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x53, 0x65, 0x6d, 0x61,
- 0x6e, 0x74, 0x69, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72,
- 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
- 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,
- 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xbb, 0x01, 0x0a, 0x09, 0x45, 0x78,
- 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63,
- 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63,
- 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x79, 0x70, 0x65, 0x5f,
- 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x0e, 0x74, 0x79, 0x70, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72,
- 0x12, 0x39, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32,
- 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69,
- 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x64,
- 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64,
- 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xca, 0x04, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65,
- 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
- 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x65,
- 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 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, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12,
- 0x37, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32,
- 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x08,
- 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x27, 0x0a, 0x0d, 0x62, 0x75, 0x69, 0x6c,
- 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42,
- 0x02, 0x18, 0x01, 0x52, 0x0c, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
- 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f,
- 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x72,
- 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x75, 0x73, 0x65,
- 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
- 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65,
- 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x5a, 0x0a, 0x18, 0x75, 0x73, 0x65,
- 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x76, 0x65,
- 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e,
- 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
- 0x42, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x15,
- 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x65,
- 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
- 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
- 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x78,
- 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
- 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x65,
- 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6c,
- 0x69, 0x65, 0x6e, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x13,
- 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
- 0x73, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
- 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64,
- 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x12, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, 0x6e, 0x67,
- 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x75, 0x73, 0x65,
- 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f,
- 0x74, 0x79, 0x70, 0x65, 0x22, 0xc0, 0x01, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
- 0x61, 0x12, 0x58, 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x74, 0x61,
- 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76,
- 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4d,
- 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x65,
- 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x66, 0x69, 0x6c,
- 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x5a, 0x0a, 0x13, 0x46,
- 0x69, 0x6c, 0x74, 0x65, 0x72, 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, 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, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x5e, 0x0a, 0x0d, 0x52, 0x75, 0x6e, 0x74, 0x69,
- 0x6d, 0x65, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61,
- 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
- 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x28, 0x0a,
- 0x0b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01,
- 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0a, 0x72, 0x75, 0x6e,
- 0x74, 0x69, 0x6d, 0x65, 0x4b, 0x65, 0x79, 0x22, 0x5e, 0x0a, 0x0d, 0x52, 0x75, 0x6e, 0x74, 0x69,
- 0x6d, 0x65, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61,
- 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52,
- 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x28, 0x0a,
- 0x0b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0a, 0x72, 0x75, 0x6e,
- 0x74, 0x69, 0x6d, 0x65, 0x4b, 0x65, 0x79, 0x22, 0x89, 0x01, 0x0a, 0x12, 0x52, 0x75, 0x6e, 0x74,
- 0x69, 0x6d, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x49,
- 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
- 0x01, 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, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x64, 0x65, 0x66,
- 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x28, 0x0a, 0x0b, 0x72, 0x75, 0x6e,
- 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07,
- 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0a, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65,
- 0x4b, 0x65, 0x79, 0x22, 0x59, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c,
- 0x75, 0x65, 0x12, 0x23, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
- 0x11, 0xfa, 0x42, 0x0e, 0x72, 0x0c, 0x20, 0x01, 0x28, 0x80, 0x80, 0x01, 0xc0, 0x01, 0x01, 0xc8,
- 0x01, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0f, 0xfa, 0x42, 0x0c, 0x72, 0x0a, 0x28, 0x80, 0x80,
- 0x01, 0xc0, 0x01, 0x02, 0xc8, 0x01, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x89,
- 0x01, 0x0a, 0x11, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70,
- 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69,
- 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56,
- 0x61, 0x6c, 0x75, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06,
- 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64,
- 0x18, 0x02, 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, 0x06, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x22, 0x45, 0x0a, 0x09, 0x48, 0x65,
- 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x12, 0x38, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65,
- 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61,
- 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72,
- 0x73, 0x22, 0xa3, 0x01, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x12, 0x25, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x48, 0x00, 0x52, 0x08, 0x66,
- 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x0c, 0x69, 0x6e, 0x6c, 0x69, 0x6e,
- 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x07, 0xfa,
- 0x42, 0x04, 0x7a, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65,
- 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x0d, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f,
- 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42,
- 0x04, 0x72, 0x02, 0x20, 0x01, 0x48, 0x00, 0x52, 0x0c, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53,
- 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x10, 0x0a, 0x09, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69,
- 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x96, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x74, 0x72,
- 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x48, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x72, 0x79,
- 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x6f, 0x66, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63,
- 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x53, 0x74, 0x72, 0x61, 0x74,
- 0x65, 0x67, 0x79, 0x52, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x4f, 0x66,
- 0x66, 0x12, 0x3d, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73,
- 0x18, 0x02, 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, 0x0a, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73,
- 0x22, 0xb7, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72,
- 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
- 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70,
- 0x55, 0x72, 0x69, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x68,
- 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x12, 0x1f, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52,
- 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x41, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79,
- 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
- 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72,
- 0x65, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 0x72,
- 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x99, 0x01, 0x0a, 0x0f, 0x41,
- 0x73, 0x79, 0x6e, 0x63, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x35,
- 0x0a, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e,
- 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72,
- 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x05,
- 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x3d, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70,
- 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65,
- 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65,
- 0x6d, 0x6f, 0x74, 0x65, 0x42, 0x10, 0x0a, 0x09, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65,
- 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xaf, 0x01, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73,
- 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61,
- 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20,
- 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 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,
- 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39,
- 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79,
- 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e,
- 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x89, 0x01, 0x0a, 0x18, 0x52, 0x75, 0x6e,
- 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65,
- 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x4c, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
- 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65,
- 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69,
- 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05,
- 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61,
- 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6b,
- 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d,
- 0x65, 0x4b, 0x65, 0x79, 0x22, 0x2e, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50,
- 0x6c, 0x61, 0x6e, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69,
- 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69,
- 0x66, 0x69, 0x65, 0x72, 0x2a, 0x28, 0x0a, 0x0f, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50,
- 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55,
- 0x4c, 0x54, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x49, 0x47, 0x48, 0x10, 0x01, 0x2a, 0x89,
- 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64,
- 0x12, 0x16, 0x0a, 0x12, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45,
- 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x47, 0x45, 0x54, 0x10,
- 0x01, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x45, 0x41, 0x44, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x50,
- 0x4f, 0x53, 0x54, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x55, 0x54, 0x10, 0x04, 0x12, 0x0a,
- 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f,
- 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x50, 0x54, 0x49, 0x4f,
- 0x4e, 0x53, 0x10, 0x07, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x08, 0x12,
- 0x09, 0x0a, 0x05, 0x50, 0x41, 0x54, 0x43, 0x48, 0x10, 0x09, 0x2a, 0x3e, 0x0a, 0x10, 0x54, 0x72,
- 0x61, 0x66, 0x66, 0x69, 0x63, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0f,
- 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
- 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08,
- 0x4f, 0x55, 0x54, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x02, 0x42, 0x8c, 0x01, 0x0a, 0x1f, 0x69,
- 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76,
- 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x09,
- 0x42, 0x61, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x69, 0x74,
- 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f,
- 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c,
- 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32,
- 0x2f, 0x63, 0x6f, 0x72, 0x65, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x16, 0x12, 0x14, 0x65, 0x6e, 0x76,
- 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76,
- 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x50, 0x0b, 0x62, 0x06, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x33,
-}
-
-var (
- file_envoy_api_v2_core_base_proto_rawDescOnce sync.Once
- file_envoy_api_v2_core_base_proto_rawDescData = file_envoy_api_v2_core_base_proto_rawDesc
-)
-
-func file_envoy_api_v2_core_base_proto_rawDescGZIP() []byte {
- file_envoy_api_v2_core_base_proto_rawDescOnce.Do(func() {
- file_envoy_api_v2_core_base_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_core_base_proto_rawDescData)
- })
- return file_envoy_api_v2_core_base_proto_rawDescData
-}
-
-var file_envoy_api_v2_core_base_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
-var file_envoy_api_v2_core_base_proto_msgTypes = make([]protoimpl.MessageInfo, 19)
-var file_envoy_api_v2_core_base_proto_goTypes = []interface{}{
- (RoutingPriority)(0), // 0: envoy.api.v2.core.RoutingPriority
- (RequestMethod)(0), // 1: envoy.api.v2.core.RequestMethod
- (TrafficDirection)(0), // 2: envoy.api.v2.core.TrafficDirection
- (*Locality)(nil), // 3: envoy.api.v2.core.Locality
- (*BuildVersion)(nil), // 4: envoy.api.v2.core.BuildVersion
- (*Extension)(nil), // 5: envoy.api.v2.core.Extension
- (*Node)(nil), // 6: envoy.api.v2.core.Node
- (*Metadata)(nil), // 7: envoy.api.v2.core.Metadata
- (*RuntimeUInt32)(nil), // 8: envoy.api.v2.core.RuntimeUInt32
- (*RuntimeDouble)(nil), // 9: envoy.api.v2.core.RuntimeDouble
- (*RuntimeFeatureFlag)(nil), // 10: envoy.api.v2.core.RuntimeFeatureFlag
- (*HeaderValue)(nil), // 11: envoy.api.v2.core.HeaderValue
- (*HeaderValueOption)(nil), // 12: envoy.api.v2.core.HeaderValueOption
- (*HeaderMap)(nil), // 13: envoy.api.v2.core.HeaderMap
- (*DataSource)(nil), // 14: envoy.api.v2.core.DataSource
- (*RetryPolicy)(nil), // 15: envoy.api.v2.core.RetryPolicy
- (*RemoteDataSource)(nil), // 16: envoy.api.v2.core.RemoteDataSource
- (*AsyncDataSource)(nil), // 17: envoy.api.v2.core.AsyncDataSource
- (*TransportSocket)(nil), // 18: envoy.api.v2.core.TransportSocket
- (*RuntimeFractionalPercent)(nil), // 19: envoy.api.v2.core.RuntimeFractionalPercent
- (*ControlPlane)(nil), // 20: envoy.api.v2.core.ControlPlane
- nil, // 21: envoy.api.v2.core.Metadata.FilterMetadataEntry
- (*_type.SemanticVersion)(nil), // 22: envoy.type.SemanticVersion
- (*_struct.Struct)(nil), // 23: google.protobuf.Struct
- (*Address)(nil), // 24: envoy.api.v2.core.Address
- (*wrappers.BoolValue)(nil), // 25: google.protobuf.BoolValue
- (*BackoffStrategy)(nil), // 26: envoy.api.v2.core.BackoffStrategy
- (*wrappers.UInt32Value)(nil), // 27: google.protobuf.UInt32Value
- (*HttpUri)(nil), // 28: envoy.api.v2.core.HttpUri
- (*any.Any)(nil), // 29: google.protobuf.Any
- (*_type.FractionalPercent)(nil), // 30: envoy.type.FractionalPercent
-}
-var file_envoy_api_v2_core_base_proto_depIdxs = []int32{
- 22, // 0: envoy.api.v2.core.BuildVersion.version:type_name -> envoy.type.SemanticVersion
- 23, // 1: envoy.api.v2.core.BuildVersion.metadata:type_name -> google.protobuf.Struct
- 4, // 2: envoy.api.v2.core.Extension.version:type_name -> envoy.api.v2.core.BuildVersion
- 23, // 3: envoy.api.v2.core.Node.metadata:type_name -> google.protobuf.Struct
- 3, // 4: envoy.api.v2.core.Node.locality:type_name -> envoy.api.v2.core.Locality
- 4, // 5: envoy.api.v2.core.Node.user_agent_build_version:type_name -> envoy.api.v2.core.BuildVersion
- 5, // 6: envoy.api.v2.core.Node.extensions:type_name -> envoy.api.v2.core.Extension
- 24, // 7: envoy.api.v2.core.Node.listening_addresses:type_name -> envoy.api.v2.core.Address
- 21, // 8: envoy.api.v2.core.Metadata.filter_metadata:type_name -> envoy.api.v2.core.Metadata.FilterMetadataEntry
- 25, // 9: envoy.api.v2.core.RuntimeFeatureFlag.default_value:type_name -> google.protobuf.BoolValue
- 11, // 10: envoy.api.v2.core.HeaderValueOption.header:type_name -> envoy.api.v2.core.HeaderValue
- 25, // 11: envoy.api.v2.core.HeaderValueOption.append:type_name -> google.protobuf.BoolValue
- 11, // 12: envoy.api.v2.core.HeaderMap.headers:type_name -> envoy.api.v2.core.HeaderValue
- 26, // 13: envoy.api.v2.core.RetryPolicy.retry_back_off:type_name -> envoy.api.v2.core.BackoffStrategy
- 27, // 14: envoy.api.v2.core.RetryPolicy.num_retries:type_name -> google.protobuf.UInt32Value
- 28, // 15: envoy.api.v2.core.RemoteDataSource.http_uri:type_name -> envoy.api.v2.core.HttpUri
- 15, // 16: envoy.api.v2.core.RemoteDataSource.retry_policy:type_name -> envoy.api.v2.core.RetryPolicy
- 14, // 17: envoy.api.v2.core.AsyncDataSource.local:type_name -> envoy.api.v2.core.DataSource
- 16, // 18: envoy.api.v2.core.AsyncDataSource.remote:type_name -> envoy.api.v2.core.RemoteDataSource
- 23, // 19: envoy.api.v2.core.TransportSocket.config:type_name -> google.protobuf.Struct
- 29, // 20: envoy.api.v2.core.TransportSocket.typed_config:type_name -> google.protobuf.Any
- 30, // 21: envoy.api.v2.core.RuntimeFractionalPercent.default_value:type_name -> envoy.type.FractionalPercent
- 23, // 22: envoy.api.v2.core.Metadata.FilterMetadataEntry.value:type_name -> google.protobuf.Struct
- 23, // [23:23] is the sub-list for method output_type
- 23, // [23:23] is the sub-list for method input_type
- 23, // [23:23] is the sub-list for extension type_name
- 23, // [23:23] is the sub-list for extension extendee
- 0, // [0:23] is the sub-list for field type_name
-}
-
-func init() { file_envoy_api_v2_core_base_proto_init() }
-func file_envoy_api_v2_core_base_proto_init() {
- if File_envoy_api_v2_core_base_proto != nil {
- return
- }
- file_envoy_api_v2_core_address_proto_init()
- file_envoy_api_v2_core_backoff_proto_init()
- file_envoy_api_v2_core_http_uri_proto_init()
- file_envoy_api_v2_core_socket_option_proto_init()
- if !protoimpl.UnsafeEnabled {
- file_envoy_api_v2_core_base_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*Locality); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_base_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*BuildVersion); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_base_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*Extension); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_base_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*Node); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_base_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*Metadata); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_base_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RuntimeUInt32); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_base_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RuntimeDouble); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_base_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RuntimeFeatureFlag); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_base_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*HeaderValue); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_base_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*HeaderValueOption); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_base_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*HeaderMap); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_base_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*DataSource); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_base_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RetryPolicy); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_base_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RemoteDataSource); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_base_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*AsyncDataSource); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_base_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*TransportSocket); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_base_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RuntimeFractionalPercent); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_base_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ControlPlane); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- }
- file_envoy_api_v2_core_base_proto_msgTypes[3].OneofWrappers = []interface{}{
- (*Node_UserAgentVersion)(nil),
- (*Node_UserAgentBuildVersion)(nil),
- }
- file_envoy_api_v2_core_base_proto_msgTypes[11].OneofWrappers = []interface{}{
- (*DataSource_Filename)(nil),
- (*DataSource_InlineBytes)(nil),
- (*DataSource_InlineString)(nil),
- }
- file_envoy_api_v2_core_base_proto_msgTypes[14].OneofWrappers = []interface{}{
- (*AsyncDataSource_Local)(nil),
- (*AsyncDataSource_Remote)(nil),
- }
- file_envoy_api_v2_core_base_proto_msgTypes[15].OneofWrappers = []interface{}{
- (*TransportSocket_Config)(nil),
- (*TransportSocket_TypedConfig)(nil),
- }
- type x struct{}
- out := protoimpl.TypeBuilder{
- File: protoimpl.DescBuilder{
- GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
- RawDescriptor: file_envoy_api_v2_core_base_proto_rawDesc,
- NumEnums: 3,
- NumMessages: 19,
- NumExtensions: 0,
- NumServices: 0,
- },
- GoTypes: file_envoy_api_v2_core_base_proto_goTypes,
- DependencyIndexes: file_envoy_api_v2_core_base_proto_depIdxs,
- EnumInfos: file_envoy_api_v2_core_base_proto_enumTypes,
- MessageInfos: file_envoy_api_v2_core_base_proto_msgTypes,
- }.Build()
- File_envoy_api_v2_core_base_proto = out.File
- file_envoy_api_v2_core_base_proto_rawDesc = nil
- file_envoy_api_v2_core_base_proto_goTypes = nil
- file_envoy_api_v2_core_base_proto_depIdxs = nil
-}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/base.pb.validate.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/base.pb.validate.go
deleted file mode 100644
index 838b1b337c..0000000000
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/base.pb.validate.go
+++ /dev/null
@@ -1,2766 +0,0 @@
-// Code generated by protoc-gen-validate. DO NOT EDIT.
-// source: envoy/api/v2/core/base.proto
-
-package core
-
-import (
- "bytes"
- "errors"
- "fmt"
- "net"
- "net/mail"
- "net/url"
- "regexp"
- "sort"
- "strings"
- "time"
- "unicode/utf8"
-
- "google.golang.org/protobuf/types/known/anypb"
-)
-
-// ensure the imports are used
-var (
- _ = bytes.MinRead
- _ = errors.New("")
- _ = fmt.Print
- _ = utf8.UTFMax
- _ = (*regexp.Regexp)(nil)
- _ = (*strings.Reader)(nil)
- _ = net.IPv4len
- _ = time.Duration(0)
- _ = (*url.URL)(nil)
- _ = (*mail.Address)(nil)
- _ = anypb.Any{}
- _ = sort.Sort
-)
-
-// Validate checks the field values on Locality with the rules defined in the
-// proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *Locality) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on Locality with the rules defined in
-// the proto definition for this message. If any rules are violated, the
-// result is a list of violation errors wrapped in LocalityMultiError, or nil
-// if none found.
-func (m *Locality) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *Locality) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- // no validation rules for Region
-
- // no validation rules for Zone
-
- // no validation rules for SubZone
-
- if len(errors) > 0 {
- return LocalityMultiError(errors)
- }
-
- return nil
-}
-
-// LocalityMultiError is an error wrapping multiple validation errors returned
-// by Locality.ValidateAll() if the designated constraints aren't met.
-type LocalityMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m LocalityMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m LocalityMultiError) AllErrors() []error { return m }
-
-// LocalityValidationError is the validation error returned by
-// Locality.Validate if the designated constraints aren't met.
-type LocalityValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e LocalityValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e LocalityValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e LocalityValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e LocalityValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e LocalityValidationError) ErrorName() string { return "LocalityValidationError" }
-
-// Error satisfies the builtin error interface
-func (e LocalityValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sLocality.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = LocalityValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = LocalityValidationError{}
-
-// Validate checks the field values on BuildVersion with the rules defined in
-// the proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *BuildVersion) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on BuildVersion with the rules defined
-// in the proto definition for this message. If any rules are violated, the
-// result is a list of violation errors wrapped in BuildVersionMultiError, or
-// nil if none found.
-func (m *BuildVersion) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *BuildVersion) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if all {
- switch v := interface{}(m.GetVersion()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, BuildVersionValidationError{
- field: "Version",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, BuildVersionValidationError{
- field: "Version",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetVersion()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return BuildVersionValidationError{
- field: "Version",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetMetadata()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, BuildVersionValidationError{
- field: "Metadata",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, BuildVersionValidationError{
- field: "Metadata",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return BuildVersionValidationError{
- field: "Metadata",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if len(errors) > 0 {
- return BuildVersionMultiError(errors)
- }
-
- return nil
-}
-
-// BuildVersionMultiError is an error wrapping multiple validation errors
-// returned by BuildVersion.ValidateAll() if the designated constraints aren't met.
-type BuildVersionMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m BuildVersionMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m BuildVersionMultiError) AllErrors() []error { return m }
-
-// BuildVersionValidationError is the validation error returned by
-// BuildVersion.Validate if the designated constraints aren't met.
-type BuildVersionValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e BuildVersionValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e BuildVersionValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e BuildVersionValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e BuildVersionValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e BuildVersionValidationError) ErrorName() string { return "BuildVersionValidationError" }
-
-// Error satisfies the builtin error interface
-func (e BuildVersionValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sBuildVersion.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = BuildVersionValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = BuildVersionValidationError{}
-
-// Validate checks the field values on Extension with the rules defined in the
-// proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *Extension) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on Extension with the rules defined in
-// the proto definition for this message. If any rules are violated, the
-// result is a list of violation errors wrapped in ExtensionMultiError, or nil
-// if none found.
-func (m *Extension) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *Extension) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- // no validation rules for Name
-
- // no validation rules for Category
-
- // no validation rules for TypeDescriptor
-
- if all {
- switch v := interface{}(m.GetVersion()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ExtensionValidationError{
- field: "Version",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ExtensionValidationError{
- field: "Version",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetVersion()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ExtensionValidationError{
- field: "Version",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- // no validation rules for Disabled
-
- if len(errors) > 0 {
- return ExtensionMultiError(errors)
- }
-
- return nil
-}
-
-// ExtensionMultiError is an error wrapping multiple validation errors returned
-// by Extension.ValidateAll() if the designated constraints aren't met.
-type ExtensionMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m ExtensionMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m ExtensionMultiError) AllErrors() []error { return m }
-
-// ExtensionValidationError is the validation error returned by
-// Extension.Validate if the designated constraints aren't met.
-type ExtensionValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e ExtensionValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e ExtensionValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e ExtensionValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e ExtensionValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e ExtensionValidationError) ErrorName() string { return "ExtensionValidationError" }
-
-// Error satisfies the builtin error interface
-func (e ExtensionValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sExtension.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = ExtensionValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = ExtensionValidationError{}
-
-// Validate checks the field values on Node with the rules defined in the proto
-// definition for this message. If any rules are violated, the first error
-// encountered is returned, or nil if there are no violations.
-func (m *Node) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on Node with the rules defined in the
-// proto definition for this message. If any rules are violated, the result is
-// a list of violation errors wrapped in NodeMultiError, or nil if none found.
-func (m *Node) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *Node) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- // no validation rules for Id
-
- // no validation rules for Cluster
-
- if all {
- switch v := interface{}(m.GetMetadata()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, NodeValidationError{
- field: "Metadata",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, NodeValidationError{
- field: "Metadata",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return NodeValidationError{
- field: "Metadata",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetLocality()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, NodeValidationError{
- field: "Locality",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, NodeValidationError{
- field: "Locality",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetLocality()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return NodeValidationError{
- field: "Locality",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- // no validation rules for BuildVersion
-
- // no validation rules for UserAgentName
-
- for idx, item := range m.GetExtensions() {
- _, _ = idx, item
-
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, NodeValidationError{
- field: fmt.Sprintf("Extensions[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, NodeValidationError{
- field: fmt.Sprintf("Extensions[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return NodeValidationError{
- field: fmt.Sprintf("Extensions[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
-
- for idx, item := range m.GetListeningAddresses() {
- _, _ = idx, item
-
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, NodeValidationError{
- field: fmt.Sprintf("ListeningAddresses[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, NodeValidationError{
- field: fmt.Sprintf("ListeningAddresses[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return NodeValidationError{
- field: fmt.Sprintf("ListeningAddresses[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
-
- switch m.UserAgentVersionType.(type) {
-
- case *Node_UserAgentVersion:
- // no validation rules for UserAgentVersion
-
- case *Node_UserAgentBuildVersion:
-
- if all {
- switch v := interface{}(m.GetUserAgentBuildVersion()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, NodeValidationError{
- field: "UserAgentBuildVersion",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, NodeValidationError{
- field: "UserAgentBuildVersion",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetUserAgentBuildVersion()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return NodeValidationError{
- field: "UserAgentBuildVersion",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
-
- if len(errors) > 0 {
- return NodeMultiError(errors)
- }
-
- return nil
-}
-
-// NodeMultiError is an error wrapping multiple validation errors returned by
-// Node.ValidateAll() if the designated constraints aren't met.
-type NodeMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m NodeMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m NodeMultiError) AllErrors() []error { return m }
-
-// NodeValidationError is the validation error returned by Node.Validate if the
-// designated constraints aren't met.
-type NodeValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e NodeValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e NodeValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e NodeValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e NodeValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e NodeValidationError) ErrorName() string { return "NodeValidationError" }
-
-// Error satisfies the builtin error interface
-func (e NodeValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sNode.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = NodeValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = NodeValidationError{}
-
-// Validate checks the field values on Metadata with the rules defined in the
-// proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *Metadata) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on Metadata with the rules defined in
-// the proto definition for this message. If any rules are violated, the
-// result is a list of violation errors wrapped in MetadataMultiError, or nil
-// if none found.
-func (m *Metadata) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *Metadata) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- {
- sorted_keys := make([]string, len(m.GetFilterMetadata()))
- i := 0
- for key := range m.GetFilterMetadata() {
- sorted_keys[i] = key
- i++
- }
- sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] })
- for _, key := range sorted_keys {
- val := m.GetFilterMetadata()[key]
- _ = val
-
- // no validation rules for FilterMetadata[key]
-
- if all {
- switch v := interface{}(val).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, MetadataValidationError{
- field: fmt.Sprintf("FilterMetadata[%v]", key),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, MetadataValidationError{
- field: fmt.Sprintf("FilterMetadata[%v]", key),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(val).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return MetadataValidationError{
- field: fmt.Sprintf("FilterMetadata[%v]", key),
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
- }
-
- if len(errors) > 0 {
- return MetadataMultiError(errors)
- }
-
- return nil
-}
-
-// MetadataMultiError is an error wrapping multiple validation errors returned
-// by Metadata.ValidateAll() if the designated constraints aren't met.
-type MetadataMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m MetadataMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m MetadataMultiError) AllErrors() []error { return m }
-
-// MetadataValidationError is the validation error returned by
-// Metadata.Validate if the designated constraints aren't met.
-type MetadataValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e MetadataValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e MetadataValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e MetadataValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e MetadataValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e MetadataValidationError) ErrorName() string { return "MetadataValidationError" }
-
-// Error satisfies the builtin error interface
-func (e MetadataValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sMetadata.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = MetadataValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = MetadataValidationError{}
-
-// Validate checks the field values on RuntimeUInt32 with the rules defined in
-// the proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *RuntimeUInt32) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on RuntimeUInt32 with the rules defined
-// in the proto definition for this message. If any rules are violated, the
-// result is a list of violation errors wrapped in RuntimeUInt32MultiError, or
-// nil if none found.
-func (m *RuntimeUInt32) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *RuntimeUInt32) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- // no validation rules for DefaultValue
-
- if len(m.GetRuntimeKey()) < 1 {
- err := RuntimeUInt32ValidationError{
- field: "RuntimeKey",
- reason: "value length must be at least 1 bytes",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if len(errors) > 0 {
- return RuntimeUInt32MultiError(errors)
- }
-
- return nil
-}
-
-// RuntimeUInt32MultiError is an error wrapping multiple validation errors
-// returned by RuntimeUInt32.ValidateAll() if the designated constraints
-// aren't met.
-type RuntimeUInt32MultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m RuntimeUInt32MultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m RuntimeUInt32MultiError) AllErrors() []error { return m }
-
-// RuntimeUInt32ValidationError is the validation error returned by
-// RuntimeUInt32.Validate if the designated constraints aren't met.
-type RuntimeUInt32ValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e RuntimeUInt32ValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e RuntimeUInt32ValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e RuntimeUInt32ValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e RuntimeUInt32ValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e RuntimeUInt32ValidationError) ErrorName() string { return "RuntimeUInt32ValidationError" }
-
-// Error satisfies the builtin error interface
-func (e RuntimeUInt32ValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sRuntimeUInt32.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = RuntimeUInt32ValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = RuntimeUInt32ValidationError{}
-
-// Validate checks the field values on RuntimeDouble with the rules defined in
-// the proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *RuntimeDouble) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on RuntimeDouble with the rules defined
-// in the proto definition for this message. If any rules are violated, the
-// result is a list of violation errors wrapped in RuntimeDoubleMultiError, or
-// nil if none found.
-func (m *RuntimeDouble) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *RuntimeDouble) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- // no validation rules for DefaultValue
-
- if len(m.GetRuntimeKey()) < 1 {
- err := RuntimeDoubleValidationError{
- field: "RuntimeKey",
- reason: "value length must be at least 1 bytes",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if len(errors) > 0 {
- return RuntimeDoubleMultiError(errors)
- }
-
- return nil
-}
-
-// RuntimeDoubleMultiError is an error wrapping multiple validation errors
-// returned by RuntimeDouble.ValidateAll() if the designated constraints
-// aren't met.
-type RuntimeDoubleMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m RuntimeDoubleMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m RuntimeDoubleMultiError) AllErrors() []error { return m }
-
-// RuntimeDoubleValidationError is the validation error returned by
-// RuntimeDouble.Validate if the designated constraints aren't met.
-type RuntimeDoubleValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e RuntimeDoubleValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e RuntimeDoubleValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e RuntimeDoubleValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e RuntimeDoubleValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e RuntimeDoubleValidationError) ErrorName() string { return "RuntimeDoubleValidationError" }
-
-// Error satisfies the builtin error interface
-func (e RuntimeDoubleValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sRuntimeDouble.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = RuntimeDoubleValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = RuntimeDoubleValidationError{}
-
-// Validate checks the field values on RuntimeFeatureFlag with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *RuntimeFeatureFlag) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on RuntimeFeatureFlag with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// RuntimeFeatureFlagMultiError, or nil if none found.
-func (m *RuntimeFeatureFlag) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *RuntimeFeatureFlag) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if m.GetDefaultValue() == nil {
- err := RuntimeFeatureFlagValidationError{
- field: "DefaultValue",
- reason: "value is required",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if all {
- switch v := interface{}(m.GetDefaultValue()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, RuntimeFeatureFlagValidationError{
- field: "DefaultValue",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, RuntimeFeatureFlagValidationError{
- field: "DefaultValue",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetDefaultValue()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return RuntimeFeatureFlagValidationError{
- field: "DefaultValue",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if len(m.GetRuntimeKey()) < 1 {
- err := RuntimeFeatureFlagValidationError{
- field: "RuntimeKey",
- reason: "value length must be at least 1 bytes",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if len(errors) > 0 {
- return RuntimeFeatureFlagMultiError(errors)
- }
-
- return nil
-}
-
-// RuntimeFeatureFlagMultiError is an error wrapping multiple validation errors
-// returned by RuntimeFeatureFlag.ValidateAll() if the designated constraints
-// aren't met.
-type RuntimeFeatureFlagMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m RuntimeFeatureFlagMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m RuntimeFeatureFlagMultiError) AllErrors() []error { return m }
-
-// RuntimeFeatureFlagValidationError is the validation error returned by
-// RuntimeFeatureFlag.Validate if the designated constraints aren't met.
-type RuntimeFeatureFlagValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e RuntimeFeatureFlagValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e RuntimeFeatureFlagValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e RuntimeFeatureFlagValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e RuntimeFeatureFlagValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e RuntimeFeatureFlagValidationError) ErrorName() string {
- return "RuntimeFeatureFlagValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e RuntimeFeatureFlagValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sRuntimeFeatureFlag.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = RuntimeFeatureFlagValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = RuntimeFeatureFlagValidationError{}
-
-// Validate checks the field values on HeaderValue with the rules defined in
-// the proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *HeaderValue) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on HeaderValue with the rules defined in
-// the proto definition for this message. If any rules are violated, the
-// result is a list of violation errors wrapped in HeaderValueMultiError, or
-// nil if none found.
-func (m *HeaderValue) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *HeaderValue) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if l := len(m.GetKey()); l < 1 || l > 16384 {
- err := HeaderValueValidationError{
- field: "Key",
- reason: "value length must be between 1 and 16384 bytes, inclusive",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if !_HeaderValue_Key_Pattern.MatchString(m.GetKey()) {
- err := HeaderValueValidationError{
- field: "Key",
- reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if len(m.GetValue()) > 16384 {
- err := HeaderValueValidationError{
- field: "Value",
- reason: "value length must be at most 16384 bytes",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if !_HeaderValue_Value_Pattern.MatchString(m.GetValue()) {
- err := HeaderValueValidationError{
- field: "Value",
- reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if len(errors) > 0 {
- return HeaderValueMultiError(errors)
- }
-
- return nil
-}
-
-// HeaderValueMultiError is an error wrapping multiple validation errors
-// returned by HeaderValue.ValidateAll() if the designated constraints aren't met.
-type HeaderValueMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m HeaderValueMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m HeaderValueMultiError) AllErrors() []error { return m }
-
-// HeaderValueValidationError is the validation error returned by
-// HeaderValue.Validate if the designated constraints aren't met.
-type HeaderValueValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e HeaderValueValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e HeaderValueValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e HeaderValueValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e HeaderValueValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e HeaderValueValidationError) ErrorName() string { return "HeaderValueValidationError" }
-
-// Error satisfies the builtin error interface
-func (e HeaderValueValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sHeaderValue.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = HeaderValueValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = HeaderValueValidationError{}
-
-var _HeaderValue_Key_Pattern = regexp.MustCompile("^[^\x00\n\r]*$")
-
-var _HeaderValue_Value_Pattern = regexp.MustCompile("^[^\x00\n\r]*$")
-
-// Validate checks the field values on HeaderValueOption with the rules defined
-// in the proto definition for this message. If any rules are violated, the
-// first error encountered is returned, or nil if there are no violations.
-func (m *HeaderValueOption) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on HeaderValueOption with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// HeaderValueOptionMultiError, or nil if none found.
-func (m *HeaderValueOption) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *HeaderValueOption) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if m.GetHeader() == nil {
- err := HeaderValueOptionValidationError{
- field: "Header",
- reason: "value is required",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if all {
- switch v := interface{}(m.GetHeader()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, HeaderValueOptionValidationError{
- field: "Header",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, HeaderValueOptionValidationError{
- field: "Header",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetHeader()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return HeaderValueOptionValidationError{
- field: "Header",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetAppend()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, HeaderValueOptionValidationError{
- field: "Append",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, HeaderValueOptionValidationError{
- field: "Append",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetAppend()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return HeaderValueOptionValidationError{
- field: "Append",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if len(errors) > 0 {
- return HeaderValueOptionMultiError(errors)
- }
-
- return nil
-}
-
-// HeaderValueOptionMultiError is an error wrapping multiple validation errors
-// returned by HeaderValueOption.ValidateAll() if the designated constraints
-// aren't met.
-type HeaderValueOptionMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m HeaderValueOptionMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m HeaderValueOptionMultiError) AllErrors() []error { return m }
-
-// HeaderValueOptionValidationError is the validation error returned by
-// HeaderValueOption.Validate if the designated constraints aren't met.
-type HeaderValueOptionValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e HeaderValueOptionValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e HeaderValueOptionValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e HeaderValueOptionValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e HeaderValueOptionValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e HeaderValueOptionValidationError) ErrorName() string {
- return "HeaderValueOptionValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e HeaderValueOptionValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sHeaderValueOption.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = HeaderValueOptionValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = HeaderValueOptionValidationError{}
-
-// Validate checks the field values on HeaderMap with the rules defined in the
-// proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *HeaderMap) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on HeaderMap with the rules defined in
-// the proto definition for this message. If any rules are violated, the
-// result is a list of violation errors wrapped in HeaderMapMultiError, or nil
-// if none found.
-func (m *HeaderMap) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *HeaderMap) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- for idx, item := range m.GetHeaders() {
- _, _ = idx, item
-
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, HeaderMapValidationError{
- field: fmt.Sprintf("Headers[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, HeaderMapValidationError{
- field: fmt.Sprintf("Headers[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return HeaderMapValidationError{
- field: fmt.Sprintf("Headers[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
-
- if len(errors) > 0 {
- return HeaderMapMultiError(errors)
- }
-
- return nil
-}
-
-// HeaderMapMultiError is an error wrapping multiple validation errors returned
-// by HeaderMap.ValidateAll() if the designated constraints aren't met.
-type HeaderMapMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m HeaderMapMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m HeaderMapMultiError) AllErrors() []error { return m }
-
-// HeaderMapValidationError is the validation error returned by
-// HeaderMap.Validate if the designated constraints aren't met.
-type HeaderMapValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e HeaderMapValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e HeaderMapValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e HeaderMapValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e HeaderMapValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e HeaderMapValidationError) ErrorName() string { return "HeaderMapValidationError" }
-
-// Error satisfies the builtin error interface
-func (e HeaderMapValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sHeaderMap.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = HeaderMapValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = HeaderMapValidationError{}
-
-// Validate checks the field values on DataSource with the rules defined in the
-// proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *DataSource) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on DataSource with the rules defined in
-// the proto definition for this message. If any rules are violated, the
-// result is a list of violation errors wrapped in DataSourceMultiError, or
-// nil if none found.
-func (m *DataSource) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *DataSource) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- switch m.Specifier.(type) {
-
- case *DataSource_Filename:
-
- if len(m.GetFilename()) < 1 {
- err := DataSourceValidationError{
- field: "Filename",
- reason: "value length must be at least 1 bytes",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- case *DataSource_InlineBytes:
-
- if len(m.GetInlineBytes()) < 1 {
- err := DataSourceValidationError{
- field: "InlineBytes",
- reason: "value length must be at least 1 bytes",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- case *DataSource_InlineString:
-
- if len(m.GetInlineString()) < 1 {
- err := DataSourceValidationError{
- field: "InlineString",
- reason: "value length must be at least 1 bytes",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- default:
- err := DataSourceValidationError{
- field: "Specifier",
- reason: "value is required",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
-
- }
-
- if len(errors) > 0 {
- return DataSourceMultiError(errors)
- }
-
- return nil
-}
-
-// DataSourceMultiError is an error wrapping multiple validation errors
-// returned by DataSource.ValidateAll() if the designated constraints aren't met.
-type DataSourceMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m DataSourceMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m DataSourceMultiError) AllErrors() []error { return m }
-
-// DataSourceValidationError is the validation error returned by
-// DataSource.Validate if the designated constraints aren't met.
-type DataSourceValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e DataSourceValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e DataSourceValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e DataSourceValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e DataSourceValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e DataSourceValidationError) ErrorName() string { return "DataSourceValidationError" }
-
-// Error satisfies the builtin error interface
-func (e DataSourceValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sDataSource.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = DataSourceValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = DataSourceValidationError{}
-
-// Validate checks the field values on RetryPolicy with the rules defined in
-// the proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *RetryPolicy) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on RetryPolicy with the rules defined in
-// the proto definition for this message. If any rules are violated, the
-// result is a list of violation errors wrapped in RetryPolicyMultiError, or
-// nil if none found.
-func (m *RetryPolicy) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *RetryPolicy) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if all {
- switch v := interface{}(m.GetRetryBackOff()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, RetryPolicyValidationError{
- field: "RetryBackOff",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, RetryPolicyValidationError{
- field: "RetryBackOff",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetRetryBackOff()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return RetryPolicyValidationError{
- field: "RetryBackOff",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetNumRetries()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, RetryPolicyValidationError{
- field: "NumRetries",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, RetryPolicyValidationError{
- field: "NumRetries",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetNumRetries()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return RetryPolicyValidationError{
- field: "NumRetries",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if len(errors) > 0 {
- return RetryPolicyMultiError(errors)
- }
-
- return nil
-}
-
-// RetryPolicyMultiError is an error wrapping multiple validation errors
-// returned by RetryPolicy.ValidateAll() if the designated constraints aren't met.
-type RetryPolicyMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m RetryPolicyMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m RetryPolicyMultiError) AllErrors() []error { return m }
-
-// RetryPolicyValidationError is the validation error returned by
-// RetryPolicy.Validate if the designated constraints aren't met.
-type RetryPolicyValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e RetryPolicyValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e RetryPolicyValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e RetryPolicyValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e RetryPolicyValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e RetryPolicyValidationError) ErrorName() string { return "RetryPolicyValidationError" }
-
-// Error satisfies the builtin error interface
-func (e RetryPolicyValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sRetryPolicy.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = RetryPolicyValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = RetryPolicyValidationError{}
-
-// Validate checks the field values on RemoteDataSource with the rules defined
-// in the proto definition for this message. If any rules are violated, the
-// first error encountered is returned, or nil if there are no violations.
-func (m *RemoteDataSource) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on RemoteDataSource with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// RemoteDataSourceMultiError, or nil if none found.
-func (m *RemoteDataSource) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *RemoteDataSource) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if m.GetHttpUri() == nil {
- err := RemoteDataSourceValidationError{
- field: "HttpUri",
- reason: "value is required",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if all {
- switch v := interface{}(m.GetHttpUri()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, RemoteDataSourceValidationError{
- field: "HttpUri",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, RemoteDataSourceValidationError{
- field: "HttpUri",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetHttpUri()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return RemoteDataSourceValidationError{
- field: "HttpUri",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if len(m.GetSha256()) < 1 {
- err := RemoteDataSourceValidationError{
- field: "Sha256",
- reason: "value length must be at least 1 bytes",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if all {
- switch v := interface{}(m.GetRetryPolicy()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, RemoteDataSourceValidationError{
- field: "RetryPolicy",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, RemoteDataSourceValidationError{
- field: "RetryPolicy",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetRetryPolicy()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return RemoteDataSourceValidationError{
- field: "RetryPolicy",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if len(errors) > 0 {
- return RemoteDataSourceMultiError(errors)
- }
-
- return nil
-}
-
-// RemoteDataSourceMultiError is an error wrapping multiple validation errors
-// returned by RemoteDataSource.ValidateAll() if the designated constraints
-// aren't met.
-type RemoteDataSourceMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m RemoteDataSourceMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m RemoteDataSourceMultiError) AllErrors() []error { return m }
-
-// RemoteDataSourceValidationError is the validation error returned by
-// RemoteDataSource.Validate if the designated constraints aren't met.
-type RemoteDataSourceValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e RemoteDataSourceValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e RemoteDataSourceValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e RemoteDataSourceValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e RemoteDataSourceValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e RemoteDataSourceValidationError) ErrorName() string { return "RemoteDataSourceValidationError" }
-
-// Error satisfies the builtin error interface
-func (e RemoteDataSourceValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sRemoteDataSource.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = RemoteDataSourceValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = RemoteDataSourceValidationError{}
-
-// Validate checks the field values on AsyncDataSource with the rules defined
-// in the proto definition for this message. If any rules are violated, the
-// first error encountered is returned, or nil if there are no violations.
-func (m *AsyncDataSource) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on AsyncDataSource with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// AsyncDataSourceMultiError, or nil if none found.
-func (m *AsyncDataSource) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *AsyncDataSource) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- switch m.Specifier.(type) {
-
- case *AsyncDataSource_Local:
-
- if all {
- switch v := interface{}(m.GetLocal()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, AsyncDataSourceValidationError{
- field: "Local",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, AsyncDataSourceValidationError{
- field: "Local",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetLocal()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return AsyncDataSourceValidationError{
- field: "Local",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- case *AsyncDataSource_Remote:
-
- if all {
- switch v := interface{}(m.GetRemote()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, AsyncDataSourceValidationError{
- field: "Remote",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, AsyncDataSourceValidationError{
- field: "Remote",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetRemote()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return AsyncDataSourceValidationError{
- field: "Remote",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- default:
- err := AsyncDataSourceValidationError{
- field: "Specifier",
- reason: "value is required",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
-
- }
-
- if len(errors) > 0 {
- return AsyncDataSourceMultiError(errors)
- }
-
- return nil
-}
-
-// AsyncDataSourceMultiError is an error wrapping multiple validation errors
-// returned by AsyncDataSource.ValidateAll() if the designated constraints
-// aren't met.
-type AsyncDataSourceMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m AsyncDataSourceMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m AsyncDataSourceMultiError) AllErrors() []error { return m }
-
-// AsyncDataSourceValidationError is the validation error returned by
-// AsyncDataSource.Validate if the designated constraints aren't met.
-type AsyncDataSourceValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e AsyncDataSourceValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e AsyncDataSourceValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e AsyncDataSourceValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e AsyncDataSourceValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e AsyncDataSourceValidationError) ErrorName() string { return "AsyncDataSourceValidationError" }
-
-// Error satisfies the builtin error interface
-func (e AsyncDataSourceValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sAsyncDataSource.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = AsyncDataSourceValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = AsyncDataSourceValidationError{}
-
-// Validate checks the field values on TransportSocket with the rules defined
-// in the proto definition for this message. If any rules are violated, the
-// first error encountered is returned, or nil if there are no violations.
-func (m *TransportSocket) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on TransportSocket with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// TransportSocketMultiError, or nil if none found.
-func (m *TransportSocket) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *TransportSocket) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if len(m.GetName()) < 1 {
- err := TransportSocketValidationError{
- field: "Name",
- reason: "value length must be at least 1 bytes",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- switch m.ConfigType.(type) {
-
- case *TransportSocket_Config:
-
- if all {
- switch v := interface{}(m.GetConfig()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, TransportSocketValidationError{
- field: "Config",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, TransportSocketValidationError{
- field: "Config",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return TransportSocketValidationError{
- field: "Config",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- case *TransportSocket_TypedConfig:
-
- if all {
- switch v := interface{}(m.GetTypedConfig()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, TransportSocketValidationError{
- field: "TypedConfig",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, TransportSocketValidationError{
- field: "TypedConfig",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return TransportSocketValidationError{
- field: "TypedConfig",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
-
- if len(errors) > 0 {
- return TransportSocketMultiError(errors)
- }
-
- return nil
-}
-
-// TransportSocketMultiError is an error wrapping multiple validation errors
-// returned by TransportSocket.ValidateAll() if the designated constraints
-// aren't met.
-type TransportSocketMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m TransportSocketMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m TransportSocketMultiError) AllErrors() []error { return m }
-
-// TransportSocketValidationError is the validation error returned by
-// TransportSocket.Validate if the designated constraints aren't met.
-type TransportSocketValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e TransportSocketValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e TransportSocketValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e TransportSocketValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e TransportSocketValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e TransportSocketValidationError) ErrorName() string { return "TransportSocketValidationError" }
-
-// Error satisfies the builtin error interface
-func (e TransportSocketValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sTransportSocket.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = TransportSocketValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = TransportSocketValidationError{}
-
-// Validate checks the field values on RuntimeFractionalPercent with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *RuntimeFractionalPercent) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on RuntimeFractionalPercent with the
-// rules defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// RuntimeFractionalPercentMultiError, or nil if none found.
-func (m *RuntimeFractionalPercent) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *RuntimeFractionalPercent) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if m.GetDefaultValue() == nil {
- err := RuntimeFractionalPercentValidationError{
- field: "DefaultValue",
- reason: "value is required",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if all {
- switch v := interface{}(m.GetDefaultValue()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, RuntimeFractionalPercentValidationError{
- field: "DefaultValue",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, RuntimeFractionalPercentValidationError{
- field: "DefaultValue",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetDefaultValue()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return RuntimeFractionalPercentValidationError{
- field: "DefaultValue",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- // no validation rules for RuntimeKey
-
- if len(errors) > 0 {
- return RuntimeFractionalPercentMultiError(errors)
- }
-
- return nil
-}
-
-// RuntimeFractionalPercentMultiError is an error wrapping multiple validation
-// errors returned by RuntimeFractionalPercent.ValidateAll() if the designated
-// constraints aren't met.
-type RuntimeFractionalPercentMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m RuntimeFractionalPercentMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m RuntimeFractionalPercentMultiError) AllErrors() []error { return m }
-
-// RuntimeFractionalPercentValidationError is the validation error returned by
-// RuntimeFractionalPercent.Validate if the designated constraints aren't met.
-type RuntimeFractionalPercentValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e RuntimeFractionalPercentValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e RuntimeFractionalPercentValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e RuntimeFractionalPercentValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e RuntimeFractionalPercentValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e RuntimeFractionalPercentValidationError) ErrorName() string {
- return "RuntimeFractionalPercentValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e RuntimeFractionalPercentValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sRuntimeFractionalPercent.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = RuntimeFractionalPercentValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = RuntimeFractionalPercentValidationError{}
-
-// Validate checks the field values on ControlPlane with the rules defined in
-// the proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *ControlPlane) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on ControlPlane with the rules defined
-// in the proto definition for this message. If any rules are violated, the
-// result is a list of violation errors wrapped in ControlPlaneMultiError, or
-// nil if none found.
-func (m *ControlPlane) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *ControlPlane) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- // no validation rules for Identifier
-
- if len(errors) > 0 {
- return ControlPlaneMultiError(errors)
- }
-
- return nil
-}
-
-// ControlPlaneMultiError is an error wrapping multiple validation errors
-// returned by ControlPlane.ValidateAll() if the designated constraints aren't met.
-type ControlPlaneMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m ControlPlaneMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m ControlPlaneMultiError) AllErrors() []error { return m }
-
-// ControlPlaneValidationError is the validation error returned by
-// ControlPlane.Validate if the designated constraints aren't met.
-type ControlPlaneValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e ControlPlaneValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e ControlPlaneValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e ControlPlaneValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e ControlPlaneValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e ControlPlaneValidationError) ErrorName() string { return "ControlPlaneValidationError" }
-
-// Error satisfies the builtin error interface
-func (e ControlPlaneValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sControlPlane.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = ControlPlaneValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = ControlPlaneValidationError{}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/config_source.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/config_source.pb.go
deleted file mode 100644
index 46d19ff088..0000000000
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/config_source.pb.go
+++ /dev/null
@@ -1,865 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
-// source: envoy/api/v2/core/config_source.proto
-
-package core
-
-import (
- _ "github.com/cncf/xds/go/udpa/annotations"
- _ "github.com/envoyproxy/go-control-plane/envoy/annotations"
- _ "github.com/envoyproxy/protoc-gen-validate/validate"
- duration "github.com/golang/protobuf/ptypes/duration"
- wrappers "github.com/golang/protobuf/ptypes/wrappers"
- 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)
-)
-
-// xDS API version. This is used to describe both resource and transport
-// protocol versions (in distinct configuration fields).
-type ApiVersion int32
-
-const (
- // When not specified, we assume v2, to ease migration to Envoy's stable API
- // versioning. If a client does not support v2 (e.g. due to deprecation), this
- // is an invalid value.
- //
- // Deprecated: Do not use.
- ApiVersion_AUTO ApiVersion = 0
- // Use xDS v2 API.
- //
- // Deprecated: Do not use.
- ApiVersion_V2 ApiVersion = 1
- // Use xDS v3 API.
- ApiVersion_V3 ApiVersion = 2
-)
-
-// Enum value maps for ApiVersion.
-var (
- ApiVersion_name = map[int32]string{
- 0: "AUTO",
- 1: "V2",
- 2: "V3",
- }
- ApiVersion_value = map[string]int32{
- "AUTO": 0,
- "V2": 1,
- "V3": 2,
- }
-)
-
-func (x ApiVersion) Enum() *ApiVersion {
- p := new(ApiVersion)
- *p = x
- return p
-}
-
-func (x ApiVersion) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (ApiVersion) Descriptor() protoreflect.EnumDescriptor {
- return file_envoy_api_v2_core_config_source_proto_enumTypes[0].Descriptor()
-}
-
-func (ApiVersion) Type() protoreflect.EnumType {
- return &file_envoy_api_v2_core_config_source_proto_enumTypes[0]
-}
-
-func (x ApiVersion) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Use ApiVersion.Descriptor instead.
-func (ApiVersion) EnumDescriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_config_source_proto_rawDescGZIP(), []int{0}
-}
-
-// APIs may be fetched via either REST or gRPC.
-type ApiConfigSource_ApiType int32
-
-const (
- // Ideally this would be 'reserved 0' but one can't reserve the default
- // value. Instead we throw an exception if this is ever used.
- //
- // Deprecated: Do not use.
- ApiConfigSource_UNSUPPORTED_REST_LEGACY ApiConfigSource_ApiType = 0
- // REST-JSON v2 API. The `canonical JSON encoding
- // `_ for
- // the v2 protos is used.
- ApiConfigSource_REST ApiConfigSource_ApiType = 1
- // gRPC v2 API.
- ApiConfigSource_GRPC ApiConfigSource_ApiType = 2
- // Using the delta xDS gRPC service, i.e. DeltaDiscovery{Request,Response}
- // rather than Discovery{Request,Response}. Rather than sending Envoy the entire state
- // with every update, the xDS server only sends what has changed since the last update.
- ApiConfigSource_DELTA_GRPC ApiConfigSource_ApiType = 3
-)
-
-// Enum value maps for ApiConfigSource_ApiType.
-var (
- ApiConfigSource_ApiType_name = map[int32]string{
- 0: "UNSUPPORTED_REST_LEGACY",
- 1: "REST",
- 2: "GRPC",
- 3: "DELTA_GRPC",
- }
- ApiConfigSource_ApiType_value = map[string]int32{
- "UNSUPPORTED_REST_LEGACY": 0,
- "REST": 1,
- "GRPC": 2,
- "DELTA_GRPC": 3,
- }
-)
-
-func (x ApiConfigSource_ApiType) Enum() *ApiConfigSource_ApiType {
- p := new(ApiConfigSource_ApiType)
- *p = x
- return p
-}
-
-func (x ApiConfigSource_ApiType) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (ApiConfigSource_ApiType) Descriptor() protoreflect.EnumDescriptor {
- return file_envoy_api_v2_core_config_source_proto_enumTypes[1].Descriptor()
-}
-
-func (ApiConfigSource_ApiType) Type() protoreflect.EnumType {
- return &file_envoy_api_v2_core_config_source_proto_enumTypes[1]
-}
-
-func (x ApiConfigSource_ApiType) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Use ApiConfigSource_ApiType.Descriptor instead.
-func (ApiConfigSource_ApiType) EnumDescriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_config_source_proto_rawDescGZIP(), []int{0, 0}
-}
-
-// API configuration source. This identifies the API type and cluster that Envoy
-// will use to fetch an xDS API.
-// [#next-free-field: 9]
-type ApiConfigSource struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // API type (gRPC, REST, delta gRPC)
- ApiType ApiConfigSource_ApiType `protobuf:"varint,1,opt,name=api_type,json=apiType,proto3,enum=envoy.api.v2.core.ApiConfigSource_ApiType" json:"api_type,omitempty"`
- // API version for xDS transport protocol. This describes the xDS gRPC/REST
- // endpoint and version of [Delta]DiscoveryRequest/Response used on the wire.
- TransportApiVersion ApiVersion `protobuf:"varint,8,opt,name=transport_api_version,json=transportApiVersion,proto3,enum=envoy.api.v2.core.ApiVersion" json:"transport_api_version,omitempty"`
- // Cluster names should be used only with REST. If > 1
- // cluster is defined, clusters will be cycled through if any kind of failure
- // occurs.
- //
- // .. note::
- //
- // The cluster with name ``cluster_name`` must be statically defined and its
- // type must not be ``EDS``.
- ClusterNames []string `protobuf:"bytes,2,rep,name=cluster_names,json=clusterNames,proto3" json:"cluster_names,omitempty"`
- // Multiple gRPC services be provided for GRPC. If > 1 cluster is defined,
- // services will be cycled through if any kind of failure occurs.
- GrpcServices []*GrpcService `protobuf:"bytes,4,rep,name=grpc_services,json=grpcServices,proto3" json:"grpc_services,omitempty"`
- // For REST APIs, the delay between successive polls.
- RefreshDelay *duration.Duration `protobuf:"bytes,3,opt,name=refresh_delay,json=refreshDelay,proto3" json:"refresh_delay,omitempty"`
- // For REST APIs, the request timeout. If not set, a default value of 1s will be used.
- RequestTimeout *duration.Duration `protobuf:"bytes,5,opt,name=request_timeout,json=requestTimeout,proto3" json:"request_timeout,omitempty"`
- // For GRPC APIs, the rate limit settings. If present, discovery requests made by Envoy will be
- // rate limited.
- RateLimitSettings *RateLimitSettings `protobuf:"bytes,6,opt,name=rate_limit_settings,json=rateLimitSettings,proto3" json:"rate_limit_settings,omitempty"`
- // Skip the node identifier in subsequent discovery requests for streaming gRPC config types.
- SetNodeOnFirstMessageOnly bool `protobuf:"varint,7,opt,name=set_node_on_first_message_only,json=setNodeOnFirstMessageOnly,proto3" json:"set_node_on_first_message_only,omitempty"`
-}
-
-func (x *ApiConfigSource) Reset() {
- *x = ApiConfigSource{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_config_source_proto_msgTypes[0]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *ApiConfigSource) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*ApiConfigSource) ProtoMessage() {}
-
-func (x *ApiConfigSource) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_config_source_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 ApiConfigSource.ProtoReflect.Descriptor instead.
-func (*ApiConfigSource) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_config_source_proto_rawDescGZIP(), []int{0}
-}
-
-func (x *ApiConfigSource) GetApiType() ApiConfigSource_ApiType {
- if x != nil {
- return x.ApiType
- }
- return ApiConfigSource_UNSUPPORTED_REST_LEGACY
-}
-
-func (x *ApiConfigSource) GetTransportApiVersion() ApiVersion {
- if x != nil {
- return x.TransportApiVersion
- }
- return ApiVersion_AUTO
-}
-
-func (x *ApiConfigSource) GetClusterNames() []string {
- if x != nil {
- return x.ClusterNames
- }
- return nil
-}
-
-func (x *ApiConfigSource) GetGrpcServices() []*GrpcService {
- if x != nil {
- return x.GrpcServices
- }
- return nil
-}
-
-func (x *ApiConfigSource) GetRefreshDelay() *duration.Duration {
- if x != nil {
- return x.RefreshDelay
- }
- return nil
-}
-
-func (x *ApiConfigSource) GetRequestTimeout() *duration.Duration {
- if x != nil {
- return x.RequestTimeout
- }
- return nil
-}
-
-func (x *ApiConfigSource) GetRateLimitSettings() *RateLimitSettings {
- if x != nil {
- return x.RateLimitSettings
- }
- return nil
-}
-
-func (x *ApiConfigSource) GetSetNodeOnFirstMessageOnly() bool {
- if x != nil {
- return x.SetNodeOnFirstMessageOnly
- }
- return false
-}
-
-// Aggregated Discovery Service (ADS) options. This is currently empty, but when
-// set in :ref:`ConfigSource ` can be used to
-// specify that ADS is to be used.
-type AggregatedConfigSource struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-}
-
-func (x *AggregatedConfigSource) Reset() {
- *x = AggregatedConfigSource{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_config_source_proto_msgTypes[1]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *AggregatedConfigSource) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*AggregatedConfigSource) ProtoMessage() {}
-
-func (x *AggregatedConfigSource) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_config_source_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 AggregatedConfigSource.ProtoReflect.Descriptor instead.
-func (*AggregatedConfigSource) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_config_source_proto_rawDescGZIP(), []int{1}
-}
-
-// [#not-implemented-hide:]
-// Self-referencing config source options. This is currently empty, but when
-// set in :ref:`ConfigSource ` can be used to
-// specify that other data can be obtained from the same server.
-type SelfConfigSource struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // API version for xDS transport protocol. This describes the xDS gRPC/REST
- // endpoint and version of [Delta]DiscoveryRequest/Response used on the wire.
- TransportApiVersion ApiVersion `protobuf:"varint,1,opt,name=transport_api_version,json=transportApiVersion,proto3,enum=envoy.api.v2.core.ApiVersion" json:"transport_api_version,omitempty"`
-}
-
-func (x *SelfConfigSource) Reset() {
- *x = SelfConfigSource{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_config_source_proto_msgTypes[2]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *SelfConfigSource) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*SelfConfigSource) ProtoMessage() {}
-
-func (x *SelfConfigSource) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_config_source_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 SelfConfigSource.ProtoReflect.Descriptor instead.
-func (*SelfConfigSource) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_config_source_proto_rawDescGZIP(), []int{2}
-}
-
-func (x *SelfConfigSource) GetTransportApiVersion() ApiVersion {
- if x != nil {
- return x.TransportApiVersion
- }
- return ApiVersion_AUTO
-}
-
-// Rate Limit settings to be applied for discovery requests made by Envoy.
-type RateLimitSettings struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // Maximum number of tokens to be used for rate limiting discovery request calls. If not set, a
- // default value of 100 will be used.
- MaxTokens *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=max_tokens,json=maxTokens,proto3" json:"max_tokens,omitempty"`
- // Rate at which tokens will be filled per second. If not set, a default fill rate of 10 tokens
- // per second will be used.
- FillRate *wrappers.DoubleValue `protobuf:"bytes,2,opt,name=fill_rate,json=fillRate,proto3" json:"fill_rate,omitempty"`
-}
-
-func (x *RateLimitSettings) Reset() {
- *x = RateLimitSettings{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_config_source_proto_msgTypes[3]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *RateLimitSettings) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*RateLimitSettings) ProtoMessage() {}
-
-func (x *RateLimitSettings) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_config_source_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 RateLimitSettings.ProtoReflect.Descriptor instead.
-func (*RateLimitSettings) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_config_source_proto_rawDescGZIP(), []int{3}
-}
-
-func (x *RateLimitSettings) GetMaxTokens() *wrappers.UInt32Value {
- if x != nil {
- return x.MaxTokens
- }
- return nil
-}
-
-func (x *RateLimitSettings) GetFillRate() *wrappers.DoubleValue {
- if x != nil {
- return x.FillRate
- }
- return nil
-}
-
-// Configuration for :ref:`listeners `, :ref:`clusters
-// `, :ref:`routes
-// `, :ref:`endpoints
-// ` etc. may either be sourced from the
-// filesystem or from an xDS API source. Filesystem configs are watched with
-// inotify for updates.
-// [#next-free-field: 7]
-type ConfigSource struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // Types that are assignable to ConfigSourceSpecifier:
- // *ConfigSource_Path
- // *ConfigSource_ApiConfigSource
- // *ConfigSource_Ads
- // *ConfigSource_Self
- ConfigSourceSpecifier isConfigSource_ConfigSourceSpecifier `protobuf_oneof:"config_source_specifier"`
- // When this timeout is specified, Envoy will wait no longer than the specified time for first
- // config response on this xDS subscription during the :ref:`initialization process
- // `. After reaching the timeout, Envoy will move to the next
- // initialization phase, even if the first config is not delivered yet. The timer is activated
- // when the xDS API subscription starts, and is disarmed on first config update or on error. 0
- // means no timeout - Envoy will wait indefinitely for the first xDS config (unless another
- // timeout applies). The default is 15s.
- InitialFetchTimeout *duration.Duration `protobuf:"bytes,4,opt,name=initial_fetch_timeout,json=initialFetchTimeout,proto3" json:"initial_fetch_timeout,omitempty"`
- // API version for xDS resources. This implies the type URLs that the client
- // will request for resources and the resource type that the client will in
- // turn expect to be delivered.
- ResourceApiVersion ApiVersion `protobuf:"varint,6,opt,name=resource_api_version,json=resourceApiVersion,proto3,enum=envoy.api.v2.core.ApiVersion" json:"resource_api_version,omitempty"`
-}
-
-func (x *ConfigSource) Reset() {
- *x = ConfigSource{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_config_source_proto_msgTypes[4]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *ConfigSource) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*ConfigSource) ProtoMessage() {}
-
-func (x *ConfigSource) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_config_source_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 ConfigSource.ProtoReflect.Descriptor instead.
-func (*ConfigSource) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_config_source_proto_rawDescGZIP(), []int{4}
-}
-
-func (m *ConfigSource) GetConfigSourceSpecifier() isConfigSource_ConfigSourceSpecifier {
- if m != nil {
- return m.ConfigSourceSpecifier
- }
- return nil
-}
-
-func (x *ConfigSource) GetPath() string {
- if x, ok := x.GetConfigSourceSpecifier().(*ConfigSource_Path); ok {
- return x.Path
- }
- return ""
-}
-
-func (x *ConfigSource) GetApiConfigSource() *ApiConfigSource {
- if x, ok := x.GetConfigSourceSpecifier().(*ConfigSource_ApiConfigSource); ok {
- return x.ApiConfigSource
- }
- return nil
-}
-
-func (x *ConfigSource) GetAds() *AggregatedConfigSource {
- if x, ok := x.GetConfigSourceSpecifier().(*ConfigSource_Ads); ok {
- return x.Ads
- }
- return nil
-}
-
-func (x *ConfigSource) GetSelf() *SelfConfigSource {
- if x, ok := x.GetConfigSourceSpecifier().(*ConfigSource_Self); ok {
- return x.Self
- }
- return nil
-}
-
-func (x *ConfigSource) GetInitialFetchTimeout() *duration.Duration {
- if x != nil {
- return x.InitialFetchTimeout
- }
- return nil
-}
-
-func (x *ConfigSource) GetResourceApiVersion() ApiVersion {
- if x != nil {
- return x.ResourceApiVersion
- }
- return ApiVersion_AUTO
-}
-
-type isConfigSource_ConfigSourceSpecifier interface {
- isConfigSource_ConfigSourceSpecifier()
-}
-
-type ConfigSource_Path struct {
- // Path on the filesystem to source and watch for configuration updates.
- // When sourcing configuration for :ref:`secret `,
- // the certificate and key files are also watched for updates.
- //
- // .. note::
- //
- // The path to the source must exist at config load time.
- //
- // .. note::
- //
- // Envoy will only watch the file path for *moves.* This is because in general only moves
- // are atomic. The same method of swapping files as is demonstrated in the
- // :ref:`runtime documentation ` can be used here also.
- Path string `protobuf:"bytes,1,opt,name=path,proto3,oneof"`
-}
-
-type ConfigSource_ApiConfigSource struct {
- // API configuration source.
- ApiConfigSource *ApiConfigSource `protobuf:"bytes,2,opt,name=api_config_source,json=apiConfigSource,proto3,oneof"`
-}
-
-type ConfigSource_Ads struct {
- // When set, ADS will be used to fetch resources. The ADS API configuration
- // source in the bootstrap configuration is used.
- Ads *AggregatedConfigSource `protobuf:"bytes,3,opt,name=ads,proto3,oneof"`
-}
-
-type ConfigSource_Self struct {
- // [#not-implemented-hide:]
- // When set, the client will access the resources from the same server it got the
- // ConfigSource from, although not necessarily from the same stream. This is similar to the
- // :ref:`ads` field, except that the client may use a
- // different stream to the same server. As a result, this field can be used for things
- // like LRS that cannot be sent on an ADS stream. It can also be used to link from (e.g.)
- // LDS to RDS on the same server without requiring the management server to know its name
- // or required credentials.
- // [#next-major-version: In xDS v3, consider replacing the ads field with this one, since
- // this field can implicitly mean to use the same stream in the case where the ConfigSource
- // is provided via ADS and the specified data can also be obtained via ADS.]
- Self *SelfConfigSource `protobuf:"bytes,5,opt,name=self,proto3,oneof"`
-}
-
-func (*ConfigSource_Path) isConfigSource_ConfigSourceSpecifier() {}
-
-func (*ConfigSource_ApiConfigSource) isConfigSource_ConfigSourceSpecifier() {}
-
-func (*ConfigSource_Ads) isConfigSource_ConfigSourceSpecifier() {}
-
-func (*ConfigSource_Self) isConfigSource_ConfigSourceSpecifier() {}
-
-var File_envoy_api_v2_core_config_source_proto protoreflect.FileDescriptor
-
-var file_envoy_api_v2_core_config_source_proto_rawDesc = []byte{
- 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63,
- 0x6f, 0x72, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63,
- 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61,
- 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f,
- 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x67, 0x72,
- 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 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, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f,
- 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f,
- 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76,
- 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa6, 0x05,
- 0x0a, 0x0f, 0x41, 0x70, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63,
- 0x65, 0x12, 0x4f, 0x0a, 0x08, 0x61, 0x70, 0x69, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e,
- 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x41, 0x70, 0x69, 0x54, 0x79, 0x70, 0x65, 0x42,
- 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x61, 0x70, 0x69, 0x54, 0x79,
- 0x70, 0x65, 0x12, 0x5b, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f,
- 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28,
- 0x0e, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32,
- 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
- 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x13, 0x74, 0x72, 0x61, 0x6e,
- 0x73, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12,
- 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73,
- 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e,
- 0x61, 0x6d, 0x65, 0x73, 0x12, 0x43, 0x0a, 0x0d, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72,
- 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e,
- 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
- 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0c, 0x67, 0x72, 0x70,
- 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x0d, 0x72, 0x65, 0x66,
- 0x72, 0x65, 0x73, 0x68, 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, 0x52, 0x0c, 0x72, 0x65, 0x66,
- 0x72, 0x65, 0x73, 0x68, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x4c, 0x0a, 0x0f, 0x72, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 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, 0x42, 0x08, 0xfa,
- 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x54, 0x0a, 0x13, 0x72, 0x61, 0x74, 0x65, 0x5f,
- 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x06,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69,
- 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d,
- 0x69, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x11, 0x72, 0x61, 0x74, 0x65,
- 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x41, 0x0a,
- 0x1e, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x72,
- 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18,
- 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x73, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x4f, 0x6e,
- 0x46, 0x69, 0x72, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x6e, 0x6c, 0x79,
- 0x22, 0x54, 0x0a, 0x07, 0x41, 0x70, 0x69, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x17, 0x55,
- 0x4e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x5f,
- 0x4c, 0x45, 0x47, 0x41, 0x43, 0x59, 0x10, 0x00, 0x1a, 0x08, 0x08, 0x01, 0xa8, 0xf7, 0xb4, 0x8b,
- 0x02, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x45, 0x53, 0x54, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04,
- 0x47, 0x52, 0x50, 0x43, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x4c, 0x54, 0x41, 0x5f,
- 0x47, 0x52, 0x50, 0x43, 0x10, 0x03, 0x22, 0x18, 0x0a, 0x16, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67,
- 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x22, 0x6f, 0x0a, 0x10, 0x53, 0x65, 0x6c, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x12, 0x5b, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72,
- 0x74, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e,
- 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69,
- 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x13, 0x74, 0x72,
- 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
- 0x6e, 0x22, 0x9b, 0x01, 0x0a, 0x11, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53,
- 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3b, 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x5f, 0x74,
- 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 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, 0x09, 0x6d, 0x61, 0x78, 0x54, 0x6f,
- 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x49, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x6c, 0x5f, 0x72, 0x61, 0x74,
- 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65,
- 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x12, 0x09, 0x21, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x22,
- 0xba, 0x03, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x12, 0x14, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
- 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x50, 0x0a, 0x11, 0x61, 0x70, 0x69, 0x5f, 0x63, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32,
- 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x61, 0x70, 0x69, 0x43, 0x6f, 0x6e, 0x66,
- 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3d, 0x0a, 0x03, 0x61, 0x64, 0x73, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70,
- 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67,
- 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x48, 0x00, 0x52, 0x03, 0x61, 0x64, 0x73, 0x12, 0x39, 0x0a, 0x04, 0x73, 0x65, 0x6c, 0x66, 0x18,
- 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70,
- 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x65, 0x6c, 0x66, 0x43, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x04, 0x73, 0x65,
- 0x6c, 0x66, 0x12, 0x4d, 0x0a, 0x15, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x66, 0x65,
- 0x74, 0x63, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 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, 0x13, 0x69, 0x6e,
- 0x69, 0x74, 0x69, 0x61, 0x6c, 0x46, 0x65, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75,
- 0x74, 0x12, 0x59, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x70,
- 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32,
- 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63,
- 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x08,
- 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
- 0x63, 0x65, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x1e, 0x0a, 0x17,
- 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x70,
- 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x2a, 0x2e, 0x0a, 0x0a,
- 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0c, 0x0a, 0x04, 0x41, 0x55,
- 0x54, 0x4f, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0a, 0x0a, 0x02, 0x56, 0x32, 0x10, 0x01,
- 0x1a, 0x02, 0x08, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x33, 0x10, 0x02, 0x42, 0x94, 0x01, 0x0a,
- 0x1f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65,
- 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65,
- 0x42, 0x11, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72,
- 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f,
- 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d,
- 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e,
- 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0xf2,
- 0x98, 0xfe, 0x8f, 0x05, 0x16, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e,
- 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06,
- 0x02, 0x10, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
-}
-
-var (
- file_envoy_api_v2_core_config_source_proto_rawDescOnce sync.Once
- file_envoy_api_v2_core_config_source_proto_rawDescData = file_envoy_api_v2_core_config_source_proto_rawDesc
-)
-
-func file_envoy_api_v2_core_config_source_proto_rawDescGZIP() []byte {
- file_envoy_api_v2_core_config_source_proto_rawDescOnce.Do(func() {
- file_envoy_api_v2_core_config_source_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_core_config_source_proto_rawDescData)
- })
- return file_envoy_api_v2_core_config_source_proto_rawDescData
-}
-
-var file_envoy_api_v2_core_config_source_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
-var file_envoy_api_v2_core_config_source_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
-var file_envoy_api_v2_core_config_source_proto_goTypes = []interface{}{
- (ApiVersion)(0), // 0: envoy.api.v2.core.ApiVersion
- (ApiConfigSource_ApiType)(0), // 1: envoy.api.v2.core.ApiConfigSource.ApiType
- (*ApiConfigSource)(nil), // 2: envoy.api.v2.core.ApiConfigSource
- (*AggregatedConfigSource)(nil), // 3: envoy.api.v2.core.AggregatedConfigSource
- (*SelfConfigSource)(nil), // 4: envoy.api.v2.core.SelfConfigSource
- (*RateLimitSettings)(nil), // 5: envoy.api.v2.core.RateLimitSettings
- (*ConfigSource)(nil), // 6: envoy.api.v2.core.ConfigSource
- (*GrpcService)(nil), // 7: envoy.api.v2.core.GrpcService
- (*duration.Duration)(nil), // 8: google.protobuf.Duration
- (*wrappers.UInt32Value)(nil), // 9: google.protobuf.UInt32Value
- (*wrappers.DoubleValue)(nil), // 10: google.protobuf.DoubleValue
-}
-var file_envoy_api_v2_core_config_source_proto_depIdxs = []int32{
- 1, // 0: envoy.api.v2.core.ApiConfigSource.api_type:type_name -> envoy.api.v2.core.ApiConfigSource.ApiType
- 0, // 1: envoy.api.v2.core.ApiConfigSource.transport_api_version:type_name -> envoy.api.v2.core.ApiVersion
- 7, // 2: envoy.api.v2.core.ApiConfigSource.grpc_services:type_name -> envoy.api.v2.core.GrpcService
- 8, // 3: envoy.api.v2.core.ApiConfigSource.refresh_delay:type_name -> google.protobuf.Duration
- 8, // 4: envoy.api.v2.core.ApiConfigSource.request_timeout:type_name -> google.protobuf.Duration
- 5, // 5: envoy.api.v2.core.ApiConfigSource.rate_limit_settings:type_name -> envoy.api.v2.core.RateLimitSettings
- 0, // 6: envoy.api.v2.core.SelfConfigSource.transport_api_version:type_name -> envoy.api.v2.core.ApiVersion
- 9, // 7: envoy.api.v2.core.RateLimitSettings.max_tokens:type_name -> google.protobuf.UInt32Value
- 10, // 8: envoy.api.v2.core.RateLimitSettings.fill_rate:type_name -> google.protobuf.DoubleValue
- 2, // 9: envoy.api.v2.core.ConfigSource.api_config_source:type_name -> envoy.api.v2.core.ApiConfigSource
- 3, // 10: envoy.api.v2.core.ConfigSource.ads:type_name -> envoy.api.v2.core.AggregatedConfigSource
- 4, // 11: envoy.api.v2.core.ConfigSource.self:type_name -> envoy.api.v2.core.SelfConfigSource
- 8, // 12: envoy.api.v2.core.ConfigSource.initial_fetch_timeout:type_name -> google.protobuf.Duration
- 0, // 13: envoy.api.v2.core.ConfigSource.resource_api_version:type_name -> envoy.api.v2.core.ApiVersion
- 14, // [14:14] is the sub-list for method output_type
- 14, // [14:14] is the sub-list for method input_type
- 14, // [14:14] is the sub-list for extension type_name
- 14, // [14:14] is the sub-list for extension extendee
- 0, // [0:14] is the sub-list for field type_name
-}
-
-func init() { file_envoy_api_v2_core_config_source_proto_init() }
-func file_envoy_api_v2_core_config_source_proto_init() {
- if File_envoy_api_v2_core_config_source_proto != nil {
- return
- }
- file_envoy_api_v2_core_grpc_service_proto_init()
- if !protoimpl.UnsafeEnabled {
- file_envoy_api_v2_core_config_source_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ApiConfigSource); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_config_source_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*AggregatedConfigSource); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_config_source_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SelfConfigSource); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_config_source_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RateLimitSettings); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_config_source_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ConfigSource); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- }
- file_envoy_api_v2_core_config_source_proto_msgTypes[4].OneofWrappers = []interface{}{
- (*ConfigSource_Path)(nil),
- (*ConfigSource_ApiConfigSource)(nil),
- (*ConfigSource_Ads)(nil),
- (*ConfigSource_Self)(nil),
- }
- type x struct{}
- out := protoimpl.TypeBuilder{
- File: protoimpl.DescBuilder{
- GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
- RawDescriptor: file_envoy_api_v2_core_config_source_proto_rawDesc,
- NumEnums: 2,
- NumMessages: 5,
- NumExtensions: 0,
- NumServices: 0,
- },
- GoTypes: file_envoy_api_v2_core_config_source_proto_goTypes,
- DependencyIndexes: file_envoy_api_v2_core_config_source_proto_depIdxs,
- EnumInfos: file_envoy_api_v2_core_config_source_proto_enumTypes,
- MessageInfos: file_envoy_api_v2_core_config_source_proto_msgTypes,
- }.Build()
- File_envoy_api_v2_core_config_source_proto = out.File
- file_envoy_api_v2_core_config_source_proto_rawDesc = nil
- file_envoy_api_v2_core_config_source_proto_goTypes = nil
- file_envoy_api_v2_core_config_source_proto_depIdxs = nil
-}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/config_source.pb.validate.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/config_source.pb.validate.go
deleted file mode 100644
index 3517b6cfd1..0000000000
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/config_source.pb.validate.go
+++ /dev/null
@@ -1,890 +0,0 @@
-// Code generated by protoc-gen-validate. DO NOT EDIT.
-// source: envoy/api/v2/core/config_source.proto
-
-package core
-
-import (
- "bytes"
- "errors"
- "fmt"
- "net"
- "net/mail"
- "net/url"
- "regexp"
- "sort"
- "strings"
- "time"
- "unicode/utf8"
-
- "google.golang.org/protobuf/types/known/anypb"
-)
-
-// ensure the imports are used
-var (
- _ = bytes.MinRead
- _ = errors.New("")
- _ = fmt.Print
- _ = utf8.UTFMax
- _ = (*regexp.Regexp)(nil)
- _ = (*strings.Reader)(nil)
- _ = net.IPv4len
- _ = time.Duration(0)
- _ = (*url.URL)(nil)
- _ = (*mail.Address)(nil)
- _ = anypb.Any{}
- _ = sort.Sort
-)
-
-// Validate checks the field values on ApiConfigSource with the rules defined
-// in the proto definition for this message. If any rules are violated, the
-// first error encountered is returned, or nil if there are no violations.
-func (m *ApiConfigSource) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on ApiConfigSource with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// ApiConfigSourceMultiError, or nil if none found.
-func (m *ApiConfigSource) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *ApiConfigSource) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if _, ok := ApiConfigSource_ApiType_name[int32(m.GetApiType())]; !ok {
- err := ApiConfigSourceValidationError{
- field: "ApiType",
- reason: "value must be one of the defined enum values",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if _, ok := ApiVersion_name[int32(m.GetTransportApiVersion())]; !ok {
- err := ApiConfigSourceValidationError{
- field: "TransportApiVersion",
- reason: "value must be one of the defined enum values",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- for idx, item := range m.GetGrpcServices() {
- _, _ = idx, item
-
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ApiConfigSourceValidationError{
- field: fmt.Sprintf("GrpcServices[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ApiConfigSourceValidationError{
- field: fmt.Sprintf("GrpcServices[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ApiConfigSourceValidationError{
- field: fmt.Sprintf("GrpcServices[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
-
- if all {
- switch v := interface{}(m.GetRefreshDelay()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ApiConfigSourceValidationError{
- field: "RefreshDelay",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ApiConfigSourceValidationError{
- field: "RefreshDelay",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetRefreshDelay()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ApiConfigSourceValidationError{
- field: "RefreshDelay",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if d := m.GetRequestTimeout(); d != nil {
- dur, err := d.AsDuration(), d.CheckValid()
- if err != nil {
- err = ApiConfigSourceValidationError{
- field: "RequestTimeout",
- reason: "value is not a valid duration",
- cause: err,
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- } else {
-
- gt := time.Duration(0*time.Second + 0*time.Nanosecond)
-
- if dur <= gt {
- err := ApiConfigSourceValidationError{
- field: "RequestTimeout",
- reason: "value must be greater than 0s",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- }
- }
-
- if all {
- switch v := interface{}(m.GetRateLimitSettings()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ApiConfigSourceValidationError{
- field: "RateLimitSettings",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ApiConfigSourceValidationError{
- field: "RateLimitSettings",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetRateLimitSettings()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ApiConfigSourceValidationError{
- field: "RateLimitSettings",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- // no validation rules for SetNodeOnFirstMessageOnly
-
- if len(errors) > 0 {
- return ApiConfigSourceMultiError(errors)
- }
-
- return nil
-}
-
-// ApiConfigSourceMultiError is an error wrapping multiple validation errors
-// returned by ApiConfigSource.ValidateAll() if the designated constraints
-// aren't met.
-type ApiConfigSourceMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m ApiConfigSourceMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m ApiConfigSourceMultiError) AllErrors() []error { return m }
-
-// ApiConfigSourceValidationError is the validation error returned by
-// ApiConfigSource.Validate if the designated constraints aren't met.
-type ApiConfigSourceValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e ApiConfigSourceValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e ApiConfigSourceValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e ApiConfigSourceValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e ApiConfigSourceValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e ApiConfigSourceValidationError) ErrorName() string { return "ApiConfigSourceValidationError" }
-
-// Error satisfies the builtin error interface
-func (e ApiConfigSourceValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sApiConfigSource.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = ApiConfigSourceValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = ApiConfigSourceValidationError{}
-
-// Validate checks the field values on AggregatedConfigSource with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *AggregatedConfigSource) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on AggregatedConfigSource with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// AggregatedConfigSourceMultiError, or nil if none found.
-func (m *AggregatedConfigSource) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *AggregatedConfigSource) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if len(errors) > 0 {
- return AggregatedConfigSourceMultiError(errors)
- }
-
- return nil
-}
-
-// AggregatedConfigSourceMultiError is an error wrapping multiple validation
-// errors returned by AggregatedConfigSource.ValidateAll() if the designated
-// constraints aren't met.
-type AggregatedConfigSourceMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m AggregatedConfigSourceMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m AggregatedConfigSourceMultiError) AllErrors() []error { return m }
-
-// AggregatedConfigSourceValidationError is the validation error returned by
-// AggregatedConfigSource.Validate if the designated constraints aren't met.
-type AggregatedConfigSourceValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e AggregatedConfigSourceValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e AggregatedConfigSourceValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e AggregatedConfigSourceValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e AggregatedConfigSourceValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e AggregatedConfigSourceValidationError) ErrorName() string {
- return "AggregatedConfigSourceValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e AggregatedConfigSourceValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sAggregatedConfigSource.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = AggregatedConfigSourceValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = AggregatedConfigSourceValidationError{}
-
-// Validate checks the field values on SelfConfigSource with the rules defined
-// in the proto definition for this message. If any rules are violated, the
-// first error encountered is returned, or nil if there are no violations.
-func (m *SelfConfigSource) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on SelfConfigSource with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// SelfConfigSourceMultiError, or nil if none found.
-func (m *SelfConfigSource) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *SelfConfigSource) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if _, ok := ApiVersion_name[int32(m.GetTransportApiVersion())]; !ok {
- err := SelfConfigSourceValidationError{
- field: "TransportApiVersion",
- reason: "value must be one of the defined enum values",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if len(errors) > 0 {
- return SelfConfigSourceMultiError(errors)
- }
-
- return nil
-}
-
-// SelfConfigSourceMultiError is an error wrapping multiple validation errors
-// returned by SelfConfigSource.ValidateAll() if the designated constraints
-// aren't met.
-type SelfConfigSourceMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m SelfConfigSourceMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m SelfConfigSourceMultiError) AllErrors() []error { return m }
-
-// SelfConfigSourceValidationError is the validation error returned by
-// SelfConfigSource.Validate if the designated constraints aren't met.
-type SelfConfigSourceValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e SelfConfigSourceValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e SelfConfigSourceValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e SelfConfigSourceValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e SelfConfigSourceValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e SelfConfigSourceValidationError) ErrorName() string { return "SelfConfigSourceValidationError" }
-
-// Error satisfies the builtin error interface
-func (e SelfConfigSourceValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sSelfConfigSource.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = SelfConfigSourceValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = SelfConfigSourceValidationError{}
-
-// Validate checks the field values on RateLimitSettings with the rules defined
-// in the proto definition for this message. If any rules are violated, the
-// first error encountered is returned, or nil if there are no violations.
-func (m *RateLimitSettings) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on RateLimitSettings with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// RateLimitSettingsMultiError, or nil if none found.
-func (m *RateLimitSettings) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *RateLimitSettings) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if all {
- switch v := interface{}(m.GetMaxTokens()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, RateLimitSettingsValidationError{
- field: "MaxTokens",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, RateLimitSettingsValidationError{
- field: "MaxTokens",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetMaxTokens()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return RateLimitSettingsValidationError{
- field: "MaxTokens",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if wrapper := m.GetFillRate(); wrapper != nil {
-
- if wrapper.GetValue() <= 0 {
- err := RateLimitSettingsValidationError{
- field: "FillRate",
- reason: "value must be greater than 0",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- }
-
- if len(errors) > 0 {
- return RateLimitSettingsMultiError(errors)
- }
-
- return nil
-}
-
-// RateLimitSettingsMultiError is an error wrapping multiple validation errors
-// returned by RateLimitSettings.ValidateAll() if the designated constraints
-// aren't met.
-type RateLimitSettingsMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m RateLimitSettingsMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m RateLimitSettingsMultiError) AllErrors() []error { return m }
-
-// RateLimitSettingsValidationError is the validation error returned by
-// RateLimitSettings.Validate if the designated constraints aren't met.
-type RateLimitSettingsValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e RateLimitSettingsValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e RateLimitSettingsValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e RateLimitSettingsValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e RateLimitSettingsValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e RateLimitSettingsValidationError) ErrorName() string {
- return "RateLimitSettingsValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e RateLimitSettingsValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sRateLimitSettings.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = RateLimitSettingsValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = RateLimitSettingsValidationError{}
-
-// Validate checks the field values on ConfigSource with the rules defined in
-// the proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *ConfigSource) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on ConfigSource with the rules defined
-// in the proto definition for this message. If any rules are violated, the
-// result is a list of violation errors wrapped in ConfigSourceMultiError, or
-// nil if none found.
-func (m *ConfigSource) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *ConfigSource) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if all {
- switch v := interface{}(m.GetInitialFetchTimeout()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ConfigSourceValidationError{
- field: "InitialFetchTimeout",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ConfigSourceValidationError{
- field: "InitialFetchTimeout",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetInitialFetchTimeout()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ConfigSourceValidationError{
- field: "InitialFetchTimeout",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if _, ok := ApiVersion_name[int32(m.GetResourceApiVersion())]; !ok {
- err := ConfigSourceValidationError{
- field: "ResourceApiVersion",
- reason: "value must be one of the defined enum values",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- switch m.ConfigSourceSpecifier.(type) {
-
- case *ConfigSource_Path:
- // no validation rules for Path
-
- case *ConfigSource_ApiConfigSource:
-
- if all {
- switch v := interface{}(m.GetApiConfigSource()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ConfigSourceValidationError{
- field: "ApiConfigSource",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ConfigSourceValidationError{
- field: "ApiConfigSource",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetApiConfigSource()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ConfigSourceValidationError{
- field: "ApiConfigSource",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- case *ConfigSource_Ads:
-
- if all {
- switch v := interface{}(m.GetAds()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ConfigSourceValidationError{
- field: "Ads",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ConfigSourceValidationError{
- field: "Ads",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetAds()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ConfigSourceValidationError{
- field: "Ads",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- case *ConfigSource_Self:
-
- if all {
- switch v := interface{}(m.GetSelf()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ConfigSourceValidationError{
- field: "Self",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ConfigSourceValidationError{
- field: "Self",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetSelf()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ConfigSourceValidationError{
- field: "Self",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- default:
- err := ConfigSourceValidationError{
- field: "ConfigSourceSpecifier",
- reason: "value is required",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
-
- }
-
- if len(errors) > 0 {
- return ConfigSourceMultiError(errors)
- }
-
- return nil
-}
-
-// ConfigSourceMultiError is an error wrapping multiple validation errors
-// returned by ConfigSource.ValidateAll() if the designated constraints aren't met.
-type ConfigSourceMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m ConfigSourceMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m ConfigSourceMultiError) AllErrors() []error { return m }
-
-// ConfigSourceValidationError is the validation error returned by
-// ConfigSource.Validate if the designated constraints aren't met.
-type ConfigSourceValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e ConfigSourceValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e ConfigSourceValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e ConfigSourceValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e ConfigSourceValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e ConfigSourceValidationError) ErrorName() string { return "ConfigSourceValidationError" }
-
-// Error satisfies the builtin error interface
-func (e ConfigSourceValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sConfigSource.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = ConfigSourceValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = ConfigSourceValidationError{}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/event_service_config.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/event_service_config.pb.go
deleted file mode 100644
index c6d651437b..0000000000
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/event_service_config.pb.go
+++ /dev/null
@@ -1,196 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
-// source: envoy/api/v2/core/event_service_config.proto
-
-package core
-
-import (
- _ "github.com/cncf/xds/go/udpa/annotations"
- _ "github.com/envoyproxy/protoc-gen-validate/validate"
- 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)
-)
-
-// [#not-implemented-hide:]
-// Configuration of the event reporting service endpoint.
-type EventServiceConfig struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // Types that are assignable to ConfigSourceSpecifier:
- // *EventServiceConfig_GrpcService
- ConfigSourceSpecifier isEventServiceConfig_ConfigSourceSpecifier `protobuf_oneof:"config_source_specifier"`
-}
-
-func (x *EventServiceConfig) Reset() {
- *x = EventServiceConfig{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_event_service_config_proto_msgTypes[0]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *EventServiceConfig) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*EventServiceConfig) ProtoMessage() {}
-
-func (x *EventServiceConfig) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_event_service_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 EventServiceConfig.ProtoReflect.Descriptor instead.
-func (*EventServiceConfig) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_event_service_config_proto_rawDescGZIP(), []int{0}
-}
-
-func (m *EventServiceConfig) GetConfigSourceSpecifier() isEventServiceConfig_ConfigSourceSpecifier {
- if m != nil {
- return m.ConfigSourceSpecifier
- }
- return nil
-}
-
-func (x *EventServiceConfig) GetGrpcService() *GrpcService {
- if x, ok := x.GetConfigSourceSpecifier().(*EventServiceConfig_GrpcService); ok {
- return x.GrpcService
- }
- return nil
-}
-
-type isEventServiceConfig_ConfigSourceSpecifier interface {
- isEventServiceConfig_ConfigSourceSpecifier()
-}
-
-type EventServiceConfig_GrpcService struct {
- // Specifies the gRPC service that hosts the event reporting service.
- GrpcService *GrpcService `protobuf:"bytes,1,opt,name=grpc_service,json=grpcService,proto3,oneof"`
-}
-
-func (*EventServiceConfig_GrpcService) isEventServiceConfig_ConfigSourceSpecifier() {}
-
-var File_envoy_api_v2_core_event_service_config_proto protoreflect.FileDescriptor
-
-var file_envoy_api_v2_core_event_service_config_proto_rawDesc = []byte{
- 0x0a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63,
- 0x6f, 0x72, 0x65, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
- 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11,
- 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72,
- 0x65, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f,
- 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
- 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e,
- 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74,
- 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e,
- 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
- 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
- 0x79, 0x0a, 0x12, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43,
- 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x43, 0x0a, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65,
- 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e,
- 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
- 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x67,
- 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x1e, 0x0a, 0x17, 0x63, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63,
- 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x9a, 0x01, 0x0a, 0x1f, 0x69,
- 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76,
- 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x17,
- 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66,
- 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75,
- 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79,
- 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e,
- 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63,
- 0x6f, 0x72, 0x65, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x16, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0xba,
- 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
-}
-
-var (
- file_envoy_api_v2_core_event_service_config_proto_rawDescOnce sync.Once
- file_envoy_api_v2_core_event_service_config_proto_rawDescData = file_envoy_api_v2_core_event_service_config_proto_rawDesc
-)
-
-func file_envoy_api_v2_core_event_service_config_proto_rawDescGZIP() []byte {
- file_envoy_api_v2_core_event_service_config_proto_rawDescOnce.Do(func() {
- file_envoy_api_v2_core_event_service_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_core_event_service_config_proto_rawDescData)
- })
- return file_envoy_api_v2_core_event_service_config_proto_rawDescData
-}
-
-var file_envoy_api_v2_core_event_service_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
-var file_envoy_api_v2_core_event_service_config_proto_goTypes = []interface{}{
- (*EventServiceConfig)(nil), // 0: envoy.api.v2.core.EventServiceConfig
- (*GrpcService)(nil), // 1: envoy.api.v2.core.GrpcService
-}
-var file_envoy_api_v2_core_event_service_config_proto_depIdxs = []int32{
- 1, // 0: envoy.api.v2.core.EventServiceConfig.grpc_service:type_name -> envoy.api.v2.core.GrpcService
- 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_envoy_api_v2_core_event_service_config_proto_init() }
-func file_envoy_api_v2_core_event_service_config_proto_init() {
- if File_envoy_api_v2_core_event_service_config_proto != nil {
- return
- }
- file_envoy_api_v2_core_grpc_service_proto_init()
- if !protoimpl.UnsafeEnabled {
- file_envoy_api_v2_core_event_service_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*EventServiceConfig); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- }
- file_envoy_api_v2_core_event_service_config_proto_msgTypes[0].OneofWrappers = []interface{}{
- (*EventServiceConfig_GrpcService)(nil),
- }
- type x struct{}
- out := protoimpl.TypeBuilder{
- File: protoimpl.DescBuilder{
- GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
- RawDescriptor: file_envoy_api_v2_core_event_service_config_proto_rawDesc,
- NumEnums: 0,
- NumMessages: 1,
- NumExtensions: 0,
- NumServices: 0,
- },
- GoTypes: file_envoy_api_v2_core_event_service_config_proto_goTypes,
- DependencyIndexes: file_envoy_api_v2_core_event_service_config_proto_depIdxs,
- MessageInfos: file_envoy_api_v2_core_event_service_config_proto_msgTypes,
- }.Build()
- File_envoy_api_v2_core_event_service_config_proto = out.File
- file_envoy_api_v2_core_event_service_config_proto_rawDesc = nil
- file_envoy_api_v2_core_event_service_config_proto_goTypes = nil
- file_envoy_api_v2_core_event_service_config_proto_depIdxs = nil
-}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/event_service_config.pb.validate.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/event_service_config.pb.validate.go
deleted file mode 100644
index e64c93ff7e..0000000000
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/event_service_config.pb.validate.go
+++ /dev/null
@@ -1,183 +0,0 @@
-// Code generated by protoc-gen-validate. DO NOT EDIT.
-// source: envoy/api/v2/core/event_service_config.proto
-
-package core
-
-import (
- "bytes"
- "errors"
- "fmt"
- "net"
- "net/mail"
- "net/url"
- "regexp"
- "sort"
- "strings"
- "time"
- "unicode/utf8"
-
- "google.golang.org/protobuf/types/known/anypb"
-)
-
-// ensure the imports are used
-var (
- _ = bytes.MinRead
- _ = errors.New("")
- _ = fmt.Print
- _ = utf8.UTFMax
- _ = (*regexp.Regexp)(nil)
- _ = (*strings.Reader)(nil)
- _ = net.IPv4len
- _ = time.Duration(0)
- _ = (*url.URL)(nil)
- _ = (*mail.Address)(nil)
- _ = anypb.Any{}
- _ = sort.Sort
-)
-
-// Validate checks the field values on EventServiceConfig with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *EventServiceConfig) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on EventServiceConfig with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// EventServiceConfigMultiError, or nil if none found.
-func (m *EventServiceConfig) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *EventServiceConfig) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- switch m.ConfigSourceSpecifier.(type) {
-
- case *EventServiceConfig_GrpcService:
-
- if all {
- switch v := interface{}(m.GetGrpcService()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, EventServiceConfigValidationError{
- field: "GrpcService",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, EventServiceConfigValidationError{
- field: "GrpcService",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetGrpcService()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return EventServiceConfigValidationError{
- field: "GrpcService",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- default:
- err := EventServiceConfigValidationError{
- field: "ConfigSourceSpecifier",
- reason: "value is required",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
-
- }
-
- if len(errors) > 0 {
- return EventServiceConfigMultiError(errors)
- }
-
- return nil
-}
-
-// EventServiceConfigMultiError is an error wrapping multiple validation errors
-// returned by EventServiceConfig.ValidateAll() if the designated constraints
-// aren't met.
-type EventServiceConfigMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m EventServiceConfigMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m EventServiceConfigMultiError) AllErrors() []error { return m }
-
-// EventServiceConfigValidationError is the validation error returned by
-// EventServiceConfig.Validate if the designated constraints aren't met.
-type EventServiceConfigValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e EventServiceConfigValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e EventServiceConfigValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e EventServiceConfigValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e EventServiceConfigValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e EventServiceConfigValidationError) ErrorName() string {
- return "EventServiceConfigValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e EventServiceConfigValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sEventServiceConfig.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = EventServiceConfigValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = EventServiceConfigValidationError{}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/grpc_method_list.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/grpc_method_list.pb.go
deleted file mode 100644
index 318ad12668..0000000000
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/grpc_method_list.pb.go
+++ /dev/null
@@ -1,241 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
-// source: envoy/api/v2/core/grpc_method_list.proto
-
-package core
-
-import (
- _ "github.com/cncf/xds/go/udpa/annotations"
- _ "github.com/envoyproxy/protoc-gen-validate/validate"
- 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)
-)
-
-// A list of gRPC methods which can be used as an allowlist, for example.
-type GrpcMethodList struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- Services []*GrpcMethodList_Service `protobuf:"bytes,1,rep,name=services,proto3" json:"services,omitempty"`
-}
-
-func (x *GrpcMethodList) Reset() {
- *x = GrpcMethodList{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_grpc_method_list_proto_msgTypes[0]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *GrpcMethodList) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*GrpcMethodList) ProtoMessage() {}
-
-func (x *GrpcMethodList) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_grpc_method_list_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 GrpcMethodList.ProtoReflect.Descriptor instead.
-func (*GrpcMethodList) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_grpc_method_list_proto_rawDescGZIP(), []int{0}
-}
-
-func (x *GrpcMethodList) GetServices() []*GrpcMethodList_Service {
- if x != nil {
- return x.Services
- }
- return nil
-}
-
-type GrpcMethodList_Service struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // The name of the gRPC service.
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // The names of the gRPC methods in this service.
- MethodNames []string `protobuf:"bytes,2,rep,name=method_names,json=methodNames,proto3" json:"method_names,omitempty"`
-}
-
-func (x *GrpcMethodList_Service) Reset() {
- *x = GrpcMethodList_Service{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_grpc_method_list_proto_msgTypes[1]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *GrpcMethodList_Service) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*GrpcMethodList_Service) ProtoMessage() {}
-
-func (x *GrpcMethodList_Service) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_grpc_method_list_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 GrpcMethodList_Service.ProtoReflect.Descriptor instead.
-func (*GrpcMethodList_Service) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_grpc_method_list_proto_rawDescGZIP(), []int{0, 0}
-}
-
-func (x *GrpcMethodList_Service) GetName() string {
- if x != nil {
- return x.Name
- }
- return ""
-}
-
-func (x *GrpcMethodList_Service) GetMethodNames() []string {
- if x != nil {
- return x.MethodNames
- }
- return nil
-}
-
-var File_envoy_api_v2_core_grpc_method_list_proto protoreflect.FileDescriptor
-
-var file_envoy_api_v2_core_grpc_method_list_proto_rawDesc = []byte{
- 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63,
- 0x6f, 0x72, 0x65, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f,
- 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f,
- 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x1e, 0x75,
- 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
- 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75,
- 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
- 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61,
- 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xac, 0x01, 0x0a, 0x0e, 0x47, 0x72, 0x70, 0x63, 0x4d, 0x65,
- 0x74, 0x68, 0x6f, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76,
- 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76,
- 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47,
- 0x72, 0x70, 0x63, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x53, 0x65,
- 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x1a,
- 0x53, 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61,
- 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20,
- 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x68, 0x6f,
- 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x08, 0xfa,
- 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4e,
- 0x61, 0x6d, 0x65, 0x73, 0x42, 0x96, 0x01, 0x0a, 0x1f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
- 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69,
- 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x13, 0x47, 0x72, 0x70, 0x63, 0x4d, 0x65,
- 0x74, 0x68, 0x6f, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
- 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f,
- 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
- 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70,
- 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x16, 0x12,
- 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f,
- 0x72, 0x65, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x62, 0x06, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x33,
-}
-
-var (
- file_envoy_api_v2_core_grpc_method_list_proto_rawDescOnce sync.Once
- file_envoy_api_v2_core_grpc_method_list_proto_rawDescData = file_envoy_api_v2_core_grpc_method_list_proto_rawDesc
-)
-
-func file_envoy_api_v2_core_grpc_method_list_proto_rawDescGZIP() []byte {
- file_envoy_api_v2_core_grpc_method_list_proto_rawDescOnce.Do(func() {
- file_envoy_api_v2_core_grpc_method_list_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_core_grpc_method_list_proto_rawDescData)
- })
- return file_envoy_api_v2_core_grpc_method_list_proto_rawDescData
-}
-
-var file_envoy_api_v2_core_grpc_method_list_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
-var file_envoy_api_v2_core_grpc_method_list_proto_goTypes = []interface{}{
- (*GrpcMethodList)(nil), // 0: envoy.api.v2.core.GrpcMethodList
- (*GrpcMethodList_Service)(nil), // 1: envoy.api.v2.core.GrpcMethodList.Service
-}
-var file_envoy_api_v2_core_grpc_method_list_proto_depIdxs = []int32{
- 1, // 0: envoy.api.v2.core.GrpcMethodList.services:type_name -> envoy.api.v2.core.GrpcMethodList.Service
- 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_envoy_api_v2_core_grpc_method_list_proto_init() }
-func file_envoy_api_v2_core_grpc_method_list_proto_init() {
- if File_envoy_api_v2_core_grpc_method_list_proto != nil {
- return
- }
- if !protoimpl.UnsafeEnabled {
- file_envoy_api_v2_core_grpc_method_list_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GrpcMethodList); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_grpc_method_list_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GrpcMethodList_Service); 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_envoy_api_v2_core_grpc_method_list_proto_rawDesc,
- NumEnums: 0,
- NumMessages: 2,
- NumExtensions: 0,
- NumServices: 0,
- },
- GoTypes: file_envoy_api_v2_core_grpc_method_list_proto_goTypes,
- DependencyIndexes: file_envoy_api_v2_core_grpc_method_list_proto_depIdxs,
- MessageInfos: file_envoy_api_v2_core_grpc_method_list_proto_msgTypes,
- }.Build()
- File_envoy_api_v2_core_grpc_method_list_proto = out.File
- file_envoy_api_v2_core_grpc_method_list_proto_rawDesc = nil
- file_envoy_api_v2_core_grpc_method_list_proto_goTypes = nil
- file_envoy_api_v2_core_grpc_method_list_proto_depIdxs = nil
-}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/grpc_method_list.pb.validate.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/grpc_method_list.pb.validate.go
deleted file mode 100644
index a2ba0401dd..0000000000
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/grpc_method_list.pb.validate.go
+++ /dev/null
@@ -1,294 +0,0 @@
-// Code generated by protoc-gen-validate. DO NOT EDIT.
-// source: envoy/api/v2/core/grpc_method_list.proto
-
-package core
-
-import (
- "bytes"
- "errors"
- "fmt"
- "net"
- "net/mail"
- "net/url"
- "regexp"
- "sort"
- "strings"
- "time"
- "unicode/utf8"
-
- "google.golang.org/protobuf/types/known/anypb"
-)
-
-// ensure the imports are used
-var (
- _ = bytes.MinRead
- _ = errors.New("")
- _ = fmt.Print
- _ = utf8.UTFMax
- _ = (*regexp.Regexp)(nil)
- _ = (*strings.Reader)(nil)
- _ = net.IPv4len
- _ = time.Duration(0)
- _ = (*url.URL)(nil)
- _ = (*mail.Address)(nil)
- _ = anypb.Any{}
- _ = sort.Sort
-)
-
-// Validate checks the field values on GrpcMethodList with the rules defined in
-// the proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *GrpcMethodList) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on GrpcMethodList with the rules defined
-// in the proto definition for this message. If any rules are violated, the
-// result is a list of violation errors wrapped in GrpcMethodListMultiError,
-// or nil if none found.
-func (m *GrpcMethodList) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *GrpcMethodList) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- for idx, item := range m.GetServices() {
- _, _ = idx, item
-
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, GrpcMethodListValidationError{
- field: fmt.Sprintf("Services[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, GrpcMethodListValidationError{
- field: fmt.Sprintf("Services[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return GrpcMethodListValidationError{
- field: fmt.Sprintf("Services[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
-
- if len(errors) > 0 {
- return GrpcMethodListMultiError(errors)
- }
-
- return nil
-}
-
-// GrpcMethodListMultiError is an error wrapping multiple validation errors
-// returned by GrpcMethodList.ValidateAll() if the designated constraints
-// aren't met.
-type GrpcMethodListMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m GrpcMethodListMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m GrpcMethodListMultiError) AllErrors() []error { return m }
-
-// GrpcMethodListValidationError is the validation error returned by
-// GrpcMethodList.Validate if the designated constraints aren't met.
-type GrpcMethodListValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e GrpcMethodListValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e GrpcMethodListValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e GrpcMethodListValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e GrpcMethodListValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e GrpcMethodListValidationError) ErrorName() string { return "GrpcMethodListValidationError" }
-
-// Error satisfies the builtin error interface
-func (e GrpcMethodListValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sGrpcMethodList.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = GrpcMethodListValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = GrpcMethodListValidationError{}
-
-// Validate checks the field values on GrpcMethodList_Service with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *GrpcMethodList_Service) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on GrpcMethodList_Service with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// GrpcMethodList_ServiceMultiError, or nil if none found.
-func (m *GrpcMethodList_Service) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *GrpcMethodList_Service) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if len(m.GetName()) < 1 {
- err := GrpcMethodList_ServiceValidationError{
- field: "Name",
- reason: "value length must be at least 1 bytes",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if len(m.GetMethodNames()) < 1 {
- err := GrpcMethodList_ServiceValidationError{
- field: "MethodNames",
- reason: "value must contain at least 1 item(s)",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if len(errors) > 0 {
- return GrpcMethodList_ServiceMultiError(errors)
- }
-
- return nil
-}
-
-// GrpcMethodList_ServiceMultiError is an error wrapping multiple validation
-// errors returned by GrpcMethodList_Service.ValidateAll() if the designated
-// constraints aren't met.
-type GrpcMethodList_ServiceMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m GrpcMethodList_ServiceMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m GrpcMethodList_ServiceMultiError) AllErrors() []error { return m }
-
-// GrpcMethodList_ServiceValidationError is the validation error returned by
-// GrpcMethodList_Service.Validate if the designated constraints aren't met.
-type GrpcMethodList_ServiceValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e GrpcMethodList_ServiceValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e GrpcMethodList_ServiceValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e GrpcMethodList_ServiceValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e GrpcMethodList_ServiceValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e GrpcMethodList_ServiceValidationError) ErrorName() string {
- return "GrpcMethodList_ServiceValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e GrpcMethodList_ServiceValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sGrpcMethodList_Service.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = GrpcMethodList_ServiceValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = GrpcMethodList_ServiceValidationError{}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/grpc_service.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/grpc_service.pb.go
deleted file mode 100644
index 5fe0654a9f..0000000000
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/grpc_service.pb.go
+++ /dev/null
@@ -1,1470 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
-// source: envoy/api/v2/core/grpc_service.proto
-
-package core
-
-import (
- _ "github.com/cncf/xds/go/udpa/annotations"
- _ "github.com/envoyproxy/protoc-gen-validate/validate"
- any "github.com/golang/protobuf/ptypes/any"
- duration "github.com/golang/protobuf/ptypes/duration"
- _struct "github.com/golang/protobuf/ptypes/struct"
- protoreflect "google.golang.org/protobuf/reflect/protoreflect"
- protoimpl "google.golang.org/protobuf/runtime/protoimpl"
- emptypb "google.golang.org/protobuf/types/known/emptypb"
- 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)
-)
-
-// gRPC service configuration. This is used by :ref:`ApiConfigSource
-// ` and filter configurations.
-// [#next-free-field: 6]
-type GrpcService struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // Types that are assignable to TargetSpecifier:
- // *GrpcService_EnvoyGrpc_
- // *GrpcService_GoogleGrpc_
- TargetSpecifier isGrpcService_TargetSpecifier `protobuf_oneof:"target_specifier"`
- // The timeout for the gRPC request. This is the timeout for a specific
- // request.
- Timeout *duration.Duration `protobuf:"bytes,3,opt,name=timeout,proto3" json:"timeout,omitempty"`
- // Additional metadata to include in streams initiated to the GrpcService.
- // This can be used for scenarios in which additional ad hoc authorization
- // headers (e.g. ``x-foo-bar: baz-key``) are to be injected.
- InitialMetadata []*HeaderValue `protobuf:"bytes,5,rep,name=initial_metadata,json=initialMetadata,proto3" json:"initial_metadata,omitempty"`
-}
-
-func (x *GrpcService) Reset() {
- *x = GrpcService{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[0]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *GrpcService) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*GrpcService) ProtoMessage() {}
-
-func (x *GrpcService) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_grpc_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)
-}
-
-// Deprecated: Use GrpcService.ProtoReflect.Descriptor instead.
-func (*GrpcService) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_grpc_service_proto_rawDescGZIP(), []int{0}
-}
-
-func (m *GrpcService) GetTargetSpecifier() isGrpcService_TargetSpecifier {
- if m != nil {
- return m.TargetSpecifier
- }
- return nil
-}
-
-func (x *GrpcService) GetEnvoyGrpc() *GrpcService_EnvoyGrpc {
- if x, ok := x.GetTargetSpecifier().(*GrpcService_EnvoyGrpc_); ok {
- return x.EnvoyGrpc
- }
- return nil
-}
-
-func (x *GrpcService) GetGoogleGrpc() *GrpcService_GoogleGrpc {
- if x, ok := x.GetTargetSpecifier().(*GrpcService_GoogleGrpc_); ok {
- return x.GoogleGrpc
- }
- return nil
-}
-
-func (x *GrpcService) GetTimeout() *duration.Duration {
- if x != nil {
- return x.Timeout
- }
- return nil
-}
-
-func (x *GrpcService) GetInitialMetadata() []*HeaderValue {
- if x != nil {
- return x.InitialMetadata
- }
- return nil
-}
-
-type isGrpcService_TargetSpecifier interface {
- isGrpcService_TargetSpecifier()
-}
-
-type GrpcService_EnvoyGrpc_ struct {
- // Envoy's in-built gRPC client.
- // See the :ref:`gRPC services overview `
- // documentation for discussion on gRPC client selection.
- EnvoyGrpc *GrpcService_EnvoyGrpc `protobuf:"bytes,1,opt,name=envoy_grpc,json=envoyGrpc,proto3,oneof"`
-}
-
-type GrpcService_GoogleGrpc_ struct {
- // `Google C++ gRPC client `_
- // See the :ref:`gRPC services overview `
- // documentation for discussion on gRPC client selection.
- GoogleGrpc *GrpcService_GoogleGrpc `protobuf:"bytes,2,opt,name=google_grpc,json=googleGrpc,proto3,oneof"`
-}
-
-func (*GrpcService_EnvoyGrpc_) isGrpcService_TargetSpecifier() {}
-
-func (*GrpcService_GoogleGrpc_) isGrpcService_TargetSpecifier() {}
-
-type GrpcService_EnvoyGrpc struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // The name of the upstream gRPC cluster. SSL credentials will be supplied
- // in the :ref:`Cluster ` :ref:`transport_socket
- // `.
- ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
-}
-
-func (x *GrpcService_EnvoyGrpc) Reset() {
- *x = GrpcService_EnvoyGrpc{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[1]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *GrpcService_EnvoyGrpc) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*GrpcService_EnvoyGrpc) ProtoMessage() {}
-
-func (x *GrpcService_EnvoyGrpc) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_grpc_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)
-}
-
-// Deprecated: Use GrpcService_EnvoyGrpc.ProtoReflect.Descriptor instead.
-func (*GrpcService_EnvoyGrpc) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_grpc_service_proto_rawDescGZIP(), []int{0, 0}
-}
-
-func (x *GrpcService_EnvoyGrpc) GetClusterName() string {
- if x != nil {
- return x.ClusterName
- }
- return ""
-}
-
-// [#next-free-field: 7]
-type GrpcService_GoogleGrpc struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // The target URI when using the `Google C++ gRPC client
- // `_. SSL credentials will be supplied in
- // :ref:`channel_credentials `.
- TargetUri string `protobuf:"bytes,1,opt,name=target_uri,json=targetUri,proto3" json:"target_uri,omitempty"`
- ChannelCredentials *GrpcService_GoogleGrpc_ChannelCredentials `protobuf:"bytes,2,opt,name=channel_credentials,json=channelCredentials,proto3" json:"channel_credentials,omitempty"`
- // A set of call credentials that can be composed with `channel credentials
- // `_.
- CallCredentials []*GrpcService_GoogleGrpc_CallCredentials `protobuf:"bytes,3,rep,name=call_credentials,json=callCredentials,proto3" json:"call_credentials,omitempty"`
- // The human readable prefix to use when emitting statistics for the gRPC
- // service.
- //
- // .. csv-table::
- // :header: Name, Type, Description
- // :widths: 1, 1, 2
- //
- // streams_total, Counter, Total number of streams opened
- // streams_closed_, Counter, Total streams closed with
- StatPrefix string `protobuf:"bytes,4,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"`
- // The name of the Google gRPC credentials factory to use. This must have been registered with
- // Envoy. If this is empty, a default credentials factory will be used that sets up channel
- // credentials based on other configuration parameters.
- CredentialsFactoryName string `protobuf:"bytes,5,opt,name=credentials_factory_name,json=credentialsFactoryName,proto3" json:"credentials_factory_name,omitempty"`
- // Additional configuration for site-specific customizations of the Google
- // gRPC library.
- Config *_struct.Struct `protobuf:"bytes,6,opt,name=config,proto3" json:"config,omitempty"`
-}
-
-func (x *GrpcService_GoogleGrpc) Reset() {
- *x = GrpcService_GoogleGrpc{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[2]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *GrpcService_GoogleGrpc) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*GrpcService_GoogleGrpc) ProtoMessage() {}
-
-func (x *GrpcService_GoogleGrpc) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_grpc_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)
-}
-
-// Deprecated: Use GrpcService_GoogleGrpc.ProtoReflect.Descriptor instead.
-func (*GrpcService_GoogleGrpc) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_grpc_service_proto_rawDescGZIP(), []int{0, 1}
-}
-
-func (x *GrpcService_GoogleGrpc) GetTargetUri() string {
- if x != nil {
- return x.TargetUri
- }
- return ""
-}
-
-func (x *GrpcService_GoogleGrpc) GetChannelCredentials() *GrpcService_GoogleGrpc_ChannelCredentials {
- if x != nil {
- return x.ChannelCredentials
- }
- return nil
-}
-
-func (x *GrpcService_GoogleGrpc) GetCallCredentials() []*GrpcService_GoogleGrpc_CallCredentials {
- if x != nil {
- return x.CallCredentials
- }
- return nil
-}
-
-func (x *GrpcService_GoogleGrpc) GetStatPrefix() string {
- if x != nil {
- return x.StatPrefix
- }
- return ""
-}
-
-func (x *GrpcService_GoogleGrpc) GetCredentialsFactoryName() string {
- if x != nil {
- return x.CredentialsFactoryName
- }
- return ""
-}
-
-func (x *GrpcService_GoogleGrpc) GetConfig() *_struct.Struct {
- if x != nil {
- return x.Config
- }
- return nil
-}
-
-// See https://grpc.io/grpc/cpp/structgrpc_1_1_ssl_credentials_options.html.
-type GrpcService_GoogleGrpc_SslCredentials struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // PEM encoded server root certificates.
- RootCerts *DataSource `protobuf:"bytes,1,opt,name=root_certs,json=rootCerts,proto3" json:"root_certs,omitempty"`
- // PEM encoded client private key.
- PrivateKey *DataSource `protobuf:"bytes,2,opt,name=private_key,json=privateKey,proto3" json:"private_key,omitempty"`
- // PEM encoded client certificate chain.
- CertChain *DataSource `protobuf:"bytes,3,opt,name=cert_chain,json=certChain,proto3" json:"cert_chain,omitempty"`
-}
-
-func (x *GrpcService_GoogleGrpc_SslCredentials) Reset() {
- *x = GrpcService_GoogleGrpc_SslCredentials{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[3]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *GrpcService_GoogleGrpc_SslCredentials) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*GrpcService_GoogleGrpc_SslCredentials) ProtoMessage() {}
-
-func (x *GrpcService_GoogleGrpc_SslCredentials) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_grpc_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)
-}
-
-// Deprecated: Use GrpcService_GoogleGrpc_SslCredentials.ProtoReflect.Descriptor instead.
-func (*GrpcService_GoogleGrpc_SslCredentials) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_grpc_service_proto_rawDescGZIP(), []int{0, 1, 0}
-}
-
-func (x *GrpcService_GoogleGrpc_SslCredentials) GetRootCerts() *DataSource {
- if x != nil {
- return x.RootCerts
- }
- return nil
-}
-
-func (x *GrpcService_GoogleGrpc_SslCredentials) GetPrivateKey() *DataSource {
- if x != nil {
- return x.PrivateKey
- }
- return nil
-}
-
-func (x *GrpcService_GoogleGrpc_SslCredentials) GetCertChain() *DataSource {
- if x != nil {
- return x.CertChain
- }
- return nil
-}
-
-// Local channel credentials. Only UDS is supported for now.
-// See https://github.com/grpc/grpc/pull/15909.
-type GrpcService_GoogleGrpc_GoogleLocalCredentials struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-}
-
-func (x *GrpcService_GoogleGrpc_GoogleLocalCredentials) Reset() {
- *x = GrpcService_GoogleGrpc_GoogleLocalCredentials{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[4]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *GrpcService_GoogleGrpc_GoogleLocalCredentials) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*GrpcService_GoogleGrpc_GoogleLocalCredentials) ProtoMessage() {}
-
-func (x *GrpcService_GoogleGrpc_GoogleLocalCredentials) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_grpc_service_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 GrpcService_GoogleGrpc_GoogleLocalCredentials.ProtoReflect.Descriptor instead.
-func (*GrpcService_GoogleGrpc_GoogleLocalCredentials) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_grpc_service_proto_rawDescGZIP(), []int{0, 1, 1}
-}
-
-// See https://grpc.io/docs/guides/auth.html#credential-types to understand Channel and Call
-// credential types.
-type GrpcService_GoogleGrpc_ChannelCredentials struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // Types that are assignable to CredentialSpecifier:
- // *GrpcService_GoogleGrpc_ChannelCredentials_SslCredentials
- // *GrpcService_GoogleGrpc_ChannelCredentials_GoogleDefault
- // *GrpcService_GoogleGrpc_ChannelCredentials_LocalCredentials
- CredentialSpecifier isGrpcService_GoogleGrpc_ChannelCredentials_CredentialSpecifier `protobuf_oneof:"credential_specifier"`
-}
-
-func (x *GrpcService_GoogleGrpc_ChannelCredentials) Reset() {
- *x = GrpcService_GoogleGrpc_ChannelCredentials{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[5]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *GrpcService_GoogleGrpc_ChannelCredentials) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*GrpcService_GoogleGrpc_ChannelCredentials) ProtoMessage() {}
-
-func (x *GrpcService_GoogleGrpc_ChannelCredentials) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_grpc_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)
-}
-
-// Deprecated: Use GrpcService_GoogleGrpc_ChannelCredentials.ProtoReflect.Descriptor instead.
-func (*GrpcService_GoogleGrpc_ChannelCredentials) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_grpc_service_proto_rawDescGZIP(), []int{0, 1, 2}
-}
-
-func (m *GrpcService_GoogleGrpc_ChannelCredentials) GetCredentialSpecifier() isGrpcService_GoogleGrpc_ChannelCredentials_CredentialSpecifier {
- if m != nil {
- return m.CredentialSpecifier
- }
- return nil
-}
-
-func (x *GrpcService_GoogleGrpc_ChannelCredentials) GetSslCredentials() *GrpcService_GoogleGrpc_SslCredentials {
- if x, ok := x.GetCredentialSpecifier().(*GrpcService_GoogleGrpc_ChannelCredentials_SslCredentials); ok {
- return x.SslCredentials
- }
- return nil
-}
-
-func (x *GrpcService_GoogleGrpc_ChannelCredentials) GetGoogleDefault() *emptypb.Empty {
- if x, ok := x.GetCredentialSpecifier().(*GrpcService_GoogleGrpc_ChannelCredentials_GoogleDefault); ok {
- return x.GoogleDefault
- }
- return nil
-}
-
-func (x *GrpcService_GoogleGrpc_ChannelCredentials) GetLocalCredentials() *GrpcService_GoogleGrpc_GoogleLocalCredentials {
- if x, ok := x.GetCredentialSpecifier().(*GrpcService_GoogleGrpc_ChannelCredentials_LocalCredentials); ok {
- return x.LocalCredentials
- }
- return nil
-}
-
-type isGrpcService_GoogleGrpc_ChannelCredentials_CredentialSpecifier interface {
- isGrpcService_GoogleGrpc_ChannelCredentials_CredentialSpecifier()
-}
-
-type GrpcService_GoogleGrpc_ChannelCredentials_SslCredentials struct {
- SslCredentials *GrpcService_GoogleGrpc_SslCredentials `protobuf:"bytes,1,opt,name=ssl_credentials,json=sslCredentials,proto3,oneof"`
-}
-
-type GrpcService_GoogleGrpc_ChannelCredentials_GoogleDefault struct {
- // https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
- GoogleDefault *emptypb.Empty `protobuf:"bytes,2,opt,name=google_default,json=googleDefault,proto3,oneof"`
-}
-
-type GrpcService_GoogleGrpc_ChannelCredentials_LocalCredentials struct {
- LocalCredentials *GrpcService_GoogleGrpc_GoogleLocalCredentials `protobuf:"bytes,3,opt,name=local_credentials,json=localCredentials,proto3,oneof"`
-}
-
-func (*GrpcService_GoogleGrpc_ChannelCredentials_SslCredentials) isGrpcService_GoogleGrpc_ChannelCredentials_CredentialSpecifier() {
-}
-
-func (*GrpcService_GoogleGrpc_ChannelCredentials_GoogleDefault) isGrpcService_GoogleGrpc_ChannelCredentials_CredentialSpecifier() {
-}
-
-func (*GrpcService_GoogleGrpc_ChannelCredentials_LocalCredentials) isGrpcService_GoogleGrpc_ChannelCredentials_CredentialSpecifier() {
-}
-
-// [#next-free-field: 8]
-type GrpcService_GoogleGrpc_CallCredentials struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // Types that are assignable to CredentialSpecifier:
- // *GrpcService_GoogleGrpc_CallCredentials_AccessToken
- // *GrpcService_GoogleGrpc_CallCredentials_GoogleComputeEngine
- // *GrpcService_GoogleGrpc_CallCredentials_GoogleRefreshToken
- // *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJwtAccess
- // *GrpcService_GoogleGrpc_CallCredentials_GoogleIam
- // *GrpcService_GoogleGrpc_CallCredentials_FromPlugin
- // *GrpcService_GoogleGrpc_CallCredentials_StsService_
- CredentialSpecifier isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier `protobuf_oneof:"credential_specifier"`
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials) Reset() {
- *x = GrpcService_GoogleGrpc_CallCredentials{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[6]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*GrpcService_GoogleGrpc_CallCredentials) ProtoMessage() {}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_grpc_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)
-}
-
-// Deprecated: Use GrpcService_GoogleGrpc_CallCredentials.ProtoReflect.Descriptor instead.
-func (*GrpcService_GoogleGrpc_CallCredentials) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_grpc_service_proto_rawDescGZIP(), []int{0, 1, 3}
-}
-
-func (m *GrpcService_GoogleGrpc_CallCredentials) GetCredentialSpecifier() isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier {
- if m != nil {
- return m.CredentialSpecifier
- }
- return nil
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials) GetAccessToken() string {
- if x, ok := x.GetCredentialSpecifier().(*GrpcService_GoogleGrpc_CallCredentials_AccessToken); ok {
- return x.AccessToken
- }
- return ""
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials) GetGoogleComputeEngine() *emptypb.Empty {
- if x, ok := x.GetCredentialSpecifier().(*GrpcService_GoogleGrpc_CallCredentials_GoogleComputeEngine); ok {
- return x.GoogleComputeEngine
- }
- return nil
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials) GetGoogleRefreshToken() string {
- if x, ok := x.GetCredentialSpecifier().(*GrpcService_GoogleGrpc_CallCredentials_GoogleRefreshToken); ok {
- return x.GoogleRefreshToken
- }
- return ""
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials) GetServiceAccountJwtAccess() *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials {
- if x, ok := x.GetCredentialSpecifier().(*GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJwtAccess); ok {
- return x.ServiceAccountJwtAccess
- }
- return nil
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials) GetGoogleIam() *GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials {
- if x, ok := x.GetCredentialSpecifier().(*GrpcService_GoogleGrpc_CallCredentials_GoogleIam); ok {
- return x.GoogleIam
- }
- return nil
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials) GetFromPlugin() *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin {
- if x, ok := x.GetCredentialSpecifier().(*GrpcService_GoogleGrpc_CallCredentials_FromPlugin); ok {
- return x.FromPlugin
- }
- return nil
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials) GetStsService() *GrpcService_GoogleGrpc_CallCredentials_StsService {
- if x, ok := x.GetCredentialSpecifier().(*GrpcService_GoogleGrpc_CallCredentials_StsService_); ok {
- return x.StsService
- }
- return nil
-}
-
-type isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier interface {
- isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier()
-}
-
-type GrpcService_GoogleGrpc_CallCredentials_AccessToken struct {
- // Access token credentials.
- // https://grpc.io/grpc/cpp/namespacegrpc.html#ad3a80da696ffdaea943f0f858d7a360d.
- AccessToken string `protobuf:"bytes,1,opt,name=access_token,json=accessToken,proto3,oneof"`
-}
-
-type GrpcService_GoogleGrpc_CallCredentials_GoogleComputeEngine struct {
- // Google Compute Engine credentials.
- // https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
- GoogleComputeEngine *emptypb.Empty `protobuf:"bytes,2,opt,name=google_compute_engine,json=googleComputeEngine,proto3,oneof"`
-}
-
-type GrpcService_GoogleGrpc_CallCredentials_GoogleRefreshToken struct {
- // Google refresh token credentials.
- // https://grpc.io/grpc/cpp/namespacegrpc.html#a96901c997b91bc6513b08491e0dca37c.
- GoogleRefreshToken string `protobuf:"bytes,3,opt,name=google_refresh_token,json=googleRefreshToken,proto3,oneof"`
-}
-
-type GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJwtAccess struct {
- // Service Account JWT Access credentials.
- // https://grpc.io/grpc/cpp/namespacegrpc.html#a92a9f959d6102461f66ee973d8e9d3aa.
- ServiceAccountJwtAccess *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials `protobuf:"bytes,4,opt,name=service_account_jwt_access,json=serviceAccountJwtAccess,proto3,oneof"`
-}
-
-type GrpcService_GoogleGrpc_CallCredentials_GoogleIam struct {
- // Google IAM credentials.
- // https://grpc.io/grpc/cpp/namespacegrpc.html#a9fc1fc101b41e680d47028166e76f9d0.
- GoogleIam *GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials `protobuf:"bytes,5,opt,name=google_iam,json=googleIam,proto3,oneof"`
-}
-
-type GrpcService_GoogleGrpc_CallCredentials_FromPlugin struct {
- // Custom authenticator credentials.
- // https://grpc.io/grpc/cpp/namespacegrpc.html#a823c6a4b19ffc71fb33e90154ee2ad07.
- // https://grpc.io/docs/guides/auth.html#extending-grpc-to-support-other-authentication-mechanisms.
- FromPlugin *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin `protobuf:"bytes,6,opt,name=from_plugin,json=fromPlugin,proto3,oneof"`
-}
-
-type GrpcService_GoogleGrpc_CallCredentials_StsService_ struct {
- // Custom security token service which implements OAuth 2.0 token exchange.
- // https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16
- // See https://github.com/grpc/grpc/pull/19587.
- StsService *GrpcService_GoogleGrpc_CallCredentials_StsService `protobuf:"bytes,7,opt,name=sts_service,json=stsService,proto3,oneof"`
-}
-
-func (*GrpcService_GoogleGrpc_CallCredentials_AccessToken) isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier() {
-}
-
-func (*GrpcService_GoogleGrpc_CallCredentials_GoogleComputeEngine) isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier() {
-}
-
-func (*GrpcService_GoogleGrpc_CallCredentials_GoogleRefreshToken) isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier() {
-}
-
-func (*GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJwtAccess) isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier() {
-}
-
-func (*GrpcService_GoogleGrpc_CallCredentials_GoogleIam) isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier() {
-}
-
-func (*GrpcService_GoogleGrpc_CallCredentials_FromPlugin) isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier() {
-}
-
-func (*GrpcService_GoogleGrpc_CallCredentials_StsService_) isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier() {
-}
-
-type GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- JsonKey string `protobuf:"bytes,1,opt,name=json_key,json=jsonKey,proto3" json:"json_key,omitempty"`
- TokenLifetimeSeconds uint64 `protobuf:"varint,2,opt,name=token_lifetime_seconds,json=tokenLifetimeSeconds,proto3" json:"token_lifetime_seconds,omitempty"`
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials) Reset() {
- *x = GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[7]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials) ProtoMessage() {}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_grpc_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)
-}
-
-// Deprecated: Use GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials.ProtoReflect.Descriptor instead.
-func (*GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_grpc_service_proto_rawDescGZIP(), []int{0, 1, 3, 0}
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials) GetJsonKey() string {
- if x != nil {
- return x.JsonKey
- }
- return ""
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials) GetTokenLifetimeSeconds() uint64 {
- if x != nil {
- return x.TokenLifetimeSeconds
- }
- return 0
-}
-
-type GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- AuthorizationToken string `protobuf:"bytes,1,opt,name=authorization_token,json=authorizationToken,proto3" json:"authorization_token,omitempty"`
- AuthoritySelector string `protobuf:"bytes,2,opt,name=authority_selector,json=authoritySelector,proto3" json:"authority_selector,omitempty"`
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials) Reset() {
- *x = GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[8]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials) ProtoMessage() {}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_grpc_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)
-}
-
-// Deprecated: Use GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials.ProtoReflect.Descriptor instead.
-func (*GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_grpc_service_proto_rawDescGZIP(), []int{0, 1, 3, 1}
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials) GetAuthorizationToken() string {
- if x != nil {
- return x.AuthorizationToken
- }
- return ""
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials) GetAuthoritySelector() string {
- if x != nil {
- return x.AuthoritySelector
- }
- return ""
-}
-
-type GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // Types that are assignable to ConfigType:
- // *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_Config
- // *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_TypedConfig
- ConfigType isGrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_ConfigType `protobuf_oneof:"config_type"`
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) Reset() {
- *x = GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[9]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) ProtoMessage() {}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_grpc_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)
-}
-
-// Deprecated: Use GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin.ProtoReflect.Descriptor instead.
-func (*GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_grpc_service_proto_rawDescGZIP(), []int{0, 1, 3, 2}
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) GetName() string {
- if x != nil {
- return x.Name
- }
- return ""
-}
-
-func (m *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) GetConfigType() isGrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_ConfigType {
- if m != nil {
- return m.ConfigType
- }
- return nil
-}
-
-// Deprecated: Do not use.
-func (x *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) GetConfig() *_struct.Struct {
- if x, ok := x.GetConfigType().(*GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_Config); ok {
- return x.Config
- }
- return nil
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) GetTypedConfig() *any.Any {
- if x, ok := x.GetConfigType().(*GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_TypedConfig); ok {
- return x.TypedConfig
- }
- return nil
-}
-
-type isGrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_ConfigType interface {
- isGrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_ConfigType()
-}
-
-type GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_Config struct {
- // Deprecated: Do not use.
- Config *_struct.Struct `protobuf:"bytes,2,opt,name=config,proto3,oneof"`
-}
-
-type GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_TypedConfig struct {
- TypedConfig *any.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"`
-}
-
-func (*GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_Config) isGrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_ConfigType() {
-}
-
-func (*GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_TypedConfig) isGrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_ConfigType() {
-}
-
-// Security token service configuration that allows Google gRPC to
-// fetch security token from an OAuth 2.0 authorization server.
-// See https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16 and
-// https://github.com/grpc/grpc/pull/19587.
-// [#next-free-field: 10]
-type GrpcService_GoogleGrpc_CallCredentials_StsService struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // URI of the token exchange service that handles token exchange requests.
- // [#comment:TODO(asraa): Add URI validation when implemented. Tracked by
- // https://github.com/envoyproxy/protoc-gen-validate/issues/303]
- TokenExchangeServiceUri string `protobuf:"bytes,1,opt,name=token_exchange_service_uri,json=tokenExchangeServiceUri,proto3" json:"token_exchange_service_uri,omitempty"`
- // Location of the target service or resource where the client
- // intends to use the requested security token.
- Resource string `protobuf:"bytes,2,opt,name=resource,proto3" json:"resource,omitempty"`
- // Logical name of the target service where the client intends to
- // use the requested security token.
- Audience string `protobuf:"bytes,3,opt,name=audience,proto3" json:"audience,omitempty"`
- // The desired scope of the requested security token in the
- // context of the service or resource where the token will be used.
- Scope string `protobuf:"bytes,4,opt,name=scope,proto3" json:"scope,omitempty"`
- // Type of the requested security token.
- RequestedTokenType string `protobuf:"bytes,5,opt,name=requested_token_type,json=requestedTokenType,proto3" json:"requested_token_type,omitempty"`
- // The path of subject token, a security token that represents the
- // identity of the party on behalf of whom the request is being made.
- SubjectTokenPath string `protobuf:"bytes,6,opt,name=subject_token_path,json=subjectTokenPath,proto3" json:"subject_token_path,omitempty"`
- // Type of the subject token.
- SubjectTokenType string `protobuf:"bytes,7,opt,name=subject_token_type,json=subjectTokenType,proto3" json:"subject_token_type,omitempty"`
- // The path of actor token, a security token that represents the identity
- // of the acting party. The acting party is authorized to use the
- // requested security token and act on behalf of the subject.
- ActorTokenPath string `protobuf:"bytes,8,opt,name=actor_token_path,json=actorTokenPath,proto3" json:"actor_token_path,omitempty"`
- // Type of the actor token.
- ActorTokenType string `protobuf:"bytes,9,opt,name=actor_token_type,json=actorTokenType,proto3" json:"actor_token_type,omitempty"`
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) Reset() {
- *x = GrpcService_GoogleGrpc_CallCredentials_StsService{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[10]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*GrpcService_GoogleGrpc_CallCredentials_StsService) ProtoMessage() {}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_grpc_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)
-}
-
-// Deprecated: Use GrpcService_GoogleGrpc_CallCredentials_StsService.ProtoReflect.Descriptor instead.
-func (*GrpcService_GoogleGrpc_CallCredentials_StsService) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_grpc_service_proto_rawDescGZIP(), []int{0, 1, 3, 3}
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) GetTokenExchangeServiceUri() string {
- if x != nil {
- return x.TokenExchangeServiceUri
- }
- return ""
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) GetResource() string {
- if x != nil {
- return x.Resource
- }
- return ""
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) GetAudience() string {
- if x != nil {
- return x.Audience
- }
- return ""
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) GetScope() string {
- if x != nil {
- return x.Scope
- }
- return ""
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) GetRequestedTokenType() string {
- if x != nil {
- return x.RequestedTokenType
- }
- return ""
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) GetSubjectTokenPath() string {
- if x != nil {
- return x.SubjectTokenPath
- }
- return ""
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) GetSubjectTokenType() string {
- if x != nil {
- return x.SubjectTokenType
- }
- return ""
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) GetActorTokenPath() string {
- if x != nil {
- return x.ActorTokenPath
- }
- return ""
-}
-
-func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) GetActorTokenType() string {
- if x != nil {
- return x.ActorTokenType
- }
- return ""
-}
-
-var File_envoy_api_v2_core_grpc_service_proto protoreflect.FileDescriptor
-
-var file_envoy_api_v2_core_grpc_service_proto_rawDesc = []byte{
- 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63,
- 0x6f, 0x72, 0x65, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70,
- 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73,
- 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 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, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 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, 0x1e, 0x75,
- 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
- 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x75,
- 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
- 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
- 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17,
- 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
- 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdb, 0x16, 0x0a, 0x0b, 0x47, 0x72, 0x70, 0x63,
- 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x49, 0x0a, 0x0a, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x5f, 0x67, 0x72, 0x70, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e,
- 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
- 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x76, 0x6f,
- 0x79, 0x47, 0x72, 0x70, 0x63, 0x48, 0x00, 0x52, 0x09, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x47, 0x72,
- 0x70, 0x63, 0x12, 0x4c, 0x0a, 0x0b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x67, 0x72, 0x70,
- 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
- 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63,
- 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72,
- 0x70, 0x63, 0x48, 0x00, 0x52, 0x0a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63,
- 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 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, 0x07, 0x74, 0x69,
- 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x49, 0x0a, 0x10, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c,
- 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32,
- 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63,
- 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
- 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
- 0x1a, 0x37, 0x0a, 0x09, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x47, 0x72, 0x70, 0x63, 0x12, 0x2a, 0x0a,
- 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0b, 0x63, 0x6c,
- 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0xda, 0x13, 0x0a, 0x0a, 0x47, 0x6f,
- 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x12, 0x26, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67,
- 0x65, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42,
- 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x72, 0x69,
- 0x12, 0x6d, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x72, 0x65, 0x64,
- 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e,
- 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72,
- 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f,
- 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
- 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x12, 0x63, 0x68, 0x61,
- 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12,
- 0x64, 0x0a, 0x10, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69,
- 0x61, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
- 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72,
- 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
- 0x69, 0x61, 0x6c, 0x73, 0x52, 0x0f, 0x63, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e,
- 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72,
- 0x65, 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72,
- 0x02, 0x20, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12,
- 0x38, 0x0a, 0x18, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x5f, 0x66,
- 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x16, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x46, 0x61,
- 0x63, 0x74, 0x6f, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6e,
- 0x66, 0x69, 0x67, 0x18, 0x06, 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, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xd4, 0x01, 0x0a, 0x0e, 0x53,
- 0x73, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x3c, 0x0a,
- 0x0a, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32,
- 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x52, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x43, 0x65, 0x72, 0x74, 0x73, 0x12, 0x46, 0x0a, 0x0b, 0x70,
- 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e,
- 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42,
- 0x06, 0xb8, 0xb7, 0x8b, 0xa4, 0x02, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65,
- 0x4b, 0x65, 0x79, 0x12, 0x3c, 0x0a, 0x0a, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69,
- 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
- 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61,
- 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x43, 0x68, 0x61, 0x69,
- 0x6e, 0x1a, 0x18, 0x0a, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c,
- 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x1a, 0xc8, 0x02, 0x0a, 0x12,
- 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61,
- 0x6c, 0x73, 0x12, 0x63, 0x0a, 0x0f, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e,
- 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e,
- 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
- 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67,
- 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x73, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e,
- 0x74, 0x69, 0x61, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x73, 0x6c, 0x43, 0x72, 0x65, 0x64,
- 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x3f, 0x0a, 0x0e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 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, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0d, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x6f, 0x0a, 0x11, 0x6c, 0x6f, 0x63, 0x61,
- 0x6c, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x03, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e,
- 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76,
- 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x47,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e,
- 0x74, 0x69, 0x61, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x72,
- 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x42, 0x1b, 0x0a, 0x14, 0x63, 0x72, 0x65,
- 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65,
- 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0xfd, 0x0b, 0x0a, 0x0f, 0x43, 0x61, 0x6c, 0x6c, 0x43,
- 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0c, 0x61, 0x63,
- 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x48, 0x00, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12,
- 0x4c, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74,
- 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 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, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x13, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x32, 0x0a,
- 0x14, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f,
- 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x12, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65,
- 0x6e, 0x12, 0x9b, 0x01, 0x0a, 0x1a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63,
- 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73,
- 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61,
- 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53,
- 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70,
- 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c,
- 0x73, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
- 0x4a, 0x57, 0x54, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
- 0x69, 0x61, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x17, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41,
- 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4a, 0x77, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12,
- 0x6f, 0x0a, 0x0a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x61, 0x6d, 0x18, 0x05, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e,
- 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76,
- 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43,
- 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x47,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x49, 0x41, 0x4d, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69,
- 0x61, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x09, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x49, 0x61, 0x6d,
- 0x12, 0x7a, 0x0a, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x18,
- 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x57, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70,
- 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65,
- 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63,
- 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73,
- 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
- 0x69, 0x61, 0x6c, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x48, 0x00,
- 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x67, 0x0a, 0x0b,
- 0x73, 0x74, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x44, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32,
- 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
- 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c,
- 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x53, 0x74, 0x73,
- 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x74, 0x73, 0x53, 0x65,
- 0x72, 0x76, 0x69, 0x63, 0x65, 0x1a, 0x75, 0x0a, 0x22, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
- 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4a, 0x57, 0x54, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73,
- 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6a,
- 0x73, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a,
- 0x73, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f,
- 0x6c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x4c, 0x69, 0x66,
- 0x65, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x1a, 0x76, 0x0a, 0x14,
- 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x49, 0x41, 0x4d, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
- 0x69, 0x61, 0x6c, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69,
- 0x74, 0x79, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x11, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x6c, 0x65,
- 0x63, 0x74, 0x6f, 0x72, 0x1a, 0xb4, 0x01, 0x0a, 0x1d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
- 0x61, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x46, 0x72, 0x6f, 0x6d,
- 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x63, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 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, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52,
- 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0d, 0x0a, 0x0b,
- 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x8b, 0x03, 0x0a, 0x0a,
- 0x53, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x1a, 0x74, 0x6f,
- 0x6b, 0x65, 0x6e, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x72,
- 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17,
- 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x65, 0x72,
- 0x76, 0x69, 0x63, 0x65, 0x55, 0x72, 0x69, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75,
- 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75,
- 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x12,
- 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
- 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x54, 0x6f,
- 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x35, 0x0a, 0x12, 0x73, 0x75, 0x62, 0x6a, 0x65,
- 0x63, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x06, 0x20,
- 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x10, 0x73, 0x75,
- 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, 0x35,
- 0x0a, 0x12, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f,
- 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72,
- 0x02, 0x20, 0x01, 0x52, 0x10, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x6b, 0x65,
- 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x74,
- 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x0e, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12,
- 0x28, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x74,
- 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x6f, 0x72,
- 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x1b, 0x0a, 0x14, 0x63, 0x72, 0x65,
- 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65,
- 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x17, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
- 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x4a,
- 0x04, 0x08, 0x04, 0x10, 0x05, 0x42, 0x93, 0x01, 0x0a, 0x1f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76,
- 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70,
- 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x10, 0x47, 0x72, 0x70, 0x63, 0x53,
- 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67,
- 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70,
- 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d,
- 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f,
- 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x16, 0x12, 0x14, 0x65,
- 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65,
- 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x33,
-}
-
-var (
- file_envoy_api_v2_core_grpc_service_proto_rawDescOnce sync.Once
- file_envoy_api_v2_core_grpc_service_proto_rawDescData = file_envoy_api_v2_core_grpc_service_proto_rawDesc
-)
-
-func file_envoy_api_v2_core_grpc_service_proto_rawDescGZIP() []byte {
- file_envoy_api_v2_core_grpc_service_proto_rawDescOnce.Do(func() {
- file_envoy_api_v2_core_grpc_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_core_grpc_service_proto_rawDescData)
- })
- return file_envoy_api_v2_core_grpc_service_proto_rawDescData
-}
-
-var file_envoy_api_v2_core_grpc_service_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
-var file_envoy_api_v2_core_grpc_service_proto_goTypes = []interface{}{
- (*GrpcService)(nil), // 0: envoy.api.v2.core.GrpcService
- (*GrpcService_EnvoyGrpc)(nil), // 1: envoy.api.v2.core.GrpcService.EnvoyGrpc
- (*GrpcService_GoogleGrpc)(nil), // 2: envoy.api.v2.core.GrpcService.GoogleGrpc
- (*GrpcService_GoogleGrpc_SslCredentials)(nil), // 3: envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials
- (*GrpcService_GoogleGrpc_GoogleLocalCredentials)(nil), // 4: envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials
- (*GrpcService_GoogleGrpc_ChannelCredentials)(nil), // 5: envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials
- (*GrpcService_GoogleGrpc_CallCredentials)(nil), // 6: envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials
- (*GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials)(nil), // 7: envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials
- (*GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials)(nil), // 8: envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials
- (*GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin)(nil), // 9: envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin
- (*GrpcService_GoogleGrpc_CallCredentials_StsService)(nil), // 10: envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.StsService
- (*duration.Duration)(nil), // 11: google.protobuf.Duration
- (*HeaderValue)(nil), // 12: envoy.api.v2.core.HeaderValue
- (*_struct.Struct)(nil), // 13: google.protobuf.Struct
- (*DataSource)(nil), // 14: envoy.api.v2.core.DataSource
- (*emptypb.Empty)(nil), // 15: google.protobuf.Empty
- (*any.Any)(nil), // 16: google.protobuf.Any
-}
-var file_envoy_api_v2_core_grpc_service_proto_depIdxs = []int32{
- 1, // 0: envoy.api.v2.core.GrpcService.envoy_grpc:type_name -> envoy.api.v2.core.GrpcService.EnvoyGrpc
- 2, // 1: envoy.api.v2.core.GrpcService.google_grpc:type_name -> envoy.api.v2.core.GrpcService.GoogleGrpc
- 11, // 2: envoy.api.v2.core.GrpcService.timeout:type_name -> google.protobuf.Duration
- 12, // 3: envoy.api.v2.core.GrpcService.initial_metadata:type_name -> envoy.api.v2.core.HeaderValue
- 5, // 4: envoy.api.v2.core.GrpcService.GoogleGrpc.channel_credentials:type_name -> envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials
- 6, // 5: envoy.api.v2.core.GrpcService.GoogleGrpc.call_credentials:type_name -> envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials
- 13, // 6: envoy.api.v2.core.GrpcService.GoogleGrpc.config:type_name -> google.protobuf.Struct
- 14, // 7: envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials.root_certs:type_name -> envoy.api.v2.core.DataSource
- 14, // 8: envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials.private_key:type_name -> envoy.api.v2.core.DataSource
- 14, // 9: envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials.cert_chain:type_name -> envoy.api.v2.core.DataSource
- 3, // 10: envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials.ssl_credentials:type_name -> envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials
- 15, // 11: envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials.google_default:type_name -> google.protobuf.Empty
- 4, // 12: envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials.local_credentials:type_name -> envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials
- 15, // 13: envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.google_compute_engine:type_name -> google.protobuf.Empty
- 7, // 14: envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.service_account_jwt_access:type_name -> envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials
- 8, // 15: envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.google_iam:type_name -> envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials
- 9, // 16: envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.from_plugin:type_name -> envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin
- 10, // 17: envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.sts_service:type_name -> envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.StsService
- 13, // 18: envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin.config:type_name -> google.protobuf.Struct
- 16, // 19: envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin.typed_config:type_name -> google.protobuf.Any
- 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_envoy_api_v2_core_grpc_service_proto_init() }
-func file_envoy_api_v2_core_grpc_service_proto_init() {
- if File_envoy_api_v2_core_grpc_service_proto != nil {
- return
- }
- file_envoy_api_v2_core_base_proto_init()
- if !protoimpl.UnsafeEnabled {
- file_envoy_api_v2_core_grpc_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GrpcService); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_grpc_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GrpcService_EnvoyGrpc); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_grpc_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GrpcService_GoogleGrpc); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_grpc_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GrpcService_GoogleGrpc_SslCredentials); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_grpc_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GrpcService_GoogleGrpc_GoogleLocalCredentials); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_grpc_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GrpcService_GoogleGrpc_ChannelCredentials); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_grpc_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GrpcService_GoogleGrpc_CallCredentials); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_grpc_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_grpc_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_grpc_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_grpc_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GrpcService_GoogleGrpc_CallCredentials_StsService); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- }
- file_envoy_api_v2_core_grpc_service_proto_msgTypes[0].OneofWrappers = []interface{}{
- (*GrpcService_EnvoyGrpc_)(nil),
- (*GrpcService_GoogleGrpc_)(nil),
- }
- file_envoy_api_v2_core_grpc_service_proto_msgTypes[5].OneofWrappers = []interface{}{
- (*GrpcService_GoogleGrpc_ChannelCredentials_SslCredentials)(nil),
- (*GrpcService_GoogleGrpc_ChannelCredentials_GoogleDefault)(nil),
- (*GrpcService_GoogleGrpc_ChannelCredentials_LocalCredentials)(nil),
- }
- file_envoy_api_v2_core_grpc_service_proto_msgTypes[6].OneofWrappers = []interface{}{
- (*GrpcService_GoogleGrpc_CallCredentials_AccessToken)(nil),
- (*GrpcService_GoogleGrpc_CallCredentials_GoogleComputeEngine)(nil),
- (*GrpcService_GoogleGrpc_CallCredentials_GoogleRefreshToken)(nil),
- (*GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJwtAccess)(nil),
- (*GrpcService_GoogleGrpc_CallCredentials_GoogleIam)(nil),
- (*GrpcService_GoogleGrpc_CallCredentials_FromPlugin)(nil),
- (*GrpcService_GoogleGrpc_CallCredentials_StsService_)(nil),
- }
- file_envoy_api_v2_core_grpc_service_proto_msgTypes[9].OneofWrappers = []interface{}{
- (*GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_Config)(nil),
- (*GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_TypedConfig)(nil),
- }
- type x struct{}
- out := protoimpl.TypeBuilder{
- File: protoimpl.DescBuilder{
- GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
- RawDescriptor: file_envoy_api_v2_core_grpc_service_proto_rawDesc,
- NumEnums: 0,
- NumMessages: 11,
- NumExtensions: 0,
- NumServices: 0,
- },
- GoTypes: file_envoy_api_v2_core_grpc_service_proto_goTypes,
- DependencyIndexes: file_envoy_api_v2_core_grpc_service_proto_depIdxs,
- MessageInfos: file_envoy_api_v2_core_grpc_service_proto_msgTypes,
- }.Build()
- File_envoy_api_v2_core_grpc_service_proto = out.File
- file_envoy_api_v2_core_grpc_service_proto_rawDesc = nil
- file_envoy_api_v2_core_grpc_service_proto_goTypes = nil
- file_envoy_api_v2_core_grpc_service_proto_depIdxs = nil
-}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/grpc_service.pb.validate.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/grpc_service.pb.validate.go
deleted file mode 100644
index f729e4e0dc..0000000000
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/grpc_service.pb.validate.go
+++ /dev/null
@@ -1,1981 +0,0 @@
-// Code generated by protoc-gen-validate. DO NOT EDIT.
-// source: envoy/api/v2/core/grpc_service.proto
-
-package core
-
-import (
- "bytes"
- "errors"
- "fmt"
- "net"
- "net/mail"
- "net/url"
- "regexp"
- "sort"
- "strings"
- "time"
- "unicode/utf8"
-
- "google.golang.org/protobuf/types/known/anypb"
-)
-
-// ensure the imports are used
-var (
- _ = bytes.MinRead
- _ = errors.New("")
- _ = fmt.Print
- _ = utf8.UTFMax
- _ = (*regexp.Regexp)(nil)
- _ = (*strings.Reader)(nil)
- _ = net.IPv4len
- _ = time.Duration(0)
- _ = (*url.URL)(nil)
- _ = (*mail.Address)(nil)
- _ = anypb.Any{}
- _ = sort.Sort
-)
-
-// Validate checks the field values on GrpcService with the rules defined in
-// the proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *GrpcService) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on GrpcService with the rules defined in
-// the proto definition for this message. If any rules are violated, the
-// result is a list of violation errors wrapped in GrpcServiceMultiError, or
-// nil if none found.
-func (m *GrpcService) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *GrpcService) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if all {
- switch v := interface{}(m.GetTimeout()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, GrpcServiceValidationError{
- field: "Timeout",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, GrpcServiceValidationError{
- field: "Timeout",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetTimeout()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return GrpcServiceValidationError{
- field: "Timeout",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- for idx, item := range m.GetInitialMetadata() {
- _, _ = idx, item
-
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, GrpcServiceValidationError{
- field: fmt.Sprintf("InitialMetadata[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, GrpcServiceValidationError{
- field: fmt.Sprintf("InitialMetadata[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return GrpcServiceValidationError{
- field: fmt.Sprintf("InitialMetadata[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
-
- switch m.TargetSpecifier.(type) {
-
- case *GrpcService_EnvoyGrpc_:
-
- if all {
- switch v := interface{}(m.GetEnvoyGrpc()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, GrpcServiceValidationError{
- field: "EnvoyGrpc",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, GrpcServiceValidationError{
- field: "EnvoyGrpc",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetEnvoyGrpc()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return GrpcServiceValidationError{
- field: "EnvoyGrpc",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- case *GrpcService_GoogleGrpc_:
-
- if all {
- switch v := interface{}(m.GetGoogleGrpc()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, GrpcServiceValidationError{
- field: "GoogleGrpc",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, GrpcServiceValidationError{
- field: "GoogleGrpc",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetGoogleGrpc()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return GrpcServiceValidationError{
- field: "GoogleGrpc",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- default:
- err := GrpcServiceValidationError{
- field: "TargetSpecifier",
- reason: "value is required",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
-
- }
-
- if len(errors) > 0 {
- return GrpcServiceMultiError(errors)
- }
-
- return nil
-}
-
-// GrpcServiceMultiError is an error wrapping multiple validation errors
-// returned by GrpcService.ValidateAll() if the designated constraints aren't met.
-type GrpcServiceMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m GrpcServiceMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m GrpcServiceMultiError) AllErrors() []error { return m }
-
-// GrpcServiceValidationError is the validation error returned by
-// GrpcService.Validate if the designated constraints aren't met.
-type GrpcServiceValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e GrpcServiceValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e GrpcServiceValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e GrpcServiceValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e GrpcServiceValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e GrpcServiceValidationError) ErrorName() string { return "GrpcServiceValidationError" }
-
-// Error satisfies the builtin error interface
-func (e GrpcServiceValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sGrpcService.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = GrpcServiceValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = GrpcServiceValidationError{}
-
-// Validate checks the field values on GrpcService_EnvoyGrpc with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *GrpcService_EnvoyGrpc) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on GrpcService_EnvoyGrpc with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// GrpcService_EnvoyGrpcMultiError, or nil if none found.
-func (m *GrpcService_EnvoyGrpc) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *GrpcService_EnvoyGrpc) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if len(m.GetClusterName()) < 1 {
- err := GrpcService_EnvoyGrpcValidationError{
- field: "ClusterName",
- reason: "value length must be at least 1 bytes",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if len(errors) > 0 {
- return GrpcService_EnvoyGrpcMultiError(errors)
- }
-
- return nil
-}
-
-// GrpcService_EnvoyGrpcMultiError is an error wrapping multiple validation
-// errors returned by GrpcService_EnvoyGrpc.ValidateAll() if the designated
-// constraints aren't met.
-type GrpcService_EnvoyGrpcMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m GrpcService_EnvoyGrpcMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m GrpcService_EnvoyGrpcMultiError) AllErrors() []error { return m }
-
-// GrpcService_EnvoyGrpcValidationError is the validation error returned by
-// GrpcService_EnvoyGrpc.Validate if the designated constraints aren't met.
-type GrpcService_EnvoyGrpcValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e GrpcService_EnvoyGrpcValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e GrpcService_EnvoyGrpcValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e GrpcService_EnvoyGrpcValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e GrpcService_EnvoyGrpcValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e GrpcService_EnvoyGrpcValidationError) ErrorName() string {
- return "GrpcService_EnvoyGrpcValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e GrpcService_EnvoyGrpcValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sGrpcService_EnvoyGrpc.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = GrpcService_EnvoyGrpcValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = GrpcService_EnvoyGrpcValidationError{}
-
-// Validate checks the field values on GrpcService_GoogleGrpc with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *GrpcService_GoogleGrpc) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on GrpcService_GoogleGrpc with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// GrpcService_GoogleGrpcMultiError, or nil if none found.
-func (m *GrpcService_GoogleGrpc) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *GrpcService_GoogleGrpc) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if len(m.GetTargetUri()) < 1 {
- err := GrpcService_GoogleGrpcValidationError{
- field: "TargetUri",
- reason: "value length must be at least 1 bytes",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if all {
- switch v := interface{}(m.GetChannelCredentials()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpcValidationError{
- field: "ChannelCredentials",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpcValidationError{
- field: "ChannelCredentials",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetChannelCredentials()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return GrpcService_GoogleGrpcValidationError{
- field: "ChannelCredentials",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- for idx, item := range m.GetCallCredentials() {
- _, _ = idx, item
-
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpcValidationError{
- field: fmt.Sprintf("CallCredentials[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpcValidationError{
- field: fmt.Sprintf("CallCredentials[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return GrpcService_GoogleGrpcValidationError{
- field: fmt.Sprintf("CallCredentials[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
-
- if len(m.GetStatPrefix()) < 1 {
- err := GrpcService_GoogleGrpcValidationError{
- field: "StatPrefix",
- reason: "value length must be at least 1 bytes",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- // no validation rules for CredentialsFactoryName
-
- if all {
- switch v := interface{}(m.GetConfig()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpcValidationError{
- field: "Config",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpcValidationError{
- field: "Config",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return GrpcService_GoogleGrpcValidationError{
- field: "Config",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if len(errors) > 0 {
- return GrpcService_GoogleGrpcMultiError(errors)
- }
-
- return nil
-}
-
-// GrpcService_GoogleGrpcMultiError is an error wrapping multiple validation
-// errors returned by GrpcService_GoogleGrpc.ValidateAll() if the designated
-// constraints aren't met.
-type GrpcService_GoogleGrpcMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m GrpcService_GoogleGrpcMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m GrpcService_GoogleGrpcMultiError) AllErrors() []error { return m }
-
-// GrpcService_GoogleGrpcValidationError is the validation error returned by
-// GrpcService_GoogleGrpc.Validate if the designated constraints aren't met.
-type GrpcService_GoogleGrpcValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e GrpcService_GoogleGrpcValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e GrpcService_GoogleGrpcValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e GrpcService_GoogleGrpcValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e GrpcService_GoogleGrpcValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e GrpcService_GoogleGrpcValidationError) ErrorName() string {
- return "GrpcService_GoogleGrpcValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e GrpcService_GoogleGrpcValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sGrpcService_GoogleGrpc.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = GrpcService_GoogleGrpcValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = GrpcService_GoogleGrpcValidationError{}
-
-// Validate checks the field values on GrpcService_GoogleGrpc_SslCredentials
-// with the rules defined in the proto definition for this message. If any
-// rules are violated, the first error encountered is returned, or nil if
-// there are no violations.
-func (m *GrpcService_GoogleGrpc_SslCredentials) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on GrpcService_GoogleGrpc_SslCredentials
-// with the rules defined in the proto definition for this message. If any
-// rules are violated, the result is a list of violation errors wrapped in
-// GrpcService_GoogleGrpc_SslCredentialsMultiError, or nil if none found.
-func (m *GrpcService_GoogleGrpc_SslCredentials) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *GrpcService_GoogleGrpc_SslCredentials) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if all {
- switch v := interface{}(m.GetRootCerts()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpc_SslCredentialsValidationError{
- field: "RootCerts",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpc_SslCredentialsValidationError{
- field: "RootCerts",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetRootCerts()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return GrpcService_GoogleGrpc_SslCredentialsValidationError{
- field: "RootCerts",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetPrivateKey()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpc_SslCredentialsValidationError{
- field: "PrivateKey",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpc_SslCredentialsValidationError{
- field: "PrivateKey",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetPrivateKey()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return GrpcService_GoogleGrpc_SslCredentialsValidationError{
- field: "PrivateKey",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetCertChain()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpc_SslCredentialsValidationError{
- field: "CertChain",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpc_SslCredentialsValidationError{
- field: "CertChain",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetCertChain()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return GrpcService_GoogleGrpc_SslCredentialsValidationError{
- field: "CertChain",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if len(errors) > 0 {
- return GrpcService_GoogleGrpc_SslCredentialsMultiError(errors)
- }
-
- return nil
-}
-
-// GrpcService_GoogleGrpc_SslCredentialsMultiError is an error wrapping
-// multiple validation errors returned by
-// GrpcService_GoogleGrpc_SslCredentials.ValidateAll() if the designated
-// constraints aren't met.
-type GrpcService_GoogleGrpc_SslCredentialsMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m GrpcService_GoogleGrpc_SslCredentialsMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m GrpcService_GoogleGrpc_SslCredentialsMultiError) AllErrors() []error { return m }
-
-// GrpcService_GoogleGrpc_SslCredentialsValidationError is the validation error
-// returned by GrpcService_GoogleGrpc_SslCredentials.Validate if the
-// designated constraints aren't met.
-type GrpcService_GoogleGrpc_SslCredentialsValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e GrpcService_GoogleGrpc_SslCredentialsValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e GrpcService_GoogleGrpc_SslCredentialsValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e GrpcService_GoogleGrpc_SslCredentialsValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e GrpcService_GoogleGrpc_SslCredentialsValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e GrpcService_GoogleGrpc_SslCredentialsValidationError) ErrorName() string {
- return "GrpcService_GoogleGrpc_SslCredentialsValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e GrpcService_GoogleGrpc_SslCredentialsValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sGrpcService_GoogleGrpc_SslCredentials.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = GrpcService_GoogleGrpc_SslCredentialsValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = GrpcService_GoogleGrpc_SslCredentialsValidationError{}
-
-// Validate checks the field values on
-// GrpcService_GoogleGrpc_GoogleLocalCredentials with the rules defined in the
-// proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *GrpcService_GoogleGrpc_GoogleLocalCredentials) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on
-// GrpcService_GoogleGrpc_GoogleLocalCredentials with the rules defined in the
-// proto definition for this message. If any rules are violated, the result is
-// a list of violation errors wrapped in
-// GrpcService_GoogleGrpc_GoogleLocalCredentialsMultiError, or nil if none found.
-func (m *GrpcService_GoogleGrpc_GoogleLocalCredentials) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *GrpcService_GoogleGrpc_GoogleLocalCredentials) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if len(errors) > 0 {
- return GrpcService_GoogleGrpc_GoogleLocalCredentialsMultiError(errors)
- }
-
- return nil
-}
-
-// GrpcService_GoogleGrpc_GoogleLocalCredentialsMultiError is an error wrapping
-// multiple validation errors returned by
-// GrpcService_GoogleGrpc_GoogleLocalCredentials.ValidateAll() if the
-// designated constraints aren't met.
-type GrpcService_GoogleGrpc_GoogleLocalCredentialsMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m GrpcService_GoogleGrpc_GoogleLocalCredentialsMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m GrpcService_GoogleGrpc_GoogleLocalCredentialsMultiError) AllErrors() []error { return m }
-
-// GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError is the
-// validation error returned by
-// GrpcService_GoogleGrpc_GoogleLocalCredentials.Validate if the designated
-// constraints aren't met.
-type GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError) Reason() string {
- return e.reason
-}
-
-// Cause function returns cause value.
-func (e GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError) ErrorName() string {
- return "GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sGrpcService_GoogleGrpc_GoogleLocalCredentials.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError{}
-
-// Validate checks the field values on
-// GrpcService_GoogleGrpc_ChannelCredentials with the rules defined in the
-// proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *GrpcService_GoogleGrpc_ChannelCredentials) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on
-// GrpcService_GoogleGrpc_ChannelCredentials with the rules defined in the
-// proto definition for this message. If any rules are violated, the result is
-// a list of violation errors wrapped in
-// GrpcService_GoogleGrpc_ChannelCredentialsMultiError, or nil if none found.
-func (m *GrpcService_GoogleGrpc_ChannelCredentials) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *GrpcService_GoogleGrpc_ChannelCredentials) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- switch m.CredentialSpecifier.(type) {
-
- case *GrpcService_GoogleGrpc_ChannelCredentials_SslCredentials:
-
- if all {
- switch v := interface{}(m.GetSslCredentials()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpc_ChannelCredentialsValidationError{
- field: "SslCredentials",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpc_ChannelCredentialsValidationError{
- field: "SslCredentials",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetSslCredentials()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return GrpcService_GoogleGrpc_ChannelCredentialsValidationError{
- field: "SslCredentials",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- case *GrpcService_GoogleGrpc_ChannelCredentials_GoogleDefault:
-
- if all {
- switch v := interface{}(m.GetGoogleDefault()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpc_ChannelCredentialsValidationError{
- field: "GoogleDefault",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpc_ChannelCredentialsValidationError{
- field: "GoogleDefault",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetGoogleDefault()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return GrpcService_GoogleGrpc_ChannelCredentialsValidationError{
- field: "GoogleDefault",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- case *GrpcService_GoogleGrpc_ChannelCredentials_LocalCredentials:
-
- if all {
- switch v := interface{}(m.GetLocalCredentials()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpc_ChannelCredentialsValidationError{
- field: "LocalCredentials",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpc_ChannelCredentialsValidationError{
- field: "LocalCredentials",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetLocalCredentials()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return GrpcService_GoogleGrpc_ChannelCredentialsValidationError{
- field: "LocalCredentials",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- default:
- err := GrpcService_GoogleGrpc_ChannelCredentialsValidationError{
- field: "CredentialSpecifier",
- reason: "value is required",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
-
- }
-
- if len(errors) > 0 {
- return GrpcService_GoogleGrpc_ChannelCredentialsMultiError(errors)
- }
-
- return nil
-}
-
-// GrpcService_GoogleGrpc_ChannelCredentialsMultiError is an error wrapping
-// multiple validation errors returned by
-// GrpcService_GoogleGrpc_ChannelCredentials.ValidateAll() if the designated
-// constraints aren't met.
-type GrpcService_GoogleGrpc_ChannelCredentialsMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m GrpcService_GoogleGrpc_ChannelCredentialsMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m GrpcService_GoogleGrpc_ChannelCredentialsMultiError) AllErrors() []error { return m }
-
-// GrpcService_GoogleGrpc_ChannelCredentialsValidationError is the validation
-// error returned by GrpcService_GoogleGrpc_ChannelCredentials.Validate if the
-// designated constraints aren't met.
-type GrpcService_GoogleGrpc_ChannelCredentialsValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e GrpcService_GoogleGrpc_ChannelCredentialsValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e GrpcService_GoogleGrpc_ChannelCredentialsValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e GrpcService_GoogleGrpc_ChannelCredentialsValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e GrpcService_GoogleGrpc_ChannelCredentialsValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e GrpcService_GoogleGrpc_ChannelCredentialsValidationError) ErrorName() string {
- return "GrpcService_GoogleGrpc_ChannelCredentialsValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e GrpcService_GoogleGrpc_ChannelCredentialsValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sGrpcService_GoogleGrpc_ChannelCredentials.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = GrpcService_GoogleGrpc_ChannelCredentialsValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = GrpcService_GoogleGrpc_ChannelCredentialsValidationError{}
-
-// Validate checks the field values on GrpcService_GoogleGrpc_CallCredentials
-// with the rules defined in the proto definition for this message. If any
-// rules are violated, the first error encountered is returned, or nil if
-// there are no violations.
-func (m *GrpcService_GoogleGrpc_CallCredentials) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on
-// GrpcService_GoogleGrpc_CallCredentials with the rules defined in the proto
-// definition for this message. If any rules are violated, the result is a
-// list of violation errors wrapped in
-// GrpcService_GoogleGrpc_CallCredentialsMultiError, or nil if none found.
-func (m *GrpcService_GoogleGrpc_CallCredentials) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *GrpcService_GoogleGrpc_CallCredentials) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- switch m.CredentialSpecifier.(type) {
-
- case *GrpcService_GoogleGrpc_CallCredentials_AccessToken:
- // no validation rules for AccessToken
-
- case *GrpcService_GoogleGrpc_CallCredentials_GoogleComputeEngine:
-
- if all {
- switch v := interface{}(m.GetGoogleComputeEngine()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpc_CallCredentialsValidationError{
- field: "GoogleComputeEngine",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpc_CallCredentialsValidationError{
- field: "GoogleComputeEngine",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetGoogleComputeEngine()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return GrpcService_GoogleGrpc_CallCredentialsValidationError{
- field: "GoogleComputeEngine",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- case *GrpcService_GoogleGrpc_CallCredentials_GoogleRefreshToken:
- // no validation rules for GoogleRefreshToken
-
- case *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJwtAccess:
-
- if all {
- switch v := interface{}(m.GetServiceAccountJwtAccess()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpc_CallCredentialsValidationError{
- field: "ServiceAccountJwtAccess",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpc_CallCredentialsValidationError{
- field: "ServiceAccountJwtAccess",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetServiceAccountJwtAccess()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return GrpcService_GoogleGrpc_CallCredentialsValidationError{
- field: "ServiceAccountJwtAccess",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- case *GrpcService_GoogleGrpc_CallCredentials_GoogleIam:
-
- if all {
- switch v := interface{}(m.GetGoogleIam()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpc_CallCredentialsValidationError{
- field: "GoogleIam",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpc_CallCredentialsValidationError{
- field: "GoogleIam",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetGoogleIam()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return GrpcService_GoogleGrpc_CallCredentialsValidationError{
- field: "GoogleIam",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- case *GrpcService_GoogleGrpc_CallCredentials_FromPlugin:
-
- if all {
- switch v := interface{}(m.GetFromPlugin()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpc_CallCredentialsValidationError{
- field: "FromPlugin",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpc_CallCredentialsValidationError{
- field: "FromPlugin",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetFromPlugin()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return GrpcService_GoogleGrpc_CallCredentialsValidationError{
- field: "FromPlugin",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- case *GrpcService_GoogleGrpc_CallCredentials_StsService_:
-
- if all {
- switch v := interface{}(m.GetStsService()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpc_CallCredentialsValidationError{
- field: "StsService",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpc_CallCredentialsValidationError{
- field: "StsService",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetStsService()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return GrpcService_GoogleGrpc_CallCredentialsValidationError{
- field: "StsService",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- default:
- err := GrpcService_GoogleGrpc_CallCredentialsValidationError{
- field: "CredentialSpecifier",
- reason: "value is required",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
-
- }
-
- if len(errors) > 0 {
- return GrpcService_GoogleGrpc_CallCredentialsMultiError(errors)
- }
-
- return nil
-}
-
-// GrpcService_GoogleGrpc_CallCredentialsMultiError is an error wrapping
-// multiple validation errors returned by
-// GrpcService_GoogleGrpc_CallCredentials.ValidateAll() if the designated
-// constraints aren't met.
-type GrpcService_GoogleGrpc_CallCredentialsMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m GrpcService_GoogleGrpc_CallCredentialsMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m GrpcService_GoogleGrpc_CallCredentialsMultiError) AllErrors() []error { return m }
-
-// GrpcService_GoogleGrpc_CallCredentialsValidationError is the validation
-// error returned by GrpcService_GoogleGrpc_CallCredentials.Validate if the
-// designated constraints aren't met.
-type GrpcService_GoogleGrpc_CallCredentialsValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e GrpcService_GoogleGrpc_CallCredentialsValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e GrpcService_GoogleGrpc_CallCredentialsValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e GrpcService_GoogleGrpc_CallCredentialsValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e GrpcService_GoogleGrpc_CallCredentialsValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e GrpcService_GoogleGrpc_CallCredentialsValidationError) ErrorName() string {
- return "GrpcService_GoogleGrpc_CallCredentialsValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e GrpcService_GoogleGrpc_CallCredentialsValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sGrpcService_GoogleGrpc_CallCredentials.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = GrpcService_GoogleGrpc_CallCredentialsValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = GrpcService_GoogleGrpc_CallCredentialsValidationError{}
-
-// Validate checks the field values on
-// GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials
-// with the rules defined in the proto definition for this message. If any
-// rules are violated, the first error encountered is returned, or nil if
-// there are no violations.
-func (m *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on
-// GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials
-// with the rules defined in the proto definition for this message. If any
-// rules are violated, the result is a list of violation errors wrapped in
-// GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsMultiError,
-// or nil if none found.
-func (m *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- // no validation rules for JsonKey
-
- // no validation rules for TokenLifetimeSeconds
-
- if len(errors) > 0 {
- return GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsMultiError(errors)
- }
-
- return nil
-}
-
-// GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsMultiError
-// is an error wrapping multiple validation errors returned by
-// GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials.ValidateAll()
-// if the designated constraints aren't met.
-type GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsMultiError) AllErrors() []error {
- return m
-}
-
-// GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError
-// is the validation error returned by
-// GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials.Validate
-// if the designated constraints aren't met.
-type GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError) Field() string {
- return e.field
-}
-
-// Reason function returns reason value.
-func (e GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError) Reason() string {
- return e.reason
-}
-
-// Cause function returns cause value.
-func (e GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError) Cause() error {
- return e.cause
-}
-
-// Key function returns key value.
-func (e GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError) Key() bool {
- return e.key
-}
-
-// ErrorName returns error name.
-func (e GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError) ErrorName() string {
- return "GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sGrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError{}
-
-// Validate checks the field values on
-// GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on
-// GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsMultiError, or
-// nil if none found.
-func (m *GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- // no validation rules for AuthorizationToken
-
- // no validation rules for AuthoritySelector
-
- if len(errors) > 0 {
- return GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsMultiError(errors)
- }
-
- return nil
-}
-
-// GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsMultiError is an
-// error wrapping multiple validation errors returned by
-// GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials.ValidateAll()
-// if the designated constraints aren't met.
-type GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsMultiError) AllErrors() []error {
- return m
-}
-
-// GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError
-// is the validation error returned by
-// GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials.Validate if the
-// designated constraints aren't met.
-type GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError) Field() string {
- return e.field
-}
-
-// Reason function returns reason value.
-func (e GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError) Reason() string {
- return e.reason
-}
-
-// Cause function returns cause value.
-func (e GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError) Cause() error {
- return e.cause
-}
-
-// Key function returns key value.
-func (e GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError) Key() bool {
- return e.key
-}
-
-// ErrorName returns error name.
-func (e GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError) ErrorName() string {
- return "GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sGrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError{}
-
-// Validate checks the field values on
-// GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin with
-// the rules defined in the proto definition for this message. If any rules
-// are violated, the first error encountered is returned, or nil if there are
-// no violations.
-func (m *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on
-// GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin with
-// the rules defined in the proto definition for this message. If any rules
-// are violated, the result is a list of violation errors wrapped in
-// GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginMultiError,
-// or nil if none found.
-func (m *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- // no validation rules for Name
-
- switch m.ConfigType.(type) {
-
- case *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_Config:
-
- if all {
- switch v := interface{}(m.GetConfig()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError{
- field: "Config",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError{
- field: "Config",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError{
- field: "Config",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- case *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_TypedConfig:
-
- if all {
- switch v := interface{}(m.GetTypedConfig()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError{
- field: "TypedConfig",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError{
- field: "TypedConfig",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError{
- field: "TypedConfig",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
-
- if len(errors) > 0 {
- return GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginMultiError(errors)
- }
-
- return nil
-}
-
-// GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginMultiError
-// is an error wrapping multiple validation errors returned by
-// GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin.ValidateAll()
-// if the designated constraints aren't met.
-type GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginMultiError) AllErrors() []error {
- return m
-}
-
-// GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError
-// is the validation error returned by
-// GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin.Validate
-// if the designated constraints aren't met.
-type GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError) Field() string {
- return e.field
-}
-
-// Reason function returns reason value.
-func (e GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError) Reason() string {
- return e.reason
-}
-
-// Cause function returns cause value.
-func (e GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError) Cause() error {
- return e.cause
-}
-
-// Key function returns key value.
-func (e GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError) Key() bool {
- return e.key
-}
-
-// ErrorName returns error name.
-func (e GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError) ErrorName() string {
- return "GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sGrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError{}
-
-// Validate checks the field values on
-// GrpcService_GoogleGrpc_CallCredentials_StsService with the rules defined in
-// the proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *GrpcService_GoogleGrpc_CallCredentials_StsService) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on
-// GrpcService_GoogleGrpc_CallCredentials_StsService with the rules defined in
-// the proto definition for this message. If any rules are violated, the
-// result is a list of violation errors wrapped in
-// GrpcService_GoogleGrpc_CallCredentials_StsServiceMultiError, or nil if none found.
-func (m *GrpcService_GoogleGrpc_CallCredentials_StsService) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *GrpcService_GoogleGrpc_CallCredentials_StsService) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- // no validation rules for TokenExchangeServiceUri
-
- // no validation rules for Resource
-
- // no validation rules for Audience
-
- // no validation rules for Scope
-
- // no validation rules for RequestedTokenType
-
- if len(m.GetSubjectTokenPath()) < 1 {
- err := GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError{
- field: "SubjectTokenPath",
- reason: "value length must be at least 1 bytes",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if len(m.GetSubjectTokenType()) < 1 {
- err := GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError{
- field: "SubjectTokenType",
- reason: "value length must be at least 1 bytes",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- // no validation rules for ActorTokenPath
-
- // no validation rules for ActorTokenType
-
- if len(errors) > 0 {
- return GrpcService_GoogleGrpc_CallCredentials_StsServiceMultiError(errors)
- }
-
- return nil
-}
-
-// GrpcService_GoogleGrpc_CallCredentials_StsServiceMultiError is an error
-// wrapping multiple validation errors returned by
-// GrpcService_GoogleGrpc_CallCredentials_StsService.ValidateAll() if the
-// designated constraints aren't met.
-type GrpcService_GoogleGrpc_CallCredentials_StsServiceMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m GrpcService_GoogleGrpc_CallCredentials_StsServiceMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m GrpcService_GoogleGrpc_CallCredentials_StsServiceMultiError) AllErrors() []error { return m }
-
-// GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError is the
-// validation error returned by
-// GrpcService_GoogleGrpc_CallCredentials_StsService.Validate if the
-// designated constraints aren't met.
-type GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError) Field() string {
- return e.field
-}
-
-// Reason function returns reason value.
-func (e GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError) Reason() string {
- return e.reason
-}
-
-// Cause function returns cause value.
-func (e GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError) Cause() error {
- return e.cause
-}
-
-// Key function returns key value.
-func (e GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError) ErrorName() string {
- return "GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sGrpcService_GoogleGrpc_CallCredentials_StsService.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError{}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/health_check.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/health_check.pb.go
deleted file mode 100644
index 5230f2c61e..0000000000
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/health_check.pb.go
+++ /dev/null
@@ -1,1426 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
-// source: envoy/api/v2/core/health_check.proto
-
-package core
-
-import (
- _ "github.com/cncf/xds/go/udpa/annotations"
- _ "github.com/envoyproxy/go-control-plane/envoy/annotations"
- _type "github.com/envoyproxy/go-control-plane/envoy/type"
- matcher "github.com/envoyproxy/go-control-plane/envoy/type/matcher"
- _ "github.com/envoyproxy/protoc-gen-validate/validate"
- any "github.com/golang/protobuf/ptypes/any"
- duration "github.com/golang/protobuf/ptypes/duration"
- _struct "github.com/golang/protobuf/ptypes/struct"
- wrappers "github.com/golang/protobuf/ptypes/wrappers"
- 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)
-)
-
-// Endpoint health status.
-type HealthStatus int32
-
-const (
- // The health status is not known. This is interpreted by Envoy as *HEALTHY*.
- HealthStatus_UNKNOWN HealthStatus = 0
- // Healthy.
- HealthStatus_HEALTHY HealthStatus = 1
- // Unhealthy.
- HealthStatus_UNHEALTHY HealthStatus = 2
- // Connection draining in progress. E.g.,
- // ``_
- // or
- // ``_.
- // This is interpreted by Envoy as *UNHEALTHY*.
- HealthStatus_DRAINING HealthStatus = 3
- // Health check timed out. This is part of HDS and is interpreted by Envoy as
- // *UNHEALTHY*.
- HealthStatus_TIMEOUT HealthStatus = 4
- // Degraded.
- HealthStatus_DEGRADED HealthStatus = 5
-)
-
-// Enum value maps for HealthStatus.
-var (
- HealthStatus_name = map[int32]string{
- 0: "UNKNOWN",
- 1: "HEALTHY",
- 2: "UNHEALTHY",
- 3: "DRAINING",
- 4: "TIMEOUT",
- 5: "DEGRADED",
- }
- HealthStatus_value = map[string]int32{
- "UNKNOWN": 0,
- "HEALTHY": 1,
- "UNHEALTHY": 2,
- "DRAINING": 3,
- "TIMEOUT": 4,
- "DEGRADED": 5,
- }
-)
-
-func (x HealthStatus) Enum() *HealthStatus {
- p := new(HealthStatus)
- *p = x
- return p
-}
-
-func (x HealthStatus) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (HealthStatus) Descriptor() protoreflect.EnumDescriptor {
- return file_envoy_api_v2_core_health_check_proto_enumTypes[0].Descriptor()
-}
-
-func (HealthStatus) Type() protoreflect.EnumType {
- return &file_envoy_api_v2_core_health_check_proto_enumTypes[0]
-}
-
-func (x HealthStatus) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Use HealthStatus.Descriptor instead.
-func (HealthStatus) EnumDescriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_health_check_proto_rawDescGZIP(), []int{0}
-}
-
-// [#next-free-field: 23]
-type HealthCheck struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // The time to wait for a health check response. If the timeout is reached the
- // health check attempt will be considered a failure.
- Timeout *duration.Duration `protobuf:"bytes,1,opt,name=timeout,proto3" json:"timeout,omitempty"`
- // The interval between health checks.
- Interval *duration.Duration `protobuf:"bytes,2,opt,name=interval,proto3" json:"interval,omitempty"`
- // An optional jitter amount in milliseconds. If specified, Envoy will start health
- // checking after for a random time in ms between 0 and initial_jitter. This only
- // applies to the first health check.
- InitialJitter *duration.Duration `protobuf:"bytes,20,opt,name=initial_jitter,json=initialJitter,proto3" json:"initial_jitter,omitempty"`
- // An optional jitter amount in milliseconds. If specified, during every
- // interval Envoy will add interval_jitter to the wait time.
- IntervalJitter *duration.Duration `protobuf:"bytes,3,opt,name=interval_jitter,json=intervalJitter,proto3" json:"interval_jitter,omitempty"`
- // An optional jitter amount as a percentage of interval_ms. If specified,
- // during every interval Envoy will add interval_ms *
- // interval_jitter_percent / 100 to the wait time.
- //
- // If interval_jitter_ms and interval_jitter_percent are both set, both of
- // them will be used to increase the wait time.
- IntervalJitterPercent uint32 `protobuf:"varint,18,opt,name=interval_jitter_percent,json=intervalJitterPercent,proto3" json:"interval_jitter_percent,omitempty"`
- // The number of unhealthy health checks required before a host is marked
- // unhealthy. Note that for *http* health checking if a host responds with 503
- // this threshold is ignored and the host is considered unhealthy immediately.
- UnhealthyThreshold *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=unhealthy_threshold,json=unhealthyThreshold,proto3" json:"unhealthy_threshold,omitempty"`
- // The number of healthy health checks required before a host is marked
- // healthy. Note that during startup, only a single successful health check is
- // required to mark a host healthy.
- HealthyThreshold *wrappers.UInt32Value `protobuf:"bytes,5,opt,name=healthy_threshold,json=healthyThreshold,proto3" json:"healthy_threshold,omitempty"`
- // [#not-implemented-hide:] Non-serving port for health checking.
- AltPort *wrappers.UInt32Value `protobuf:"bytes,6,opt,name=alt_port,json=altPort,proto3" json:"alt_port,omitempty"`
- // Reuse health check connection between health checks. Default is true.
- ReuseConnection *wrappers.BoolValue `protobuf:"bytes,7,opt,name=reuse_connection,json=reuseConnection,proto3" json:"reuse_connection,omitempty"`
- // Types that are assignable to HealthChecker:
- // *HealthCheck_HttpHealthCheck_
- // *HealthCheck_TcpHealthCheck_
- // *HealthCheck_GrpcHealthCheck_
- // *HealthCheck_CustomHealthCheck_
- HealthChecker isHealthCheck_HealthChecker `protobuf_oneof:"health_checker"`
- // The "no traffic interval" is a special health check interval that is used when a cluster has
- // never had traffic routed to it. This lower interval allows cluster information to be kept up to
- // date, without sending a potentially large amount of active health checking traffic for no
- // reason. Once a cluster has been used for traffic routing, Envoy will shift back to using the
- // standard health check interval that is defined. Note that this interval takes precedence over
- // any other.
- //
- // The default value for "no traffic interval" is 60 seconds.
- NoTrafficInterval *duration.Duration `protobuf:"bytes,12,opt,name=no_traffic_interval,json=noTrafficInterval,proto3" json:"no_traffic_interval,omitempty"`
- // The "unhealthy interval" is a health check interval that is used for hosts that are marked as
- // unhealthy. As soon as the host is marked as healthy, Envoy will shift back to using the
- // standard health check interval that is defined.
- //
- // The default value for "unhealthy interval" is the same as "interval".
- UnhealthyInterval *duration.Duration `protobuf:"bytes,14,opt,name=unhealthy_interval,json=unhealthyInterval,proto3" json:"unhealthy_interval,omitempty"`
- // The "unhealthy edge interval" is a special health check interval that is used for the first
- // health check right after a host is marked as unhealthy. For subsequent health checks
- // Envoy will shift back to using either "unhealthy interval" if present or the standard health
- // check interval that is defined.
- //
- // The default value for "unhealthy edge interval" is the same as "unhealthy interval".
- UnhealthyEdgeInterval *duration.Duration `protobuf:"bytes,15,opt,name=unhealthy_edge_interval,json=unhealthyEdgeInterval,proto3" json:"unhealthy_edge_interval,omitempty"`
- // The "healthy edge interval" is a special health check interval that is used for the first
- // health check right after a host is marked as healthy. For subsequent health checks
- // Envoy will shift back to using the standard health check interval that is defined.
- //
- // The default value for "healthy edge interval" is the same as the default interval.
- HealthyEdgeInterval *duration.Duration `protobuf:"bytes,16,opt,name=healthy_edge_interval,json=healthyEdgeInterval,proto3" json:"healthy_edge_interval,omitempty"`
- // Specifies the path to the :ref:`health check event log `.
- // If empty, no event log will be written.
- EventLogPath string `protobuf:"bytes,17,opt,name=event_log_path,json=eventLogPath,proto3" json:"event_log_path,omitempty"`
- // [#not-implemented-hide:]
- // The gRPC service for the health check event service.
- // If empty, health check events won't be sent to a remote endpoint.
- EventService *EventServiceConfig `protobuf:"bytes,22,opt,name=event_service,json=eventService,proto3" json:"event_service,omitempty"`
- // If set to true, health check failure events will always be logged. If set to false, only the
- // initial health check failure event will be logged.
- // The default value is false.
- AlwaysLogHealthCheckFailures bool `protobuf:"varint,19,opt,name=always_log_health_check_failures,json=alwaysLogHealthCheckFailures,proto3" json:"always_log_health_check_failures,omitempty"`
- // This allows overriding the cluster TLS settings, just for health check connections.
- TlsOptions *HealthCheck_TlsOptions `protobuf:"bytes,21,opt,name=tls_options,json=tlsOptions,proto3" json:"tls_options,omitempty"`
-}
-
-func (x *HealthCheck) Reset() {
- *x = HealthCheck{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_health_check_proto_msgTypes[0]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *HealthCheck) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*HealthCheck) ProtoMessage() {}
-
-func (x *HealthCheck) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_health_check_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 HealthCheck.ProtoReflect.Descriptor instead.
-func (*HealthCheck) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_health_check_proto_rawDescGZIP(), []int{0}
-}
-
-func (x *HealthCheck) GetTimeout() *duration.Duration {
- if x != nil {
- return x.Timeout
- }
- return nil
-}
-
-func (x *HealthCheck) GetInterval() *duration.Duration {
- if x != nil {
- return x.Interval
- }
- return nil
-}
-
-func (x *HealthCheck) GetInitialJitter() *duration.Duration {
- if x != nil {
- return x.InitialJitter
- }
- return nil
-}
-
-func (x *HealthCheck) GetIntervalJitter() *duration.Duration {
- if x != nil {
- return x.IntervalJitter
- }
- return nil
-}
-
-func (x *HealthCheck) GetIntervalJitterPercent() uint32 {
- if x != nil {
- return x.IntervalJitterPercent
- }
- return 0
-}
-
-func (x *HealthCheck) GetUnhealthyThreshold() *wrappers.UInt32Value {
- if x != nil {
- return x.UnhealthyThreshold
- }
- return nil
-}
-
-func (x *HealthCheck) GetHealthyThreshold() *wrappers.UInt32Value {
- if x != nil {
- return x.HealthyThreshold
- }
- return nil
-}
-
-func (x *HealthCheck) GetAltPort() *wrappers.UInt32Value {
- if x != nil {
- return x.AltPort
- }
- return nil
-}
-
-func (x *HealthCheck) GetReuseConnection() *wrappers.BoolValue {
- if x != nil {
- return x.ReuseConnection
- }
- return nil
-}
-
-func (m *HealthCheck) GetHealthChecker() isHealthCheck_HealthChecker {
- if m != nil {
- return m.HealthChecker
- }
- return nil
-}
-
-func (x *HealthCheck) GetHttpHealthCheck() *HealthCheck_HttpHealthCheck {
- if x, ok := x.GetHealthChecker().(*HealthCheck_HttpHealthCheck_); ok {
- return x.HttpHealthCheck
- }
- return nil
-}
-
-func (x *HealthCheck) GetTcpHealthCheck() *HealthCheck_TcpHealthCheck {
- if x, ok := x.GetHealthChecker().(*HealthCheck_TcpHealthCheck_); ok {
- return x.TcpHealthCheck
- }
- return nil
-}
-
-func (x *HealthCheck) GetGrpcHealthCheck() *HealthCheck_GrpcHealthCheck {
- if x, ok := x.GetHealthChecker().(*HealthCheck_GrpcHealthCheck_); ok {
- return x.GrpcHealthCheck
- }
- return nil
-}
-
-func (x *HealthCheck) GetCustomHealthCheck() *HealthCheck_CustomHealthCheck {
- if x, ok := x.GetHealthChecker().(*HealthCheck_CustomHealthCheck_); ok {
- return x.CustomHealthCheck
- }
- return nil
-}
-
-func (x *HealthCheck) GetNoTrafficInterval() *duration.Duration {
- if x != nil {
- return x.NoTrafficInterval
- }
- return nil
-}
-
-func (x *HealthCheck) GetUnhealthyInterval() *duration.Duration {
- if x != nil {
- return x.UnhealthyInterval
- }
- return nil
-}
-
-func (x *HealthCheck) GetUnhealthyEdgeInterval() *duration.Duration {
- if x != nil {
- return x.UnhealthyEdgeInterval
- }
- return nil
-}
-
-func (x *HealthCheck) GetHealthyEdgeInterval() *duration.Duration {
- if x != nil {
- return x.HealthyEdgeInterval
- }
- return nil
-}
-
-func (x *HealthCheck) GetEventLogPath() string {
- if x != nil {
- return x.EventLogPath
- }
- return ""
-}
-
-func (x *HealthCheck) GetEventService() *EventServiceConfig {
- if x != nil {
- return x.EventService
- }
- return nil
-}
-
-func (x *HealthCheck) GetAlwaysLogHealthCheckFailures() bool {
- if x != nil {
- return x.AlwaysLogHealthCheckFailures
- }
- return false
-}
-
-func (x *HealthCheck) GetTlsOptions() *HealthCheck_TlsOptions {
- if x != nil {
- return x.TlsOptions
- }
- return nil
-}
-
-type isHealthCheck_HealthChecker interface {
- isHealthCheck_HealthChecker()
-}
-
-type HealthCheck_HttpHealthCheck_ struct {
- // HTTP health check.
- HttpHealthCheck *HealthCheck_HttpHealthCheck `protobuf:"bytes,8,opt,name=http_health_check,json=httpHealthCheck,proto3,oneof"`
-}
-
-type HealthCheck_TcpHealthCheck_ struct {
- // TCP health check.
- TcpHealthCheck *HealthCheck_TcpHealthCheck `protobuf:"bytes,9,opt,name=tcp_health_check,json=tcpHealthCheck,proto3,oneof"`
-}
-
-type HealthCheck_GrpcHealthCheck_ struct {
- // gRPC health check.
- GrpcHealthCheck *HealthCheck_GrpcHealthCheck `protobuf:"bytes,11,opt,name=grpc_health_check,json=grpcHealthCheck,proto3,oneof"`
-}
-
-type HealthCheck_CustomHealthCheck_ struct {
- // Custom health check.
- CustomHealthCheck *HealthCheck_CustomHealthCheck `protobuf:"bytes,13,opt,name=custom_health_check,json=customHealthCheck,proto3,oneof"`
-}
-
-func (*HealthCheck_HttpHealthCheck_) isHealthCheck_HealthChecker() {}
-
-func (*HealthCheck_TcpHealthCheck_) isHealthCheck_HealthChecker() {}
-
-func (*HealthCheck_GrpcHealthCheck_) isHealthCheck_HealthChecker() {}
-
-func (*HealthCheck_CustomHealthCheck_) isHealthCheck_HealthChecker() {}
-
-// Describes the encoding of the payload bytes in the payload.
-type HealthCheck_Payload struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // Types that are assignable to Payload:
- // *HealthCheck_Payload_Text
- // *HealthCheck_Payload_Binary
- Payload isHealthCheck_Payload_Payload `protobuf_oneof:"payload"`
-}
-
-func (x *HealthCheck_Payload) Reset() {
- *x = HealthCheck_Payload{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_health_check_proto_msgTypes[1]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *HealthCheck_Payload) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*HealthCheck_Payload) ProtoMessage() {}
-
-func (x *HealthCheck_Payload) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_health_check_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 HealthCheck_Payload.ProtoReflect.Descriptor instead.
-func (*HealthCheck_Payload) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_health_check_proto_rawDescGZIP(), []int{0, 0}
-}
-
-func (m *HealthCheck_Payload) GetPayload() isHealthCheck_Payload_Payload {
- if m != nil {
- return m.Payload
- }
- return nil
-}
-
-func (x *HealthCheck_Payload) GetText() string {
- if x, ok := x.GetPayload().(*HealthCheck_Payload_Text); ok {
- return x.Text
- }
- return ""
-}
-
-func (x *HealthCheck_Payload) GetBinary() []byte {
- if x, ok := x.GetPayload().(*HealthCheck_Payload_Binary); ok {
- return x.Binary
- }
- return nil
-}
-
-type isHealthCheck_Payload_Payload interface {
- isHealthCheck_Payload_Payload()
-}
-
-type HealthCheck_Payload_Text struct {
- // Hex encoded payload. E.g., "000000FF".
- Text string `protobuf:"bytes,1,opt,name=text,proto3,oneof"`
-}
-
-type HealthCheck_Payload_Binary struct {
- // [#not-implemented-hide:] Binary payload.
- Binary []byte `protobuf:"bytes,2,opt,name=binary,proto3,oneof"`
-}
-
-func (*HealthCheck_Payload_Text) isHealthCheck_Payload_Payload() {}
-
-func (*HealthCheck_Payload_Binary) isHealthCheck_Payload_Payload() {}
-
-// [#next-free-field: 12]
-type HealthCheck_HttpHealthCheck struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // The value of the host header in the HTTP health check request. If
- // left empty (default value), the name of the cluster this health check is associated
- // with will be used. The host header can be customized for a specific endpoint by setting the
- // :ref:`hostname ` field.
- Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
- // Specifies the HTTP path that will be requested during health checking. For example
- // */healthcheck*.
- Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
- // [#not-implemented-hide:] HTTP specific payload.
- Send *HealthCheck_Payload `protobuf:"bytes,3,opt,name=send,proto3" json:"send,omitempty"`
- // [#not-implemented-hide:] HTTP specific response.
- Receive *HealthCheck_Payload `protobuf:"bytes,4,opt,name=receive,proto3" json:"receive,omitempty"`
- // An optional service name parameter which is used to validate the identity of
- // the health checked cluster. See the :ref:`architecture overview
- // ` for more information.
- //
- // .. attention::
- //
- // This field has been deprecated in favor of `service_name_matcher` for better flexibility
- // over matching with service-cluster name.
- //
- // Deprecated: Do not use.
- ServiceName string `protobuf:"bytes,5,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"`
- // Specifies a list of HTTP headers that should be added to each request that is sent to the
- // health checked cluster. For more information, including details on header value syntax, see
- // the documentation on :ref:`custom request headers
- // `.
- RequestHeadersToAdd []*HeaderValueOption `protobuf:"bytes,6,rep,name=request_headers_to_add,json=requestHeadersToAdd,proto3" json:"request_headers_to_add,omitempty"`
- // Specifies a list of HTTP headers that should be removed from each request that is sent to the
- // health checked cluster.
- RequestHeadersToRemove []string `protobuf:"bytes,8,rep,name=request_headers_to_remove,json=requestHeadersToRemove,proto3" json:"request_headers_to_remove,omitempty"`
- // If set, health checks will be made using http/2.
- // Deprecated, use :ref:`codec_client_type
- // ` instead.
- //
- // Deprecated: Do not use.
- UseHttp2 bool `protobuf:"varint,7,opt,name=use_http2,json=useHttp2,proto3" json:"use_http2,omitempty"`
- // Specifies a list of HTTP response statuses considered healthy. If provided, replaces default
- // 200-only policy - 200 must be included explicitly as needed. Ranges follow half-open
- // semantics of :ref:`Int64Range `. The start and end of each
- // range are required. Only statuses in the range [100, 600) are allowed.
- ExpectedStatuses []*_type.Int64Range `protobuf:"bytes,9,rep,name=expected_statuses,json=expectedStatuses,proto3" json:"expected_statuses,omitempty"`
- // Use specified application protocol for health checks.
- CodecClientType _type.CodecClientType `protobuf:"varint,10,opt,name=codec_client_type,json=codecClientType,proto3,enum=envoy.type.CodecClientType" json:"codec_client_type,omitempty"`
- // An optional service name parameter which is used to validate the identity of
- // the health checked cluster using a :ref:`StringMatcher
- // `. See the :ref:`architecture overview
- // ` for more information.
- ServiceNameMatcher *matcher.StringMatcher `protobuf:"bytes,11,opt,name=service_name_matcher,json=serviceNameMatcher,proto3" json:"service_name_matcher,omitempty"`
-}
-
-func (x *HealthCheck_HttpHealthCheck) Reset() {
- *x = HealthCheck_HttpHealthCheck{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_health_check_proto_msgTypes[2]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *HealthCheck_HttpHealthCheck) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*HealthCheck_HttpHealthCheck) ProtoMessage() {}
-
-func (x *HealthCheck_HttpHealthCheck) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_health_check_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 HealthCheck_HttpHealthCheck.ProtoReflect.Descriptor instead.
-func (*HealthCheck_HttpHealthCheck) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_health_check_proto_rawDescGZIP(), []int{0, 1}
-}
-
-func (x *HealthCheck_HttpHealthCheck) GetHost() string {
- if x != nil {
- return x.Host
- }
- return ""
-}
-
-func (x *HealthCheck_HttpHealthCheck) GetPath() string {
- if x != nil {
- return x.Path
- }
- return ""
-}
-
-func (x *HealthCheck_HttpHealthCheck) GetSend() *HealthCheck_Payload {
- if x != nil {
- return x.Send
- }
- return nil
-}
-
-func (x *HealthCheck_HttpHealthCheck) GetReceive() *HealthCheck_Payload {
- if x != nil {
- return x.Receive
- }
- return nil
-}
-
-// Deprecated: Do not use.
-func (x *HealthCheck_HttpHealthCheck) GetServiceName() string {
- if x != nil {
- return x.ServiceName
- }
- return ""
-}
-
-func (x *HealthCheck_HttpHealthCheck) GetRequestHeadersToAdd() []*HeaderValueOption {
- if x != nil {
- return x.RequestHeadersToAdd
- }
- return nil
-}
-
-func (x *HealthCheck_HttpHealthCheck) GetRequestHeadersToRemove() []string {
- if x != nil {
- return x.RequestHeadersToRemove
- }
- return nil
-}
-
-// Deprecated: Do not use.
-func (x *HealthCheck_HttpHealthCheck) GetUseHttp2() bool {
- if x != nil {
- return x.UseHttp2
- }
- return false
-}
-
-func (x *HealthCheck_HttpHealthCheck) GetExpectedStatuses() []*_type.Int64Range {
- if x != nil {
- return x.ExpectedStatuses
- }
- return nil
-}
-
-func (x *HealthCheck_HttpHealthCheck) GetCodecClientType() _type.CodecClientType {
- if x != nil {
- return x.CodecClientType
- }
- return _type.CodecClientType(0)
-}
-
-func (x *HealthCheck_HttpHealthCheck) GetServiceNameMatcher() *matcher.StringMatcher {
- if x != nil {
- return x.ServiceNameMatcher
- }
- return nil
-}
-
-type HealthCheck_TcpHealthCheck struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // Empty payloads imply a connect-only health check.
- Send *HealthCheck_Payload `protobuf:"bytes,1,opt,name=send,proto3" json:"send,omitempty"`
- // When checking the response, “fuzzy” matching is performed such that each
- // binary block must be found, and in the order specified, but not
- // necessarily contiguous.
- Receive []*HealthCheck_Payload `protobuf:"bytes,2,rep,name=receive,proto3" json:"receive,omitempty"`
-}
-
-func (x *HealthCheck_TcpHealthCheck) Reset() {
- *x = HealthCheck_TcpHealthCheck{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_health_check_proto_msgTypes[3]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *HealthCheck_TcpHealthCheck) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*HealthCheck_TcpHealthCheck) ProtoMessage() {}
-
-func (x *HealthCheck_TcpHealthCheck) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_health_check_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 HealthCheck_TcpHealthCheck.ProtoReflect.Descriptor instead.
-func (*HealthCheck_TcpHealthCheck) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_health_check_proto_rawDescGZIP(), []int{0, 2}
-}
-
-func (x *HealthCheck_TcpHealthCheck) GetSend() *HealthCheck_Payload {
- if x != nil {
- return x.Send
- }
- return nil
-}
-
-func (x *HealthCheck_TcpHealthCheck) GetReceive() []*HealthCheck_Payload {
- if x != nil {
- return x.Receive
- }
- return nil
-}
-
-type HealthCheck_RedisHealthCheck struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // If set, optionally perform ``EXISTS `` instead of ``PING``. A return value
- // from Redis of 0 (does not exist) is considered a passing healthcheck. A return value other
- // than 0 is considered a failure. This allows the user to mark a Redis instance for maintenance
- // by setting the specified key to any value and waiting for traffic to drain.
- Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
-}
-
-func (x *HealthCheck_RedisHealthCheck) Reset() {
- *x = HealthCheck_RedisHealthCheck{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_health_check_proto_msgTypes[4]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *HealthCheck_RedisHealthCheck) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*HealthCheck_RedisHealthCheck) ProtoMessage() {}
-
-func (x *HealthCheck_RedisHealthCheck) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_health_check_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 HealthCheck_RedisHealthCheck.ProtoReflect.Descriptor instead.
-func (*HealthCheck_RedisHealthCheck) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_health_check_proto_rawDescGZIP(), []int{0, 3}
-}
-
-func (x *HealthCheck_RedisHealthCheck) GetKey() string {
- if x != nil {
- return x.Key
- }
- return ""
-}
-
-// `grpc.health.v1.Health
-// `_-based
-// healthcheck. See `gRPC doc `_
-// for details.
-type HealthCheck_GrpcHealthCheck struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // An optional service name parameter which will be sent to gRPC service in
- // `grpc.health.v1.HealthCheckRequest
- // `_.
- // message. See `gRPC health-checking overview
- // `_ for more information.
- ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"`
- // The value of the :authority header in the gRPC health check request. If
- // left empty (default value), the name of the cluster this health check is associated
- // with will be used. The authority header can be customized for a specific endpoint by setting
- // the :ref:`hostname ` field.
- Authority string `protobuf:"bytes,2,opt,name=authority,proto3" json:"authority,omitempty"`
-}
-
-func (x *HealthCheck_GrpcHealthCheck) Reset() {
- *x = HealthCheck_GrpcHealthCheck{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_health_check_proto_msgTypes[5]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *HealthCheck_GrpcHealthCheck) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*HealthCheck_GrpcHealthCheck) ProtoMessage() {}
-
-func (x *HealthCheck_GrpcHealthCheck) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_health_check_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 HealthCheck_GrpcHealthCheck.ProtoReflect.Descriptor instead.
-func (*HealthCheck_GrpcHealthCheck) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_health_check_proto_rawDescGZIP(), []int{0, 4}
-}
-
-func (x *HealthCheck_GrpcHealthCheck) GetServiceName() string {
- if x != nil {
- return x.ServiceName
- }
- return ""
-}
-
-func (x *HealthCheck_GrpcHealthCheck) GetAuthority() string {
- if x != nil {
- return x.Authority
- }
- return ""
-}
-
-// Custom health check.
-type HealthCheck_CustomHealthCheck struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // The registered name of the custom health checker.
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // A custom health checker specific configuration which depends on the custom health checker
- // being instantiated. See :api:`envoy/config/health_checker` for reference.
- //
- // Types that are assignable to ConfigType:
- // *HealthCheck_CustomHealthCheck_Config
- // *HealthCheck_CustomHealthCheck_TypedConfig
- ConfigType isHealthCheck_CustomHealthCheck_ConfigType `protobuf_oneof:"config_type"`
-}
-
-func (x *HealthCheck_CustomHealthCheck) Reset() {
- *x = HealthCheck_CustomHealthCheck{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_health_check_proto_msgTypes[6]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *HealthCheck_CustomHealthCheck) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*HealthCheck_CustomHealthCheck) ProtoMessage() {}
-
-func (x *HealthCheck_CustomHealthCheck) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_health_check_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 HealthCheck_CustomHealthCheck.ProtoReflect.Descriptor instead.
-func (*HealthCheck_CustomHealthCheck) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_health_check_proto_rawDescGZIP(), []int{0, 5}
-}
-
-func (x *HealthCheck_CustomHealthCheck) GetName() string {
- if x != nil {
- return x.Name
- }
- return ""
-}
-
-func (m *HealthCheck_CustomHealthCheck) GetConfigType() isHealthCheck_CustomHealthCheck_ConfigType {
- if m != nil {
- return m.ConfigType
- }
- return nil
-}
-
-// Deprecated: Do not use.
-func (x *HealthCheck_CustomHealthCheck) GetConfig() *_struct.Struct {
- if x, ok := x.GetConfigType().(*HealthCheck_CustomHealthCheck_Config); ok {
- return x.Config
- }
- return nil
-}
-
-func (x *HealthCheck_CustomHealthCheck) GetTypedConfig() *any.Any {
- if x, ok := x.GetConfigType().(*HealthCheck_CustomHealthCheck_TypedConfig); ok {
- return x.TypedConfig
- }
- return nil
-}
-
-type isHealthCheck_CustomHealthCheck_ConfigType interface {
- isHealthCheck_CustomHealthCheck_ConfigType()
-}
-
-type HealthCheck_CustomHealthCheck_Config struct {
- // Deprecated: Do not use.
- Config *_struct.Struct `protobuf:"bytes,2,opt,name=config,proto3,oneof"`
-}
-
-type HealthCheck_CustomHealthCheck_TypedConfig struct {
- TypedConfig *any.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"`
-}
-
-func (*HealthCheck_CustomHealthCheck_Config) isHealthCheck_CustomHealthCheck_ConfigType() {}
-
-func (*HealthCheck_CustomHealthCheck_TypedConfig) isHealthCheck_CustomHealthCheck_ConfigType() {}
-
-// Health checks occur over the transport socket specified for the cluster. This implies that if a
-// cluster is using a TLS-enabled transport socket, the health check will also occur over TLS.
-//
-// This allows overriding the cluster TLS settings, just for health check connections.
-type HealthCheck_TlsOptions struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // Specifies the ALPN protocols for health check connections. This is useful if the
- // corresponding upstream is using ALPN-based :ref:`FilterChainMatch
- // ` along with different protocols for health checks
- // versus data connections. If empty, no ALPN protocols will be set on health check connections.
- AlpnProtocols []string `protobuf:"bytes,1,rep,name=alpn_protocols,json=alpnProtocols,proto3" json:"alpn_protocols,omitempty"`
-}
-
-func (x *HealthCheck_TlsOptions) Reset() {
- *x = HealthCheck_TlsOptions{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_health_check_proto_msgTypes[7]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *HealthCheck_TlsOptions) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*HealthCheck_TlsOptions) ProtoMessage() {}
-
-func (x *HealthCheck_TlsOptions) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_health_check_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 HealthCheck_TlsOptions.ProtoReflect.Descriptor instead.
-func (*HealthCheck_TlsOptions) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_health_check_proto_rawDescGZIP(), []int{0, 6}
-}
-
-func (x *HealthCheck_TlsOptions) GetAlpnProtocols() []string {
- if x != nil {
- return x.AlpnProtocols
- }
- return nil
-}
-
-var File_envoy_api_v2_core_health_check_proto protoreflect.FileDescriptor
-
-var file_envoy_api_v2_core_health_check_proto_rawDesc = []byte{
- 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63,
- 0x6f, 0x72, 0x65, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70,
- 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73,
- 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61,
- 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74,
- 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70,
- 0x65, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e,
- 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72,
- 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x65,
- 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 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, 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, 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, 0x23,
- 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c,
- 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe1, 0x16, 0x0a, 0x0b,
- 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x3f, 0x0a, 0x07, 0x74,
- 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 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, 0x0a, 0xfa, 0x42, 0x07, 0xaa, 0x01, 0x04, 0x08,
- 0x01, 0x2a, 0x00, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x41, 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, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0xaa, 0x01,
- 0x04, 0x08, 0x01, 0x2a, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12,
- 0x40, 0x0a, 0x0e, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6a, 0x69, 0x74, 0x74, 0x65,
- 0x72, 0x18, 0x14, 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, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x4a, 0x69, 0x74, 0x74, 0x65,
- 0x72, 0x12, 0x42, 0x0a, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x6a, 0x69,
- 0x74, 0x74, 0x65, 0x72, 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, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4a,
- 0x69, 0x74, 0x74, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x17, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61,
- 0x6c, 0x5f, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74,
- 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c,
- 0x4a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x57, 0x0a,
- 0x13, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73,
- 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x04, 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, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02,
- 0x10, 0x01, 0x52, 0x12, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x54, 0x68, 0x72,
- 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x53, 0x0a, 0x11, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68,
- 0x79, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x05, 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,
- 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x10, 0x68, 0x65, 0x61, 0x6c, 0x74,
- 0x68, 0x79, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x37, 0x0a, 0x08, 0x61,
- 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 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, 0x07, 0x61, 0x6c, 0x74,
- 0x50, 0x6f, 0x72, 0x74, 0x12, 0x45, 0x0a, 0x10, 0x72, 0x65, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x6f,
- 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 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, 0x0f, 0x72, 0x65, 0x75, 0x73,
- 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5c, 0x0a, 0x11, 0x68,
- 0x74, 0x74, 0x70, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b,
- 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61,
- 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74,
- 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74,
- 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x00, 0x52, 0x0f, 0x68, 0x74, 0x74, 0x70, 0x48, 0x65,
- 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x59, 0x0a, 0x10, 0x74, 0x63, 0x70,
- 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x09, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e,
- 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68,
- 0x65, 0x63, 0x6b, 0x2e, 0x54, 0x63, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65,
- 0x63, 0x6b, 0x48, 0x00, 0x52, 0x0e, 0x74, 0x63, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43,
- 0x68, 0x65, 0x63, 0x6b, 0x12, 0x5c, 0x0a, 0x11, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x68, 0x65, 0x61,
- 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63,
- 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e,
- 0x47, 0x72, 0x70, 0x63, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48,
- 0x00, 0x52, 0x0f, 0x67, 0x72, 0x70, 0x63, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65,
- 0x63, 0x6b, 0x12, 0x62, 0x0a, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x68, 0x65, 0x61,
- 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63,
- 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e,
- 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63,
- 0x6b, 0x48, 0x00, 0x52, 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x65, 0x61, 0x6c, 0x74,
- 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x53, 0x0a, 0x13, 0x6e, 0x6f, 0x5f, 0x74, 0x72, 0x61,
- 0x66, 0x66, 0x69, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x0c, 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, 0x08,
- 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x11, 0x6e, 0x6f, 0x54, 0x72, 0x61, 0x66,
- 0x66, 0x69, 0x63, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x52, 0x0a, 0x12, 0x75,
- 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61,
- 0x6c, 0x18, 0x0e, 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, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x11, 0x75, 0x6e,
- 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12,
- 0x5b, 0x0a, 0x17, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x65, 0x64, 0x67,
- 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x0f, 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, 0x08, 0xfa, 0x42, 0x05,
- 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x15, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79,
- 0x45, 0x64, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x57, 0x0a, 0x15,
- 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x74,
- 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x10, 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, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00,
- 0x52, 0x13, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x45, 0x64, 0x67, 0x65, 0x49, 0x6e, 0x74,
- 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6c,
- 0x6f, 0x67, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65,
- 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x50, 0x61, 0x74, 0x68, 0x12, 0x4a, 0x0a, 0x0d, 0x65,
- 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x16, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76,
- 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76,
- 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74,
- 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x46, 0x0a, 0x20, 0x61, 0x6c, 0x77, 0x61, 0x79,
- 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65,
- 0x63, 0x6b, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28,
- 0x08, 0x52, 0x1c, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x4c, 0x6f, 0x67, 0x48, 0x65, 0x61, 0x6c,
- 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x12,
- 0x4a, 0x0a, 0x0b, 0x74, 0x6c, 0x73, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x15,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69,
- 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43,
- 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x54, 0x6c, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52,
- 0x0a, 0x74, 0x6c, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x52, 0x0a, 0x07, 0x50,
- 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1d, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x48, 0x00, 0x52,
- 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x18, 0x0a, 0x06, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x06, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x42,
- 0x0e, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a,
- 0x9c, 0x05, 0x0a, 0x0f, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68,
- 0x65, 0x63, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04,
- 0x70, 0x61, 0x74, 0x68, 0x12, 0x3a, 0x0a, 0x04, 0x73, 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76,
- 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65,
- 0x63, 0x6b, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x04, 0x73, 0x65, 0x6e, 0x64,
- 0x12, 0x40, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32,
- 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63,
- 0x6b, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69,
- 0x76, 0x65, 0x12, 0x25, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61,
- 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x73, 0x65,
- 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x64, 0x0a, 0x16, 0x72, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f,
- 0x61, 0x64, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
- 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65,
- 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42,
- 0x09, 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10, 0xe8, 0x07, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12,
- 0x39, 0x0a, 0x19, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65,
- 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x08, 0x20, 0x03,
- 0x28, 0x09, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65,
- 0x72, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x25, 0x0a, 0x09, 0x75, 0x73,
- 0x65, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x42, 0x08, 0x18,
- 0x01, 0xb8, 0xee, 0xf2, 0xd2, 0x05, 0x01, 0x52, 0x08, 0x75, 0x73, 0x65, 0x48, 0x74, 0x74, 0x70,
- 0x32, 0x12, 0x43, 0x0a, 0x11, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74,
- 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65,
- 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52,
- 0x61, 0x6e, 0x67, 0x65, 0x52, 0x10, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x74,
- 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x11, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x5f,
- 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28,
- 0x0e, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x43,
- 0x6f, 0x64, 0x65, 0x63, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08,
- 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x43,
- 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x53, 0x0a, 0x14, 0x73, 0x65, 0x72,
- 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65,
- 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
- 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x72,
- 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76,
- 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x1a, 0x8e,
- 0x01, 0x0a, 0x0e, 0x54, 0x63, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63,
- 0x6b, 0x12, 0x3a, 0x0a, 0x04, 0x73, 0x65, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63,
- 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e,
- 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x04, 0x73, 0x65, 0x6e, 0x64, 0x12, 0x40, 0x0a,
- 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26,
- 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f,
- 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x50,
- 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x1a,
- 0x24, 0x0a, 0x10, 0x52, 0x65, 0x64, 0x69, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68,
- 0x65, 0x63, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x03, 0x6b, 0x65, 0x79, 0x1a, 0x52, 0x0a, 0x0f, 0x47, 0x72, 0x70, 0x63, 0x48, 0x65, 0x61,
- 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76,
- 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
- 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 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, 0x1a, 0xb1, 0x01, 0x0a, 0x11, 0x43, 0x75,
- 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12,
- 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa,
- 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x06,
- 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 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, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e,
- 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e,
- 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
- 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48,
- 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0d,
- 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x33, 0x0a,
- 0x0a, 0x54, 0x6c, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x61,
- 0x6c, 0x70, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x01, 0x20,
- 0x03, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x6c, 0x70, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
- 0x6c, 0x73, 0x42, 0x15, 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65,
- 0x63, 0x6b, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x4a, 0x04, 0x08, 0x0a, 0x10, 0x0b, 0x2a,
- 0x60, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
- 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07,
- 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x4e, 0x48,
- 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x52, 0x41, 0x49,
- 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55,
- 0x54, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x47, 0x52, 0x41, 0x44, 0x45, 0x44, 0x10,
- 0x05, 0x42, 0x93, 0x01, 0x0a, 0x1f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72,
- 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32,
- 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x10, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65,
- 0x63, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75,
- 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79,
- 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e,
- 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63,
- 0x6f, 0x72, 0x65, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x16, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0xba,
- 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
-}
-
-var (
- file_envoy_api_v2_core_health_check_proto_rawDescOnce sync.Once
- file_envoy_api_v2_core_health_check_proto_rawDescData = file_envoy_api_v2_core_health_check_proto_rawDesc
-)
-
-func file_envoy_api_v2_core_health_check_proto_rawDescGZIP() []byte {
- file_envoy_api_v2_core_health_check_proto_rawDescOnce.Do(func() {
- file_envoy_api_v2_core_health_check_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_core_health_check_proto_rawDescData)
- })
- return file_envoy_api_v2_core_health_check_proto_rawDescData
-}
-
-var file_envoy_api_v2_core_health_check_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
-var file_envoy_api_v2_core_health_check_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
-var file_envoy_api_v2_core_health_check_proto_goTypes = []interface{}{
- (HealthStatus)(0), // 0: envoy.api.v2.core.HealthStatus
- (*HealthCheck)(nil), // 1: envoy.api.v2.core.HealthCheck
- (*HealthCheck_Payload)(nil), // 2: envoy.api.v2.core.HealthCheck.Payload
- (*HealthCheck_HttpHealthCheck)(nil), // 3: envoy.api.v2.core.HealthCheck.HttpHealthCheck
- (*HealthCheck_TcpHealthCheck)(nil), // 4: envoy.api.v2.core.HealthCheck.TcpHealthCheck
- (*HealthCheck_RedisHealthCheck)(nil), // 5: envoy.api.v2.core.HealthCheck.RedisHealthCheck
- (*HealthCheck_GrpcHealthCheck)(nil), // 6: envoy.api.v2.core.HealthCheck.GrpcHealthCheck
- (*HealthCheck_CustomHealthCheck)(nil), // 7: envoy.api.v2.core.HealthCheck.CustomHealthCheck
- (*HealthCheck_TlsOptions)(nil), // 8: envoy.api.v2.core.HealthCheck.TlsOptions
- (*duration.Duration)(nil), // 9: google.protobuf.Duration
- (*wrappers.UInt32Value)(nil), // 10: google.protobuf.UInt32Value
- (*wrappers.BoolValue)(nil), // 11: google.protobuf.BoolValue
- (*EventServiceConfig)(nil), // 12: envoy.api.v2.core.EventServiceConfig
- (*HeaderValueOption)(nil), // 13: envoy.api.v2.core.HeaderValueOption
- (*_type.Int64Range)(nil), // 14: envoy.type.Int64Range
- (_type.CodecClientType)(0), // 15: envoy.type.CodecClientType
- (*matcher.StringMatcher)(nil), // 16: envoy.type.matcher.StringMatcher
- (*_struct.Struct)(nil), // 17: google.protobuf.Struct
- (*any.Any)(nil), // 18: google.protobuf.Any
-}
-var file_envoy_api_v2_core_health_check_proto_depIdxs = []int32{
- 9, // 0: envoy.api.v2.core.HealthCheck.timeout:type_name -> google.protobuf.Duration
- 9, // 1: envoy.api.v2.core.HealthCheck.interval:type_name -> google.protobuf.Duration
- 9, // 2: envoy.api.v2.core.HealthCheck.initial_jitter:type_name -> google.protobuf.Duration
- 9, // 3: envoy.api.v2.core.HealthCheck.interval_jitter:type_name -> google.protobuf.Duration
- 10, // 4: envoy.api.v2.core.HealthCheck.unhealthy_threshold:type_name -> google.protobuf.UInt32Value
- 10, // 5: envoy.api.v2.core.HealthCheck.healthy_threshold:type_name -> google.protobuf.UInt32Value
- 10, // 6: envoy.api.v2.core.HealthCheck.alt_port:type_name -> google.protobuf.UInt32Value
- 11, // 7: envoy.api.v2.core.HealthCheck.reuse_connection:type_name -> google.protobuf.BoolValue
- 3, // 8: envoy.api.v2.core.HealthCheck.http_health_check:type_name -> envoy.api.v2.core.HealthCheck.HttpHealthCheck
- 4, // 9: envoy.api.v2.core.HealthCheck.tcp_health_check:type_name -> envoy.api.v2.core.HealthCheck.TcpHealthCheck
- 6, // 10: envoy.api.v2.core.HealthCheck.grpc_health_check:type_name -> envoy.api.v2.core.HealthCheck.GrpcHealthCheck
- 7, // 11: envoy.api.v2.core.HealthCheck.custom_health_check:type_name -> envoy.api.v2.core.HealthCheck.CustomHealthCheck
- 9, // 12: envoy.api.v2.core.HealthCheck.no_traffic_interval:type_name -> google.protobuf.Duration
- 9, // 13: envoy.api.v2.core.HealthCheck.unhealthy_interval:type_name -> google.protobuf.Duration
- 9, // 14: envoy.api.v2.core.HealthCheck.unhealthy_edge_interval:type_name -> google.protobuf.Duration
- 9, // 15: envoy.api.v2.core.HealthCheck.healthy_edge_interval:type_name -> google.protobuf.Duration
- 12, // 16: envoy.api.v2.core.HealthCheck.event_service:type_name -> envoy.api.v2.core.EventServiceConfig
- 8, // 17: envoy.api.v2.core.HealthCheck.tls_options:type_name -> envoy.api.v2.core.HealthCheck.TlsOptions
- 2, // 18: envoy.api.v2.core.HealthCheck.HttpHealthCheck.send:type_name -> envoy.api.v2.core.HealthCheck.Payload
- 2, // 19: envoy.api.v2.core.HealthCheck.HttpHealthCheck.receive:type_name -> envoy.api.v2.core.HealthCheck.Payload
- 13, // 20: envoy.api.v2.core.HealthCheck.HttpHealthCheck.request_headers_to_add:type_name -> envoy.api.v2.core.HeaderValueOption
- 14, // 21: envoy.api.v2.core.HealthCheck.HttpHealthCheck.expected_statuses:type_name -> envoy.type.Int64Range
- 15, // 22: envoy.api.v2.core.HealthCheck.HttpHealthCheck.codec_client_type:type_name -> envoy.type.CodecClientType
- 16, // 23: envoy.api.v2.core.HealthCheck.HttpHealthCheck.service_name_matcher:type_name -> envoy.type.matcher.StringMatcher
- 2, // 24: envoy.api.v2.core.HealthCheck.TcpHealthCheck.send:type_name -> envoy.api.v2.core.HealthCheck.Payload
- 2, // 25: envoy.api.v2.core.HealthCheck.TcpHealthCheck.receive:type_name -> envoy.api.v2.core.HealthCheck.Payload
- 17, // 26: envoy.api.v2.core.HealthCheck.CustomHealthCheck.config:type_name -> google.protobuf.Struct
- 18, // 27: envoy.api.v2.core.HealthCheck.CustomHealthCheck.typed_config:type_name -> google.protobuf.Any
- 28, // [28:28] is the sub-list for method output_type
- 28, // [28:28] is the sub-list for method input_type
- 28, // [28:28] is the sub-list for extension type_name
- 28, // [28:28] is the sub-list for extension extendee
- 0, // [0:28] is the sub-list for field type_name
-}
-
-func init() { file_envoy_api_v2_core_health_check_proto_init() }
-func file_envoy_api_v2_core_health_check_proto_init() {
- if File_envoy_api_v2_core_health_check_proto != nil {
- return
- }
- file_envoy_api_v2_core_base_proto_init()
- file_envoy_api_v2_core_event_service_config_proto_init()
- if !protoimpl.UnsafeEnabled {
- file_envoy_api_v2_core_health_check_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*HealthCheck); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_health_check_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*HealthCheck_Payload); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_health_check_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*HealthCheck_HttpHealthCheck); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_health_check_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*HealthCheck_TcpHealthCheck); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_health_check_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*HealthCheck_RedisHealthCheck); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_health_check_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*HealthCheck_GrpcHealthCheck); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_health_check_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*HealthCheck_CustomHealthCheck); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_health_check_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*HealthCheck_TlsOptions); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- }
- file_envoy_api_v2_core_health_check_proto_msgTypes[0].OneofWrappers = []interface{}{
- (*HealthCheck_HttpHealthCheck_)(nil),
- (*HealthCheck_TcpHealthCheck_)(nil),
- (*HealthCheck_GrpcHealthCheck_)(nil),
- (*HealthCheck_CustomHealthCheck_)(nil),
- }
- file_envoy_api_v2_core_health_check_proto_msgTypes[1].OneofWrappers = []interface{}{
- (*HealthCheck_Payload_Text)(nil),
- (*HealthCheck_Payload_Binary)(nil),
- }
- file_envoy_api_v2_core_health_check_proto_msgTypes[6].OneofWrappers = []interface{}{
- (*HealthCheck_CustomHealthCheck_Config)(nil),
- (*HealthCheck_CustomHealthCheck_TypedConfig)(nil),
- }
- type x struct{}
- out := protoimpl.TypeBuilder{
- File: protoimpl.DescBuilder{
- GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
- RawDescriptor: file_envoy_api_v2_core_health_check_proto_rawDesc,
- NumEnums: 1,
- NumMessages: 8,
- NumExtensions: 0,
- NumServices: 0,
- },
- GoTypes: file_envoy_api_v2_core_health_check_proto_goTypes,
- DependencyIndexes: file_envoy_api_v2_core_health_check_proto_depIdxs,
- EnumInfos: file_envoy_api_v2_core_health_check_proto_enumTypes,
- MessageInfos: file_envoy_api_v2_core_health_check_proto_msgTypes,
- }.Build()
- File_envoy_api_v2_core_health_check_proto = out.File
- file_envoy_api_v2_core_health_check_proto_rawDesc = nil
- file_envoy_api_v2_core_health_check_proto_goTypes = nil
- file_envoy_api_v2_core_health_check_proto_depIdxs = nil
-}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/health_check.pb.validate.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/health_check.pb.validate.go
deleted file mode 100644
index 3f1ca4dba6..0000000000
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/health_check.pb.validate.go
+++ /dev/null
@@ -1,1827 +0,0 @@
-// Code generated by protoc-gen-validate. DO NOT EDIT.
-// source: envoy/api/v2/core/health_check.proto
-
-package core
-
-import (
- "bytes"
- "errors"
- "fmt"
- "net"
- "net/mail"
- "net/url"
- "regexp"
- "sort"
- "strings"
- "time"
- "unicode/utf8"
-
- "google.golang.org/protobuf/types/known/anypb"
-
- _type "github.com/envoyproxy/go-control-plane/envoy/type"
-)
-
-// ensure the imports are used
-var (
- _ = bytes.MinRead
- _ = errors.New("")
- _ = fmt.Print
- _ = utf8.UTFMax
- _ = (*regexp.Regexp)(nil)
- _ = (*strings.Reader)(nil)
- _ = net.IPv4len
- _ = time.Duration(0)
- _ = (*url.URL)(nil)
- _ = (*mail.Address)(nil)
- _ = anypb.Any{}
- _ = sort.Sort
-
- _ = _type.CodecClientType(0)
-)
-
-// Validate checks the field values on HealthCheck with the rules defined in
-// the proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *HealthCheck) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on HealthCheck with the rules defined in
-// the proto definition for this message. If any rules are violated, the
-// result is a list of violation errors wrapped in HealthCheckMultiError, or
-// nil if none found.
-func (m *HealthCheck) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *HealthCheck) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if m.GetTimeout() == nil {
- err := HealthCheckValidationError{
- field: "Timeout",
- reason: "value is required",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if d := m.GetTimeout(); d != nil {
- dur, err := d.AsDuration(), d.CheckValid()
- if err != nil {
- err = HealthCheckValidationError{
- field: "Timeout",
- reason: "value is not a valid duration",
- cause: err,
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- } else {
-
- gt := time.Duration(0*time.Second + 0*time.Nanosecond)
-
- if dur <= gt {
- err := HealthCheckValidationError{
- field: "Timeout",
- reason: "value must be greater than 0s",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- }
- }
-
- if m.GetInterval() == nil {
- err := HealthCheckValidationError{
- field: "Interval",
- reason: "value is required",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if d := m.GetInterval(); d != nil {
- dur, err := d.AsDuration(), d.CheckValid()
- if err != nil {
- err = HealthCheckValidationError{
- field: "Interval",
- reason: "value is not a valid duration",
- cause: err,
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- } else {
-
- gt := time.Duration(0*time.Second + 0*time.Nanosecond)
-
- if dur <= gt {
- err := HealthCheckValidationError{
- field: "Interval",
- reason: "value must be greater than 0s",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- }
- }
-
- if all {
- switch v := interface{}(m.GetInitialJitter()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, HealthCheckValidationError{
- field: "InitialJitter",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, HealthCheckValidationError{
- field: "InitialJitter",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetInitialJitter()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return HealthCheckValidationError{
- field: "InitialJitter",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetIntervalJitter()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, HealthCheckValidationError{
- field: "IntervalJitter",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, HealthCheckValidationError{
- field: "IntervalJitter",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetIntervalJitter()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return HealthCheckValidationError{
- field: "IntervalJitter",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- // no validation rules for IntervalJitterPercent
-
- if m.GetUnhealthyThreshold() == nil {
- err := HealthCheckValidationError{
- field: "UnhealthyThreshold",
- reason: "value is required",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if all {
- switch v := interface{}(m.GetUnhealthyThreshold()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, HealthCheckValidationError{
- field: "UnhealthyThreshold",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, HealthCheckValidationError{
- field: "UnhealthyThreshold",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetUnhealthyThreshold()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return HealthCheckValidationError{
- field: "UnhealthyThreshold",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if m.GetHealthyThreshold() == nil {
- err := HealthCheckValidationError{
- field: "HealthyThreshold",
- reason: "value is required",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if all {
- switch v := interface{}(m.GetHealthyThreshold()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, HealthCheckValidationError{
- field: "HealthyThreshold",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, HealthCheckValidationError{
- field: "HealthyThreshold",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetHealthyThreshold()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return HealthCheckValidationError{
- field: "HealthyThreshold",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetAltPort()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, HealthCheckValidationError{
- field: "AltPort",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, HealthCheckValidationError{
- field: "AltPort",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetAltPort()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return HealthCheckValidationError{
- field: "AltPort",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetReuseConnection()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, HealthCheckValidationError{
- field: "ReuseConnection",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, HealthCheckValidationError{
- field: "ReuseConnection",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetReuseConnection()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return HealthCheckValidationError{
- field: "ReuseConnection",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if d := m.GetNoTrafficInterval(); d != nil {
- dur, err := d.AsDuration(), d.CheckValid()
- if err != nil {
- err = HealthCheckValidationError{
- field: "NoTrafficInterval",
- reason: "value is not a valid duration",
- cause: err,
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- } else {
-
- gt := time.Duration(0*time.Second + 0*time.Nanosecond)
-
- if dur <= gt {
- err := HealthCheckValidationError{
- field: "NoTrafficInterval",
- reason: "value must be greater than 0s",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- }
- }
-
- if d := m.GetUnhealthyInterval(); d != nil {
- dur, err := d.AsDuration(), d.CheckValid()
- if err != nil {
- err = HealthCheckValidationError{
- field: "UnhealthyInterval",
- reason: "value is not a valid duration",
- cause: err,
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- } else {
-
- gt := time.Duration(0*time.Second + 0*time.Nanosecond)
-
- if dur <= gt {
- err := HealthCheckValidationError{
- field: "UnhealthyInterval",
- reason: "value must be greater than 0s",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- }
- }
-
- if d := m.GetUnhealthyEdgeInterval(); d != nil {
- dur, err := d.AsDuration(), d.CheckValid()
- if err != nil {
- err = HealthCheckValidationError{
- field: "UnhealthyEdgeInterval",
- reason: "value is not a valid duration",
- cause: err,
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- } else {
-
- gt := time.Duration(0*time.Second + 0*time.Nanosecond)
-
- if dur <= gt {
- err := HealthCheckValidationError{
- field: "UnhealthyEdgeInterval",
- reason: "value must be greater than 0s",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- }
- }
-
- if d := m.GetHealthyEdgeInterval(); d != nil {
- dur, err := d.AsDuration(), d.CheckValid()
- if err != nil {
- err = HealthCheckValidationError{
- field: "HealthyEdgeInterval",
- reason: "value is not a valid duration",
- cause: err,
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- } else {
-
- gt := time.Duration(0*time.Second + 0*time.Nanosecond)
-
- if dur <= gt {
- err := HealthCheckValidationError{
- field: "HealthyEdgeInterval",
- reason: "value must be greater than 0s",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- }
- }
-
- // no validation rules for EventLogPath
-
- if all {
- switch v := interface{}(m.GetEventService()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, HealthCheckValidationError{
- field: "EventService",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, HealthCheckValidationError{
- field: "EventService",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetEventService()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return HealthCheckValidationError{
- field: "EventService",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- // no validation rules for AlwaysLogHealthCheckFailures
-
- if all {
- switch v := interface{}(m.GetTlsOptions()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, HealthCheckValidationError{
- field: "TlsOptions",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, HealthCheckValidationError{
- field: "TlsOptions",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetTlsOptions()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return HealthCheckValidationError{
- field: "TlsOptions",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- switch m.HealthChecker.(type) {
-
- case *HealthCheck_HttpHealthCheck_:
-
- if all {
- switch v := interface{}(m.GetHttpHealthCheck()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, HealthCheckValidationError{
- field: "HttpHealthCheck",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, HealthCheckValidationError{
- field: "HttpHealthCheck",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetHttpHealthCheck()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return HealthCheckValidationError{
- field: "HttpHealthCheck",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- case *HealthCheck_TcpHealthCheck_:
-
- if all {
- switch v := interface{}(m.GetTcpHealthCheck()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, HealthCheckValidationError{
- field: "TcpHealthCheck",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, HealthCheckValidationError{
- field: "TcpHealthCheck",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetTcpHealthCheck()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return HealthCheckValidationError{
- field: "TcpHealthCheck",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- case *HealthCheck_GrpcHealthCheck_:
-
- if all {
- switch v := interface{}(m.GetGrpcHealthCheck()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, HealthCheckValidationError{
- field: "GrpcHealthCheck",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, HealthCheckValidationError{
- field: "GrpcHealthCheck",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetGrpcHealthCheck()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return HealthCheckValidationError{
- field: "GrpcHealthCheck",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- case *HealthCheck_CustomHealthCheck_:
-
- if all {
- switch v := interface{}(m.GetCustomHealthCheck()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, HealthCheckValidationError{
- field: "CustomHealthCheck",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, HealthCheckValidationError{
- field: "CustomHealthCheck",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetCustomHealthCheck()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return HealthCheckValidationError{
- field: "CustomHealthCheck",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- default:
- err := HealthCheckValidationError{
- field: "HealthChecker",
- reason: "value is required",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
-
- }
-
- if len(errors) > 0 {
- return HealthCheckMultiError(errors)
- }
-
- return nil
-}
-
-// HealthCheckMultiError is an error wrapping multiple validation errors
-// returned by HealthCheck.ValidateAll() if the designated constraints aren't met.
-type HealthCheckMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m HealthCheckMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m HealthCheckMultiError) AllErrors() []error { return m }
-
-// HealthCheckValidationError is the validation error returned by
-// HealthCheck.Validate if the designated constraints aren't met.
-type HealthCheckValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e HealthCheckValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e HealthCheckValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e HealthCheckValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e HealthCheckValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e HealthCheckValidationError) ErrorName() string { return "HealthCheckValidationError" }
-
-// Error satisfies the builtin error interface
-func (e HealthCheckValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sHealthCheck.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = HealthCheckValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = HealthCheckValidationError{}
-
-// Validate checks the field values on HealthCheck_Payload with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *HealthCheck_Payload) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on HealthCheck_Payload with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// HealthCheck_PayloadMultiError, or nil if none found.
-func (m *HealthCheck_Payload) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *HealthCheck_Payload) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- switch m.Payload.(type) {
-
- case *HealthCheck_Payload_Text:
-
- if len(m.GetText()) < 1 {
- err := HealthCheck_PayloadValidationError{
- field: "Text",
- reason: "value length must be at least 1 bytes",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- case *HealthCheck_Payload_Binary:
- // no validation rules for Binary
-
- default:
- err := HealthCheck_PayloadValidationError{
- field: "Payload",
- reason: "value is required",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
-
- }
-
- if len(errors) > 0 {
- return HealthCheck_PayloadMultiError(errors)
- }
-
- return nil
-}
-
-// HealthCheck_PayloadMultiError is an error wrapping multiple validation
-// errors returned by HealthCheck_Payload.ValidateAll() if the designated
-// constraints aren't met.
-type HealthCheck_PayloadMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m HealthCheck_PayloadMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m HealthCheck_PayloadMultiError) AllErrors() []error { return m }
-
-// HealthCheck_PayloadValidationError is the validation error returned by
-// HealthCheck_Payload.Validate if the designated constraints aren't met.
-type HealthCheck_PayloadValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e HealthCheck_PayloadValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e HealthCheck_PayloadValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e HealthCheck_PayloadValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e HealthCheck_PayloadValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e HealthCheck_PayloadValidationError) ErrorName() string {
- return "HealthCheck_PayloadValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e HealthCheck_PayloadValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sHealthCheck_Payload.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = HealthCheck_PayloadValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = HealthCheck_PayloadValidationError{}
-
-// Validate checks the field values on HealthCheck_HttpHealthCheck with the
-// rules defined in the proto definition for this message. If any rules are
-// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *HealthCheck_HttpHealthCheck) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on HealthCheck_HttpHealthCheck with the
-// rules defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// HealthCheck_HttpHealthCheckMultiError, or nil if none found.
-func (m *HealthCheck_HttpHealthCheck) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *HealthCheck_HttpHealthCheck) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- // no validation rules for Host
-
- if len(m.GetPath()) < 1 {
- err := HealthCheck_HttpHealthCheckValidationError{
- field: "Path",
- reason: "value length must be at least 1 bytes",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if all {
- switch v := interface{}(m.GetSend()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, HealthCheck_HttpHealthCheckValidationError{
- field: "Send",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, HealthCheck_HttpHealthCheckValidationError{
- field: "Send",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetSend()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return HealthCheck_HttpHealthCheckValidationError{
- field: "Send",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetReceive()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, HealthCheck_HttpHealthCheckValidationError{
- field: "Receive",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, HealthCheck_HttpHealthCheckValidationError{
- field: "Receive",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetReceive()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return HealthCheck_HttpHealthCheckValidationError{
- field: "Receive",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- // no validation rules for ServiceName
-
- if len(m.GetRequestHeadersToAdd()) > 1000 {
- err := HealthCheck_HttpHealthCheckValidationError{
- field: "RequestHeadersToAdd",
- reason: "value must contain no more than 1000 item(s)",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- for idx, item := range m.GetRequestHeadersToAdd() {
- _, _ = idx, item
-
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, HealthCheck_HttpHealthCheckValidationError{
- field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, HealthCheck_HttpHealthCheckValidationError{
- field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return HealthCheck_HttpHealthCheckValidationError{
- field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
-
- // no validation rules for UseHttp2
-
- for idx, item := range m.GetExpectedStatuses() {
- _, _ = idx, item
-
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, HealthCheck_HttpHealthCheckValidationError{
- field: fmt.Sprintf("ExpectedStatuses[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, HealthCheck_HttpHealthCheckValidationError{
- field: fmt.Sprintf("ExpectedStatuses[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return HealthCheck_HttpHealthCheckValidationError{
- field: fmt.Sprintf("ExpectedStatuses[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
-
- if _, ok := _type.CodecClientType_name[int32(m.GetCodecClientType())]; !ok {
- err := HealthCheck_HttpHealthCheckValidationError{
- field: "CodecClientType",
- reason: "value must be one of the defined enum values",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if all {
- switch v := interface{}(m.GetServiceNameMatcher()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, HealthCheck_HttpHealthCheckValidationError{
- field: "ServiceNameMatcher",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, HealthCheck_HttpHealthCheckValidationError{
- field: "ServiceNameMatcher",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetServiceNameMatcher()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return HealthCheck_HttpHealthCheckValidationError{
- field: "ServiceNameMatcher",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if len(errors) > 0 {
- return HealthCheck_HttpHealthCheckMultiError(errors)
- }
-
- return nil
-}
-
-// HealthCheck_HttpHealthCheckMultiError is an error wrapping multiple
-// validation errors returned by HealthCheck_HttpHealthCheck.ValidateAll() if
-// the designated constraints aren't met.
-type HealthCheck_HttpHealthCheckMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m HealthCheck_HttpHealthCheckMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m HealthCheck_HttpHealthCheckMultiError) AllErrors() []error { return m }
-
-// HealthCheck_HttpHealthCheckValidationError is the validation error returned
-// by HealthCheck_HttpHealthCheck.Validate if the designated constraints
-// aren't met.
-type HealthCheck_HttpHealthCheckValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e HealthCheck_HttpHealthCheckValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e HealthCheck_HttpHealthCheckValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e HealthCheck_HttpHealthCheckValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e HealthCheck_HttpHealthCheckValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e HealthCheck_HttpHealthCheckValidationError) ErrorName() string {
- return "HealthCheck_HttpHealthCheckValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e HealthCheck_HttpHealthCheckValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sHealthCheck_HttpHealthCheck.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = HealthCheck_HttpHealthCheckValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = HealthCheck_HttpHealthCheckValidationError{}
-
-// Validate checks the field values on HealthCheck_TcpHealthCheck with the
-// rules defined in the proto definition for this message. If any rules are
-// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *HealthCheck_TcpHealthCheck) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on HealthCheck_TcpHealthCheck with the
-// rules defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// HealthCheck_TcpHealthCheckMultiError, or nil if none found.
-func (m *HealthCheck_TcpHealthCheck) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *HealthCheck_TcpHealthCheck) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if all {
- switch v := interface{}(m.GetSend()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, HealthCheck_TcpHealthCheckValidationError{
- field: "Send",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, HealthCheck_TcpHealthCheckValidationError{
- field: "Send",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetSend()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return HealthCheck_TcpHealthCheckValidationError{
- field: "Send",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- for idx, item := range m.GetReceive() {
- _, _ = idx, item
-
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, HealthCheck_TcpHealthCheckValidationError{
- field: fmt.Sprintf("Receive[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, HealthCheck_TcpHealthCheckValidationError{
- field: fmt.Sprintf("Receive[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return HealthCheck_TcpHealthCheckValidationError{
- field: fmt.Sprintf("Receive[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
-
- if len(errors) > 0 {
- return HealthCheck_TcpHealthCheckMultiError(errors)
- }
-
- return nil
-}
-
-// HealthCheck_TcpHealthCheckMultiError is an error wrapping multiple
-// validation errors returned by HealthCheck_TcpHealthCheck.ValidateAll() if
-// the designated constraints aren't met.
-type HealthCheck_TcpHealthCheckMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m HealthCheck_TcpHealthCheckMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m HealthCheck_TcpHealthCheckMultiError) AllErrors() []error { return m }
-
-// HealthCheck_TcpHealthCheckValidationError is the validation error returned
-// by HealthCheck_TcpHealthCheck.Validate if the designated constraints aren't met.
-type HealthCheck_TcpHealthCheckValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e HealthCheck_TcpHealthCheckValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e HealthCheck_TcpHealthCheckValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e HealthCheck_TcpHealthCheckValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e HealthCheck_TcpHealthCheckValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e HealthCheck_TcpHealthCheckValidationError) ErrorName() string {
- return "HealthCheck_TcpHealthCheckValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e HealthCheck_TcpHealthCheckValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sHealthCheck_TcpHealthCheck.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = HealthCheck_TcpHealthCheckValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = HealthCheck_TcpHealthCheckValidationError{}
-
-// Validate checks the field values on HealthCheck_RedisHealthCheck with the
-// rules defined in the proto definition for this message. If any rules are
-// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *HealthCheck_RedisHealthCheck) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on HealthCheck_RedisHealthCheck with the
-// rules defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// HealthCheck_RedisHealthCheckMultiError, or nil if none found.
-func (m *HealthCheck_RedisHealthCheck) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *HealthCheck_RedisHealthCheck) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- // no validation rules for Key
-
- if len(errors) > 0 {
- return HealthCheck_RedisHealthCheckMultiError(errors)
- }
-
- return nil
-}
-
-// HealthCheck_RedisHealthCheckMultiError is an error wrapping multiple
-// validation errors returned by HealthCheck_RedisHealthCheck.ValidateAll() if
-// the designated constraints aren't met.
-type HealthCheck_RedisHealthCheckMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m HealthCheck_RedisHealthCheckMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m HealthCheck_RedisHealthCheckMultiError) AllErrors() []error { return m }
-
-// HealthCheck_RedisHealthCheckValidationError is the validation error returned
-// by HealthCheck_RedisHealthCheck.Validate if the designated constraints
-// aren't met.
-type HealthCheck_RedisHealthCheckValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e HealthCheck_RedisHealthCheckValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e HealthCheck_RedisHealthCheckValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e HealthCheck_RedisHealthCheckValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e HealthCheck_RedisHealthCheckValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e HealthCheck_RedisHealthCheckValidationError) ErrorName() string {
- return "HealthCheck_RedisHealthCheckValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e HealthCheck_RedisHealthCheckValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sHealthCheck_RedisHealthCheck.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = HealthCheck_RedisHealthCheckValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = HealthCheck_RedisHealthCheckValidationError{}
-
-// Validate checks the field values on HealthCheck_GrpcHealthCheck with the
-// rules defined in the proto definition for this message. If any rules are
-// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *HealthCheck_GrpcHealthCheck) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on HealthCheck_GrpcHealthCheck with the
-// rules defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// HealthCheck_GrpcHealthCheckMultiError, or nil if none found.
-func (m *HealthCheck_GrpcHealthCheck) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *HealthCheck_GrpcHealthCheck) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- // no validation rules for ServiceName
-
- // no validation rules for Authority
-
- if len(errors) > 0 {
- return HealthCheck_GrpcHealthCheckMultiError(errors)
- }
-
- return nil
-}
-
-// HealthCheck_GrpcHealthCheckMultiError is an error wrapping multiple
-// validation errors returned by HealthCheck_GrpcHealthCheck.ValidateAll() if
-// the designated constraints aren't met.
-type HealthCheck_GrpcHealthCheckMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m HealthCheck_GrpcHealthCheckMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m HealthCheck_GrpcHealthCheckMultiError) AllErrors() []error { return m }
-
-// HealthCheck_GrpcHealthCheckValidationError is the validation error returned
-// by HealthCheck_GrpcHealthCheck.Validate if the designated constraints
-// aren't met.
-type HealthCheck_GrpcHealthCheckValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e HealthCheck_GrpcHealthCheckValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e HealthCheck_GrpcHealthCheckValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e HealthCheck_GrpcHealthCheckValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e HealthCheck_GrpcHealthCheckValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e HealthCheck_GrpcHealthCheckValidationError) ErrorName() string {
- return "HealthCheck_GrpcHealthCheckValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e HealthCheck_GrpcHealthCheckValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sHealthCheck_GrpcHealthCheck.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = HealthCheck_GrpcHealthCheckValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = HealthCheck_GrpcHealthCheckValidationError{}
-
-// Validate checks the field values on HealthCheck_CustomHealthCheck with the
-// rules defined in the proto definition for this message. If any rules are
-// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *HealthCheck_CustomHealthCheck) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on HealthCheck_CustomHealthCheck with
-// the rules defined in the proto definition for this message. If any rules
-// are violated, the result is a list of violation errors wrapped in
-// HealthCheck_CustomHealthCheckMultiError, or nil if none found.
-func (m *HealthCheck_CustomHealthCheck) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *HealthCheck_CustomHealthCheck) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if len(m.GetName()) < 1 {
- err := HealthCheck_CustomHealthCheckValidationError{
- field: "Name",
- reason: "value length must be at least 1 bytes",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- switch m.ConfigType.(type) {
-
- case *HealthCheck_CustomHealthCheck_Config:
-
- if all {
- switch v := interface{}(m.GetConfig()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, HealthCheck_CustomHealthCheckValidationError{
- field: "Config",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, HealthCheck_CustomHealthCheckValidationError{
- field: "Config",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return HealthCheck_CustomHealthCheckValidationError{
- field: "Config",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- case *HealthCheck_CustomHealthCheck_TypedConfig:
-
- if all {
- switch v := interface{}(m.GetTypedConfig()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, HealthCheck_CustomHealthCheckValidationError{
- field: "TypedConfig",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, HealthCheck_CustomHealthCheckValidationError{
- field: "TypedConfig",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return HealthCheck_CustomHealthCheckValidationError{
- field: "TypedConfig",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
-
- if len(errors) > 0 {
- return HealthCheck_CustomHealthCheckMultiError(errors)
- }
-
- return nil
-}
-
-// HealthCheck_CustomHealthCheckMultiError is an error wrapping multiple
-// validation errors returned by HealthCheck_CustomHealthCheck.ValidateAll()
-// if the designated constraints aren't met.
-type HealthCheck_CustomHealthCheckMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m HealthCheck_CustomHealthCheckMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m HealthCheck_CustomHealthCheckMultiError) AllErrors() []error { return m }
-
-// HealthCheck_CustomHealthCheckValidationError is the validation error
-// returned by HealthCheck_CustomHealthCheck.Validate if the designated
-// constraints aren't met.
-type HealthCheck_CustomHealthCheckValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e HealthCheck_CustomHealthCheckValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e HealthCheck_CustomHealthCheckValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e HealthCheck_CustomHealthCheckValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e HealthCheck_CustomHealthCheckValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e HealthCheck_CustomHealthCheckValidationError) ErrorName() string {
- return "HealthCheck_CustomHealthCheckValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e HealthCheck_CustomHealthCheckValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sHealthCheck_CustomHealthCheck.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = HealthCheck_CustomHealthCheckValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = HealthCheck_CustomHealthCheckValidationError{}
-
-// Validate checks the field values on HealthCheck_TlsOptions with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *HealthCheck_TlsOptions) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on HealthCheck_TlsOptions with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// HealthCheck_TlsOptionsMultiError, or nil if none found.
-func (m *HealthCheck_TlsOptions) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *HealthCheck_TlsOptions) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if len(errors) > 0 {
- return HealthCheck_TlsOptionsMultiError(errors)
- }
-
- return nil
-}
-
-// HealthCheck_TlsOptionsMultiError is an error wrapping multiple validation
-// errors returned by HealthCheck_TlsOptions.ValidateAll() if the designated
-// constraints aren't met.
-type HealthCheck_TlsOptionsMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m HealthCheck_TlsOptionsMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m HealthCheck_TlsOptionsMultiError) AllErrors() []error { return m }
-
-// HealthCheck_TlsOptionsValidationError is the validation error returned by
-// HealthCheck_TlsOptions.Validate if the designated constraints aren't met.
-type HealthCheck_TlsOptionsValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e HealthCheck_TlsOptionsValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e HealthCheck_TlsOptionsValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e HealthCheck_TlsOptionsValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e HealthCheck_TlsOptionsValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e HealthCheck_TlsOptionsValidationError) ErrorName() string {
- return "HealthCheck_TlsOptionsValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e HealthCheck_TlsOptionsValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sHealthCheck_TlsOptions.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = HealthCheck_TlsOptionsValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = HealthCheck_TlsOptionsValidationError{}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/http_uri.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/http_uri.pb.go
deleted file mode 100644
index 63c338caf0..0000000000
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/http_uri.pb.go
+++ /dev/null
@@ -1,234 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
-// source: envoy/api/v2/core/http_uri.proto
-
-package core
-
-import (
- _ "github.com/cncf/xds/go/udpa/annotations"
- _ "github.com/envoyproxy/protoc-gen-validate/validate"
- duration "github.com/golang/protobuf/ptypes/duration"
- 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)
-)
-
-// Envoy external URI descriptor
-type HttpUri struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // The HTTP server URI. It should be a full FQDN with protocol, host and path.
- //
- // Example:
- //
- // .. code-block:: yaml
- //
- // uri: https://www.googleapis.com/oauth2/v1/certs
- //
- Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
- // Specify how `uri` is to be fetched. Today, this requires an explicit
- // cluster, but in the future we may support dynamic cluster creation or
- // inline DNS resolution. See `issue
- // `_.
- //
- // Types that are assignable to HttpUpstreamType:
- // *HttpUri_Cluster
- HttpUpstreamType isHttpUri_HttpUpstreamType `protobuf_oneof:"http_upstream_type"`
- // Sets the maximum duration in milliseconds that a response can take to arrive upon request.
- Timeout *duration.Duration `protobuf:"bytes,3,opt,name=timeout,proto3" json:"timeout,omitempty"`
-}
-
-func (x *HttpUri) Reset() {
- *x = HttpUri{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_http_uri_proto_msgTypes[0]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *HttpUri) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*HttpUri) ProtoMessage() {}
-
-func (x *HttpUri) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_http_uri_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 HttpUri.ProtoReflect.Descriptor instead.
-func (*HttpUri) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_http_uri_proto_rawDescGZIP(), []int{0}
-}
-
-func (x *HttpUri) GetUri() string {
- if x != nil {
- return x.Uri
- }
- return ""
-}
-
-func (m *HttpUri) GetHttpUpstreamType() isHttpUri_HttpUpstreamType {
- if m != nil {
- return m.HttpUpstreamType
- }
- return nil
-}
-
-func (x *HttpUri) GetCluster() string {
- if x, ok := x.GetHttpUpstreamType().(*HttpUri_Cluster); ok {
- return x.Cluster
- }
- return ""
-}
-
-func (x *HttpUri) GetTimeout() *duration.Duration {
- if x != nil {
- return x.Timeout
- }
- return nil
-}
-
-type isHttpUri_HttpUpstreamType interface {
- isHttpUri_HttpUpstreamType()
-}
-
-type HttpUri_Cluster struct {
- // A cluster is created in the Envoy "cluster_manager" config
- // section. This field specifies the cluster name.
- //
- // Example:
- //
- // .. code-block:: yaml
- //
- // cluster: jwks_cluster
- //
- Cluster string `protobuf:"bytes,2,opt,name=cluster,proto3,oneof"`
-}
-
-func (*HttpUri_Cluster) isHttpUri_HttpUpstreamType() {}
-
-var File_envoy_api_v2_core_http_uri_proto protoreflect.FileDescriptor
-
-var file_envoy_api_v2_core_http_uri_proto_rawDesc = []byte{
- 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63,
- 0x6f, 0x72, 0x65, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72, 0x69, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32,
- 0x2e, 0x63, 0x6f, 0x72, 0x65, 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, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f,
- 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f,
- 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76,
- 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa5, 0x01,
- 0x0a, 0x07, 0x48, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x12, 0x19, 0x0a, 0x03, 0x75, 0x72, 0x69,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52,
- 0x03, 0x75, 0x72, 0x69, 0x12, 0x23, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x48, 0x00,
- 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x07, 0x74, 0x69, 0x6d,
- 0x65, 0x6f, 0x75, 0x74, 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, 0x0a, 0xfa, 0x42, 0x07, 0xaa, 0x01, 0x04, 0x08, 0x01, 0x32,
- 0x00, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0x19, 0x0a, 0x12, 0x68, 0x74,
- 0x74, 0x70, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65,
- 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x8f, 0x01, 0x0a, 0x1f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76,
- 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70,
- 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0c, 0x48, 0x74, 0x74, 0x70, 0x55,
- 0x72, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75,
- 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79,
- 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e,
- 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63,
- 0x6f, 0x72, 0x65, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x16, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0xba,
- 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
-}
-
-var (
- file_envoy_api_v2_core_http_uri_proto_rawDescOnce sync.Once
- file_envoy_api_v2_core_http_uri_proto_rawDescData = file_envoy_api_v2_core_http_uri_proto_rawDesc
-)
-
-func file_envoy_api_v2_core_http_uri_proto_rawDescGZIP() []byte {
- file_envoy_api_v2_core_http_uri_proto_rawDescOnce.Do(func() {
- file_envoy_api_v2_core_http_uri_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_core_http_uri_proto_rawDescData)
- })
- return file_envoy_api_v2_core_http_uri_proto_rawDescData
-}
-
-var file_envoy_api_v2_core_http_uri_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
-var file_envoy_api_v2_core_http_uri_proto_goTypes = []interface{}{
- (*HttpUri)(nil), // 0: envoy.api.v2.core.HttpUri
- (*duration.Duration)(nil), // 1: google.protobuf.Duration
-}
-var file_envoy_api_v2_core_http_uri_proto_depIdxs = []int32{
- 1, // 0: envoy.api.v2.core.HttpUri.timeout:type_name -> google.protobuf.Duration
- 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_envoy_api_v2_core_http_uri_proto_init() }
-func file_envoy_api_v2_core_http_uri_proto_init() {
- if File_envoy_api_v2_core_http_uri_proto != nil {
- return
- }
- if !protoimpl.UnsafeEnabled {
- file_envoy_api_v2_core_http_uri_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*HttpUri); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- }
- file_envoy_api_v2_core_http_uri_proto_msgTypes[0].OneofWrappers = []interface{}{
- (*HttpUri_Cluster)(nil),
- }
- type x struct{}
- out := protoimpl.TypeBuilder{
- File: protoimpl.DescBuilder{
- GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
- RawDescriptor: file_envoy_api_v2_core_http_uri_proto_rawDesc,
- NumEnums: 0,
- NumMessages: 1,
- NumExtensions: 0,
- NumServices: 0,
- },
- GoTypes: file_envoy_api_v2_core_http_uri_proto_goTypes,
- DependencyIndexes: file_envoy_api_v2_core_http_uri_proto_depIdxs,
- MessageInfos: file_envoy_api_v2_core_http_uri_proto_msgTypes,
- }.Build()
- File_envoy_api_v2_core_http_uri_proto = out.File
- file_envoy_api_v2_core_http_uri_proto_rawDesc = nil
- file_envoy_api_v2_core_http_uri_proto_goTypes = nil
- file_envoy_api_v2_core_http_uri_proto_depIdxs = nil
-}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/http_uri.pb.validate.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/http_uri.pb.validate.go
deleted file mode 100644
index 35c1542cce..0000000000
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/http_uri.pb.validate.go
+++ /dev/null
@@ -1,213 +0,0 @@
-// Code generated by protoc-gen-validate. DO NOT EDIT.
-// source: envoy/api/v2/core/http_uri.proto
-
-package core
-
-import (
- "bytes"
- "errors"
- "fmt"
- "net"
- "net/mail"
- "net/url"
- "regexp"
- "sort"
- "strings"
- "time"
- "unicode/utf8"
-
- "google.golang.org/protobuf/types/known/anypb"
-)
-
-// ensure the imports are used
-var (
- _ = bytes.MinRead
- _ = errors.New("")
- _ = fmt.Print
- _ = utf8.UTFMax
- _ = (*regexp.Regexp)(nil)
- _ = (*strings.Reader)(nil)
- _ = net.IPv4len
- _ = time.Duration(0)
- _ = (*url.URL)(nil)
- _ = (*mail.Address)(nil)
- _ = anypb.Any{}
- _ = sort.Sort
-)
-
-// Validate checks the field values on HttpUri with the rules defined in the
-// proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *HttpUri) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on HttpUri with the rules defined in the
-// proto definition for this message. If any rules are violated, the result is
-// a list of violation errors wrapped in HttpUriMultiError, or nil if none found.
-func (m *HttpUri) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *HttpUri) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if len(m.GetUri()) < 1 {
- err := HttpUriValidationError{
- field: "Uri",
- reason: "value length must be at least 1 bytes",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if m.GetTimeout() == nil {
- err := HttpUriValidationError{
- field: "Timeout",
- reason: "value is required",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if d := m.GetTimeout(); d != nil {
- dur, err := d.AsDuration(), d.CheckValid()
- if err != nil {
- err = HttpUriValidationError{
- field: "Timeout",
- reason: "value is not a valid duration",
- cause: err,
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- } else {
-
- gte := time.Duration(0*time.Second + 0*time.Nanosecond)
-
- if dur < gte {
- err := HttpUriValidationError{
- field: "Timeout",
- reason: "value must be greater than or equal to 0s",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- }
- }
-
- switch m.HttpUpstreamType.(type) {
-
- case *HttpUri_Cluster:
-
- if len(m.GetCluster()) < 1 {
- err := HttpUriValidationError{
- field: "Cluster",
- reason: "value length must be at least 1 bytes",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- default:
- err := HttpUriValidationError{
- field: "HttpUpstreamType",
- reason: "value is required",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
-
- }
-
- if len(errors) > 0 {
- return HttpUriMultiError(errors)
- }
-
- return nil
-}
-
-// HttpUriMultiError is an error wrapping multiple validation errors returned
-// by HttpUri.ValidateAll() if the designated constraints aren't met.
-type HttpUriMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m HttpUriMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m HttpUriMultiError) AllErrors() []error { return m }
-
-// HttpUriValidationError is the validation error returned by HttpUri.Validate
-// if the designated constraints aren't met.
-type HttpUriValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e HttpUriValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e HttpUriValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e HttpUriValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e HttpUriValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e HttpUriValidationError) ErrorName() string { return "HttpUriValidationError" }
-
-// Error satisfies the builtin error interface
-func (e HttpUriValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sHttpUri.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = HttpUriValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = HttpUriValidationError{}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/protocol.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/protocol.pb.go
deleted file mode 100644
index fd43928b89..0000000000
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/protocol.pb.go
+++ /dev/null
@@ -1,1255 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
-// source: envoy/api/v2/core/protocol.proto
-
-package core
-
-import (
- _ "github.com/cncf/xds/go/udpa/annotations"
- _ "github.com/envoyproxy/protoc-gen-validate/validate"
- duration "github.com/golang/protobuf/ptypes/duration"
- wrappers "github.com/golang/protobuf/ptypes/wrappers"
- 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)
-)
-
-// Action to take when Envoy receives client request with header names containing underscore
-// characters.
-// Underscore character is allowed in header names by the RFC-7230 and this behavior is implemented
-// as a security measure due to systems that treat '_' and '-' as interchangeable. Envoy by default allows client request headers with underscore
-// characters.
-type HttpProtocolOptions_HeadersWithUnderscoresAction int32
-
-const (
- // Allow headers with underscores. This is the default behavior.
- HttpProtocolOptions_ALLOW HttpProtocolOptions_HeadersWithUnderscoresAction = 0
- // Reject client request. HTTP/1 requests are rejected with the 400 status. HTTP/2 requests
- // end with the stream reset. The "httpN.requests_rejected_with_underscores_in_headers" counter
- // is incremented for each rejected request.
- HttpProtocolOptions_REJECT_REQUEST HttpProtocolOptions_HeadersWithUnderscoresAction = 1
- // Drop the header with name containing underscores. The header is dropped before the filter chain is
- // invoked and as such filters will not see dropped headers. The
- // "httpN.dropped_headers_with_underscores" is incremented for each dropped header.
- HttpProtocolOptions_DROP_HEADER HttpProtocolOptions_HeadersWithUnderscoresAction = 2
-)
-
-// Enum value maps for HttpProtocolOptions_HeadersWithUnderscoresAction.
-var (
- HttpProtocolOptions_HeadersWithUnderscoresAction_name = map[int32]string{
- 0: "ALLOW",
- 1: "REJECT_REQUEST",
- 2: "DROP_HEADER",
- }
- HttpProtocolOptions_HeadersWithUnderscoresAction_value = map[string]int32{
- "ALLOW": 0,
- "REJECT_REQUEST": 1,
- "DROP_HEADER": 2,
- }
-)
-
-func (x HttpProtocolOptions_HeadersWithUnderscoresAction) Enum() *HttpProtocolOptions_HeadersWithUnderscoresAction {
- p := new(HttpProtocolOptions_HeadersWithUnderscoresAction)
- *p = x
- return p
-}
-
-func (x HttpProtocolOptions_HeadersWithUnderscoresAction) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (HttpProtocolOptions_HeadersWithUnderscoresAction) Descriptor() protoreflect.EnumDescriptor {
- return file_envoy_api_v2_core_protocol_proto_enumTypes[0].Descriptor()
-}
-
-func (HttpProtocolOptions_HeadersWithUnderscoresAction) Type() protoreflect.EnumType {
- return &file_envoy_api_v2_core_protocol_proto_enumTypes[0]
-}
-
-func (x HttpProtocolOptions_HeadersWithUnderscoresAction) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Use HttpProtocolOptions_HeadersWithUnderscoresAction.Descriptor instead.
-func (HttpProtocolOptions_HeadersWithUnderscoresAction) EnumDescriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_protocol_proto_rawDescGZIP(), []int{2, 0}
-}
-
-// [#not-implemented-hide:]
-type TcpProtocolOptions struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-}
-
-func (x *TcpProtocolOptions) Reset() {
- *x = TcpProtocolOptions{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[0]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *TcpProtocolOptions) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*TcpProtocolOptions) ProtoMessage() {}
-
-func (x *TcpProtocolOptions) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_protocol_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 TcpProtocolOptions.ProtoReflect.Descriptor instead.
-func (*TcpProtocolOptions) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_protocol_proto_rawDescGZIP(), []int{0}
-}
-
-type UpstreamHttpProtocolOptions struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // Set transport socket `SNI `_ for new
- // upstream connections based on the downstream HTTP host/authority header, as seen by the
- // :ref:`router filter `.
- AutoSni bool `protobuf:"varint,1,opt,name=auto_sni,json=autoSni,proto3" json:"auto_sni,omitempty"`
- // Automatic validate upstream presented certificate for new upstream connections based on the
- // downstream HTTP host/authority header, as seen by the
- // :ref:`router filter `.
- // This field is intended to set with `auto_sni` field.
- AutoSanValidation bool `protobuf:"varint,2,opt,name=auto_san_validation,json=autoSanValidation,proto3" json:"auto_san_validation,omitempty"`
-}
-
-func (x *UpstreamHttpProtocolOptions) Reset() {
- *x = UpstreamHttpProtocolOptions{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[1]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *UpstreamHttpProtocolOptions) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*UpstreamHttpProtocolOptions) ProtoMessage() {}
-
-func (x *UpstreamHttpProtocolOptions) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_protocol_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 UpstreamHttpProtocolOptions.ProtoReflect.Descriptor instead.
-func (*UpstreamHttpProtocolOptions) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_protocol_proto_rawDescGZIP(), []int{1}
-}
-
-func (x *UpstreamHttpProtocolOptions) GetAutoSni() bool {
- if x != nil {
- return x.AutoSni
- }
- return false
-}
-
-func (x *UpstreamHttpProtocolOptions) GetAutoSanValidation() bool {
- if x != nil {
- return x.AutoSanValidation
- }
- return false
-}
-
-// [#next-free-field: 6]
-type HttpProtocolOptions struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // The idle timeout for connections. The idle timeout is defined as the
- // period in which there are no active requests. When the
- // idle timeout is reached the connection will be closed. If the connection is an HTTP/2
- // downstream connection a drain sequence will occur prior to closing the connection, see
- // :ref:`drain_timeout
- // `.
- // Note that request based timeouts mean that HTTP/2 PINGs will not keep the connection alive.
- // If not specified, this defaults to 1 hour. To disable idle timeouts explicitly set this to 0.
- //
- // .. warning::
- // Disabling this timeout has a highly likelihood of yielding connection leaks due to lost TCP
- // FIN packets, etc.
- IdleTimeout *duration.Duration `protobuf:"bytes,1,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"`
- // The maximum duration of a connection. The duration is defined as a period since a connection
- // was established. If not set, there is no max duration. When max_connection_duration is reached
- // the connection will be closed. Drain sequence will occur prior to closing the connection if
- // if's applicable. See :ref:`drain_timeout
- // `.
- // Note: not implemented for upstream connections.
- MaxConnectionDuration *duration.Duration `protobuf:"bytes,3,opt,name=max_connection_duration,json=maxConnectionDuration,proto3" json:"max_connection_duration,omitempty"`
- // The maximum number of headers. If unconfigured, the default
- // maximum number of request headers allowed is 100. Requests that exceed this limit will receive
- // a 431 response for HTTP/1.x and cause a stream reset for HTTP/2.
- MaxHeadersCount *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=max_headers_count,json=maxHeadersCount,proto3" json:"max_headers_count,omitempty"`
- // Total duration to keep alive an HTTP request/response stream. If the time limit is reached the stream will be
- // reset independent of any other timeouts. If not specified, this value is not set.
- MaxStreamDuration *duration.Duration `protobuf:"bytes,4,opt,name=max_stream_duration,json=maxStreamDuration,proto3" json:"max_stream_duration,omitempty"`
- // Action to take when a client request with a header name containing underscore characters is received.
- // If this setting is not specified, the value defaults to ALLOW.
- // Note: upstream responses are not affected by this setting.
- HeadersWithUnderscoresAction HttpProtocolOptions_HeadersWithUnderscoresAction `protobuf:"varint,5,opt,name=headers_with_underscores_action,json=headersWithUnderscoresAction,proto3,enum=envoy.api.v2.core.HttpProtocolOptions_HeadersWithUnderscoresAction" json:"headers_with_underscores_action,omitempty"`
-}
-
-func (x *HttpProtocolOptions) Reset() {
- *x = HttpProtocolOptions{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[2]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *HttpProtocolOptions) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*HttpProtocolOptions) ProtoMessage() {}
-
-func (x *HttpProtocolOptions) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_protocol_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 HttpProtocolOptions.ProtoReflect.Descriptor instead.
-func (*HttpProtocolOptions) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_protocol_proto_rawDescGZIP(), []int{2}
-}
-
-func (x *HttpProtocolOptions) GetIdleTimeout() *duration.Duration {
- if x != nil {
- return x.IdleTimeout
- }
- return nil
-}
-
-func (x *HttpProtocolOptions) GetMaxConnectionDuration() *duration.Duration {
- if x != nil {
- return x.MaxConnectionDuration
- }
- return nil
-}
-
-func (x *HttpProtocolOptions) GetMaxHeadersCount() *wrappers.UInt32Value {
- if x != nil {
- return x.MaxHeadersCount
- }
- return nil
-}
-
-func (x *HttpProtocolOptions) GetMaxStreamDuration() *duration.Duration {
- if x != nil {
- return x.MaxStreamDuration
- }
- return nil
-}
-
-func (x *HttpProtocolOptions) GetHeadersWithUnderscoresAction() HttpProtocolOptions_HeadersWithUnderscoresAction {
- if x != nil {
- return x.HeadersWithUnderscoresAction
- }
- return HttpProtocolOptions_ALLOW
-}
-
-// [#next-free-field: 6]
-type Http1ProtocolOptions struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // Handle HTTP requests with absolute URLs in the requests. These requests
- // are generally sent by clients to forward/explicit proxies. This allows clients to configure
- // envoy as their HTTP proxy. In Unix, for example, this is typically done by setting the
- // *http_proxy* environment variable.
- AllowAbsoluteUrl *wrappers.BoolValue `protobuf:"bytes,1,opt,name=allow_absolute_url,json=allowAbsoluteUrl,proto3" json:"allow_absolute_url,omitempty"`
- // Handle incoming HTTP/1.0 and HTTP 0.9 requests.
- // This is off by default, and not fully standards compliant. There is support for pre-HTTP/1.1
- // style connect logic, dechunking, and handling lack of client host iff
- // *default_host_for_http_10* is configured.
- AcceptHttp_10 bool `protobuf:"varint,2,opt,name=accept_http_10,json=acceptHttp10,proto3" json:"accept_http_10,omitempty"`
- // A default host for HTTP/1.0 requests. This is highly suggested if *accept_http_10* is true as
- // Envoy does not otherwise support HTTP/1.0 without a Host header.
- // This is a no-op if *accept_http_10* is not true.
- DefaultHostForHttp_10 string `protobuf:"bytes,3,opt,name=default_host_for_http_10,json=defaultHostForHttp10,proto3" json:"default_host_for_http_10,omitempty"`
- // Describes how the keys for response headers should be formatted. By default, all header keys
- // are lower cased.
- HeaderKeyFormat *Http1ProtocolOptions_HeaderKeyFormat `protobuf:"bytes,4,opt,name=header_key_format,json=headerKeyFormat,proto3" json:"header_key_format,omitempty"`
- // Enables trailers for HTTP/1. By default the HTTP/1 codec drops proxied trailers.
- //
- // .. attention::
- //
- // Note that this only happens when Envoy is chunk encoding which occurs when:
- // - The request is HTTP/1.1.
- // - Is neither a HEAD only request nor a HTTP Upgrade.
- // - Not a response to a HEAD request.
- // - The content length header is not present.
- EnableTrailers bool `protobuf:"varint,5,opt,name=enable_trailers,json=enableTrailers,proto3" json:"enable_trailers,omitempty"`
-}
-
-func (x *Http1ProtocolOptions) Reset() {
- *x = Http1ProtocolOptions{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[3]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *Http1ProtocolOptions) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*Http1ProtocolOptions) ProtoMessage() {}
-
-func (x *Http1ProtocolOptions) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_protocol_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 Http1ProtocolOptions.ProtoReflect.Descriptor instead.
-func (*Http1ProtocolOptions) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_protocol_proto_rawDescGZIP(), []int{3}
-}
-
-func (x *Http1ProtocolOptions) GetAllowAbsoluteUrl() *wrappers.BoolValue {
- if x != nil {
- return x.AllowAbsoluteUrl
- }
- return nil
-}
-
-func (x *Http1ProtocolOptions) GetAcceptHttp_10() bool {
- if x != nil {
- return x.AcceptHttp_10
- }
- return false
-}
-
-func (x *Http1ProtocolOptions) GetDefaultHostForHttp_10() string {
- if x != nil {
- return x.DefaultHostForHttp_10
- }
- return ""
-}
-
-func (x *Http1ProtocolOptions) GetHeaderKeyFormat() *Http1ProtocolOptions_HeaderKeyFormat {
- if x != nil {
- return x.HeaderKeyFormat
- }
- return nil
-}
-
-func (x *Http1ProtocolOptions) GetEnableTrailers() bool {
- if x != nil {
- return x.EnableTrailers
- }
- return false
-}
-
-// [#next-free-field: 14]
-type Http2ProtocolOptions struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // `Maximum table size `_
- // (in octets) that the encoder is permitted to use for the dynamic HPACK table. Valid values
- // range from 0 to 4294967295 (2^32 - 1) and defaults to 4096. 0 effectively disables header
- // compression.
- HpackTableSize *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=hpack_table_size,json=hpackTableSize,proto3" json:"hpack_table_size,omitempty"`
- // `Maximum concurrent streams `_
- // allowed for peer on one HTTP/2 connection. Valid values range from 1 to 2147483647 (2^31 - 1)
- // and defaults to 2147483647.
- //
- // For upstream connections, this also limits how many streams Envoy will initiate concurrently
- // on a single connection. If the limit is reached, Envoy may queue requests or establish
- // additional connections (as allowed per circuit breaker limits).
- MaxConcurrentStreams *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=max_concurrent_streams,json=maxConcurrentStreams,proto3" json:"max_concurrent_streams,omitempty"`
- // `Initial stream-level flow-control window
- // `_ size. Valid values range from 65535
- // (2^16 - 1, HTTP/2 default) to 2147483647 (2^31 - 1, HTTP/2 maximum) and defaults to 268435456
- // (256 * 1024 * 1024).
- //
- // NOTE: 65535 is the initial window size from HTTP/2 spec. We only support increasing the default
- // window size now, so it's also the minimum.
- //
- // This field also acts as a soft limit on the number of bytes Envoy will buffer per-stream in the
- // HTTP/2 codec buffers. Once the buffer reaches this pointer, watermark callbacks will fire to
- // stop the flow of data to the codec buffers.
- InitialStreamWindowSize *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=initial_stream_window_size,json=initialStreamWindowSize,proto3" json:"initial_stream_window_size,omitempty"`
- // Similar to *initial_stream_window_size*, but for connection-level flow-control
- // window. Currently, this has the same minimum/maximum/default as *initial_stream_window_size*.
- InitialConnectionWindowSize *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=initial_connection_window_size,json=initialConnectionWindowSize,proto3" json:"initial_connection_window_size,omitempty"`
- // Allows proxying Websocket and other upgrades over H2 connect.
- AllowConnect bool `protobuf:"varint,5,opt,name=allow_connect,json=allowConnect,proto3" json:"allow_connect,omitempty"`
- // [#not-implemented-hide:] Hiding until envoy has full metadata support.
- // Still under implementation. DO NOT USE.
- //
- // Allows metadata. See [metadata
- // docs](https://github.com/envoyproxy/envoy/blob/main/source/docs/h2_metadata.md) for more
- // information.
- AllowMetadata bool `protobuf:"varint,6,opt,name=allow_metadata,json=allowMetadata,proto3" json:"allow_metadata,omitempty"`
- // Limit the number of pending outbound downstream frames of all types (frames that are waiting to
- // be written into the socket). Exceeding this limit triggers flood mitigation and connection is
- // terminated. The ``http2.outbound_flood`` stat tracks the number of terminated connections due
- // to flood mitigation. The default limit is 10000.
- // [#comment:TODO: implement same limits for upstream outbound frames as well.]
- MaxOutboundFrames *wrappers.UInt32Value `protobuf:"bytes,7,opt,name=max_outbound_frames,json=maxOutboundFrames,proto3" json:"max_outbound_frames,omitempty"`
- // Limit the number of pending outbound downstream frames of types PING, SETTINGS and RST_STREAM,
- // preventing high memory utilization when receiving continuous stream of these frames. Exceeding
- // this limit triggers flood mitigation and connection is terminated. The
- // ``http2.outbound_control_flood`` stat tracks the number of terminated connections due to flood
- // mitigation. The default limit is 1000.
- // [#comment:TODO: implement same limits for upstream outbound frames as well.]
- MaxOutboundControlFrames *wrappers.UInt32Value `protobuf:"bytes,8,opt,name=max_outbound_control_frames,json=maxOutboundControlFrames,proto3" json:"max_outbound_control_frames,omitempty"`
- // Limit the number of consecutive inbound frames of types HEADERS, CONTINUATION and DATA with an
- // empty payload and no end stream flag. Those frames have no legitimate use and are abusive, but
- // might be a result of a broken HTTP/2 implementation. The `http2.inbound_empty_frames_flood``
- // stat tracks the number of connections terminated due to flood mitigation.
- // Setting this to 0 will terminate connection upon receiving first frame with an empty payload
- // and no end stream flag. The default limit is 1.
- // [#comment:TODO: implement same limits for upstream inbound frames as well.]
- MaxConsecutiveInboundFramesWithEmptyPayload *wrappers.UInt32Value `protobuf:"bytes,9,opt,name=max_consecutive_inbound_frames_with_empty_payload,json=maxConsecutiveInboundFramesWithEmptyPayload,proto3" json:"max_consecutive_inbound_frames_with_empty_payload,omitempty"`
- // Limit the number of inbound PRIORITY frames allowed per each opened stream. If the number
- // of PRIORITY frames received over the lifetime of connection exceeds the value calculated
- // using this formula::
- //
- // max_inbound_priority_frames_per_stream * (1 + inbound_streams)
- //
- // the connection is terminated. The ``http2.inbound_priority_frames_flood`` stat tracks
- // the number of connections terminated due to flood mitigation. The default limit is 100.
- // [#comment:TODO: implement same limits for upstream inbound frames as well.]
- MaxInboundPriorityFramesPerStream *wrappers.UInt32Value `protobuf:"bytes,10,opt,name=max_inbound_priority_frames_per_stream,json=maxInboundPriorityFramesPerStream,proto3" json:"max_inbound_priority_frames_per_stream,omitempty"`
- // Limit the number of inbound WINDOW_UPDATE frames allowed per DATA frame sent. If the number
- // of WINDOW_UPDATE frames received over the lifetime of connection exceeds the value calculated
- // using this formula::
- //
- // 1 + 2 * (inbound_streams +
- // max_inbound_window_update_frames_per_data_frame_sent * outbound_data_frames)
- //
- // the connection is terminated. The ``http2.inbound_priority_frames_flood`` stat tracks
- // the number of connections terminated due to flood mitigation. The default limit is 10.
- // Setting this to 1 should be enough to support HTTP/2 implementations with basic flow control,
- // but more complex implementations that try to estimate available bandwidth require at least 2.
- // [#comment:TODO: implement same limits for upstream inbound frames as well.]
- MaxInboundWindowUpdateFramesPerDataFrameSent *wrappers.UInt32Value `protobuf:"bytes,11,opt,name=max_inbound_window_update_frames_per_data_frame_sent,json=maxInboundWindowUpdateFramesPerDataFrameSent,proto3" json:"max_inbound_window_update_frames_per_data_frame_sent,omitempty"`
- // Allows invalid HTTP messaging and headers. When this option is disabled (default), then
- // the whole HTTP/2 connection is terminated upon receiving invalid HEADERS frame. However,
- // when this option is enabled, only the offending stream is terminated.
- //
- // See `RFC7540, sec. 8.1 `_ for details.
- StreamErrorOnInvalidHttpMessaging bool `protobuf:"varint,12,opt,name=stream_error_on_invalid_http_messaging,json=streamErrorOnInvalidHttpMessaging,proto3" json:"stream_error_on_invalid_http_messaging,omitempty"`
- // [#not-implemented-hide:]
- // Specifies SETTINGS frame parameters to be sent to the peer, with two exceptions:
- //
- // 1. SETTINGS_ENABLE_PUSH (0x2) is not configurable as HTTP/2 server push is not supported by
- // Envoy.
- //
- // 2. SETTINGS_ENABLE_CONNECT_PROTOCOL (0x8) is only configurable through the named field
- // 'allow_connect'.
- //
- // Note that custom parameters specified through this field can not also be set in the
- // corresponding named parameters:
- //
- // .. code-block:: text
- //
- // ID Field Name
- // ----------------
- // 0x1 hpack_table_size
- // 0x3 max_concurrent_streams
- // 0x4 initial_stream_window_size
- //
- // Collisions will trigger config validation failure on load/update. Likewise, inconsistencies
- // between custom parameters with the same identifier will trigger a failure.
- //
- // See `IANA HTTP/2 Settings
- // `_ for
- // standardized identifiers.
- CustomSettingsParameters []*Http2ProtocolOptions_SettingsParameter `protobuf:"bytes,13,rep,name=custom_settings_parameters,json=customSettingsParameters,proto3" json:"custom_settings_parameters,omitempty"`
-}
-
-func (x *Http2ProtocolOptions) Reset() {
- *x = Http2ProtocolOptions{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[4]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *Http2ProtocolOptions) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*Http2ProtocolOptions) ProtoMessage() {}
-
-func (x *Http2ProtocolOptions) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_protocol_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 Http2ProtocolOptions.ProtoReflect.Descriptor instead.
-func (*Http2ProtocolOptions) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_protocol_proto_rawDescGZIP(), []int{4}
-}
-
-func (x *Http2ProtocolOptions) GetHpackTableSize() *wrappers.UInt32Value {
- if x != nil {
- return x.HpackTableSize
- }
- return nil
-}
-
-func (x *Http2ProtocolOptions) GetMaxConcurrentStreams() *wrappers.UInt32Value {
- if x != nil {
- return x.MaxConcurrentStreams
- }
- return nil
-}
-
-func (x *Http2ProtocolOptions) GetInitialStreamWindowSize() *wrappers.UInt32Value {
- if x != nil {
- return x.InitialStreamWindowSize
- }
- return nil
-}
-
-func (x *Http2ProtocolOptions) GetInitialConnectionWindowSize() *wrappers.UInt32Value {
- if x != nil {
- return x.InitialConnectionWindowSize
- }
- return nil
-}
-
-func (x *Http2ProtocolOptions) GetAllowConnect() bool {
- if x != nil {
- return x.AllowConnect
- }
- return false
-}
-
-func (x *Http2ProtocolOptions) GetAllowMetadata() bool {
- if x != nil {
- return x.AllowMetadata
- }
- return false
-}
-
-func (x *Http2ProtocolOptions) GetMaxOutboundFrames() *wrappers.UInt32Value {
- if x != nil {
- return x.MaxOutboundFrames
- }
- return nil
-}
-
-func (x *Http2ProtocolOptions) GetMaxOutboundControlFrames() *wrappers.UInt32Value {
- if x != nil {
- return x.MaxOutboundControlFrames
- }
- return nil
-}
-
-func (x *Http2ProtocolOptions) GetMaxConsecutiveInboundFramesWithEmptyPayload() *wrappers.UInt32Value {
- if x != nil {
- return x.MaxConsecutiveInboundFramesWithEmptyPayload
- }
- return nil
-}
-
-func (x *Http2ProtocolOptions) GetMaxInboundPriorityFramesPerStream() *wrappers.UInt32Value {
- if x != nil {
- return x.MaxInboundPriorityFramesPerStream
- }
- return nil
-}
-
-func (x *Http2ProtocolOptions) GetMaxInboundWindowUpdateFramesPerDataFrameSent() *wrappers.UInt32Value {
- if x != nil {
- return x.MaxInboundWindowUpdateFramesPerDataFrameSent
- }
- return nil
-}
-
-func (x *Http2ProtocolOptions) GetStreamErrorOnInvalidHttpMessaging() bool {
- if x != nil {
- return x.StreamErrorOnInvalidHttpMessaging
- }
- return false
-}
-
-func (x *Http2ProtocolOptions) GetCustomSettingsParameters() []*Http2ProtocolOptions_SettingsParameter {
- if x != nil {
- return x.CustomSettingsParameters
- }
- return nil
-}
-
-// [#not-implemented-hide:]
-type GrpcProtocolOptions struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- Http2ProtocolOptions *Http2ProtocolOptions `protobuf:"bytes,1,opt,name=http2_protocol_options,json=http2ProtocolOptions,proto3" json:"http2_protocol_options,omitempty"`
-}
-
-func (x *GrpcProtocolOptions) Reset() {
- *x = GrpcProtocolOptions{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[5]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *GrpcProtocolOptions) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*GrpcProtocolOptions) ProtoMessage() {}
-
-func (x *GrpcProtocolOptions) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_protocol_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 GrpcProtocolOptions.ProtoReflect.Descriptor instead.
-func (*GrpcProtocolOptions) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_protocol_proto_rawDescGZIP(), []int{5}
-}
-
-func (x *GrpcProtocolOptions) GetHttp2ProtocolOptions() *Http2ProtocolOptions {
- if x != nil {
- return x.Http2ProtocolOptions
- }
- return nil
-}
-
-type Http1ProtocolOptions_HeaderKeyFormat struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // Types that are assignable to HeaderFormat:
- // *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords_
- HeaderFormat isHttp1ProtocolOptions_HeaderKeyFormat_HeaderFormat `protobuf_oneof:"header_format"`
-}
-
-func (x *Http1ProtocolOptions_HeaderKeyFormat) Reset() {
- *x = Http1ProtocolOptions_HeaderKeyFormat{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[6]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *Http1ProtocolOptions_HeaderKeyFormat) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*Http1ProtocolOptions_HeaderKeyFormat) ProtoMessage() {}
-
-func (x *Http1ProtocolOptions_HeaderKeyFormat) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_protocol_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 Http1ProtocolOptions_HeaderKeyFormat.ProtoReflect.Descriptor instead.
-func (*Http1ProtocolOptions_HeaderKeyFormat) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_protocol_proto_rawDescGZIP(), []int{3, 0}
-}
-
-func (m *Http1ProtocolOptions_HeaderKeyFormat) GetHeaderFormat() isHttp1ProtocolOptions_HeaderKeyFormat_HeaderFormat {
- if m != nil {
- return m.HeaderFormat
- }
- return nil
-}
-
-func (x *Http1ProtocolOptions_HeaderKeyFormat) GetProperCaseWords() *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords {
- if x, ok := x.GetHeaderFormat().(*Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords_); ok {
- return x.ProperCaseWords
- }
- return nil
-}
-
-type isHttp1ProtocolOptions_HeaderKeyFormat_HeaderFormat interface {
- isHttp1ProtocolOptions_HeaderKeyFormat_HeaderFormat()
-}
-
-type Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords_ struct {
- // Formats the header by proper casing words: the first character and any character following
- // a special character will be capitalized if it's an alpha character. For example,
- // "content-type" becomes "Content-Type", and "foo$b#$are" becomes "Foo$B#$Are".
- // Note that while this results in most headers following conventional casing, certain headers
- // are not covered. For example, the "TE" header will be formatted as "Te".
- ProperCaseWords *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords `protobuf:"bytes,1,opt,name=proper_case_words,json=properCaseWords,proto3,oneof"`
-}
-
-func (*Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords_) isHttp1ProtocolOptions_HeaderKeyFormat_HeaderFormat() {
-}
-
-type Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-}
-
-func (x *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords) Reset() {
- *x = Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[7]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords) ProtoMessage() {}
-
-func (x *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_protocol_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 Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords.ProtoReflect.Descriptor instead.
-func (*Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_protocol_proto_rawDescGZIP(), []int{3, 0, 0}
-}
-
-// Defines a parameter to be sent in the SETTINGS frame.
-// See `RFC7540, sec. 6.5.1 `_ for details.
-type Http2ProtocolOptions_SettingsParameter struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // The 16 bit parameter identifier.
- Identifier *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"`
- // The 32 bit parameter value.
- Value *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
-}
-
-func (x *Http2ProtocolOptions_SettingsParameter) Reset() {
- *x = Http2ProtocolOptions_SettingsParameter{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[8]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *Http2ProtocolOptions_SettingsParameter) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*Http2ProtocolOptions_SettingsParameter) ProtoMessage() {}
-
-func (x *Http2ProtocolOptions_SettingsParameter) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_protocol_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 Http2ProtocolOptions_SettingsParameter.ProtoReflect.Descriptor instead.
-func (*Http2ProtocolOptions_SettingsParameter) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_protocol_proto_rawDescGZIP(), []int{4, 0}
-}
-
-func (x *Http2ProtocolOptions_SettingsParameter) GetIdentifier() *wrappers.UInt32Value {
- if x != nil {
- return x.Identifier
- }
- return nil
-}
-
-func (x *Http2ProtocolOptions_SettingsParameter) GetValue() *wrappers.UInt32Value {
- if x != nil {
- return x.Value
- }
- return nil
-}
-
-var File_envoy_api_v2_core_protocol_proto protoreflect.FileDescriptor
-
-var file_envoy_api_v2_core_protocol_proto_rawDesc = []byte{
- 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63,
- 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32,
- 0x2e, 0x63, 0x6f, 0x72, 0x65, 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, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f,
- 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f,
- 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76,
- 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, 0x0a,
- 0x12, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69,
- 0x6f, 0x6e, 0x73, 0x22, 0x68, 0x0a, 0x1b, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48,
- 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f,
- 0x6e, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x6e, 0x69, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x6e, 0x69, 0x12, 0x2e, 0x0a,
- 0x13, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x61, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61, 0x75, 0x74, 0x6f,
- 0x53, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa1, 0x04,
- 0x0a, 0x13, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70,
- 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69,
- 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 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, 0x51, 0x0a, 0x17, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
- 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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,
- 0x15, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75,
- 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x68, 0x65,
- 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 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,
- 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x48, 0x65, 0x61,
- 0x64, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x13, 0x6d, 0x61, 0x78,
- 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 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, 0x11, 0x6d, 0x61, 0x78, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x75, 0x72, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x8a, 0x01, 0x0a, 0x1f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73,
- 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65,
- 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x43,
- 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f,
- 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f,
- 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x57, 0x69,
- 0x74, 0x68, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x63, 0x74,
- 0x69, 0x6f, 0x6e, 0x52, 0x1c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68,
- 0x55, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f,
- 0x6e, 0x22, 0x4e, 0x0a, 0x1c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68,
- 0x55, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f,
- 0x6e, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e,
- 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x01,
- 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x52, 0x4f, 0x50, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10,
- 0x02, 0x22, 0x80, 0x04, 0x0a, 0x14, 0x48, 0x74, 0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f,
- 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x48, 0x0a, 0x12, 0x61, 0x6c,
- 0x6c, 0x6f, 0x77, 0x5f, 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6c,
- 0x18, 0x01, 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, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74,
- 0x65, 0x55, 0x72, 0x6c, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x68,
- 0x74, 0x74, 0x70, 0x5f, 0x31, 0x30, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x63,
- 0x63, 0x65, 0x70, 0x74, 0x48, 0x74, 0x74, 0x70, 0x31, 0x30, 0x12, 0x36, 0x0a, 0x18, 0x64, 0x65,
- 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x68,
- 0x74, 0x74, 0x70, 0x5f, 0x31, 0x30, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x64, 0x65,
- 0x66, 0x61, 0x75, 0x6c, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x48, 0x74, 0x74, 0x70,
- 0x31, 0x30, 0x12, 0x63, 0x0a, 0x11, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79,
- 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e,
- 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72,
- 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f,
- 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79,
- 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x0f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4b, 0x65,
- 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c,
- 0x65, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08,
- 0x52, 0x0e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73,
- 0x1a, 0xb1, 0x01, 0x0a, 0x0f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x46, 0x6f,
- 0x72, 0x6d, 0x61, 0x74, 0x12, 0x75, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x5f, 0x63,
- 0x61, 0x73, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x47, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63,
- 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
- 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4b,
- 0x65, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x43,
- 0x61, 0x73, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x70,
- 0x65, 0x72, 0x43, 0x61, 0x73, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x1a, 0x11, 0x0a, 0x0f, 0x50,
- 0x72, 0x6f, 0x70, 0x65, 0x72, 0x43, 0x61, 0x73, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x42, 0x14,
- 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12,
- 0x03, 0xf8, 0x42, 0x01, 0x22, 0xa9, 0x0b, 0x0a, 0x14, 0x48, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72,
- 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a,
- 0x10, 0x68, 0x70, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a,
- 0x65, 0x18, 0x01, 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, 0x0e, 0x68, 0x70, 0x61, 0x63, 0x6b, 0x54, 0x61, 0x62, 0x6c,
- 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x61, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e,
- 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18,
- 0x02, 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, 0x0d, 0xfa, 0x42, 0x0a, 0x2a, 0x08, 0x18, 0xff, 0xff, 0xff, 0xff, 0x07,
- 0x28, 0x01, 0x52, 0x14, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e,
- 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x6a, 0x0a, 0x1a, 0x69, 0x6e, 0x69, 0x74,
- 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f,
- 0x77, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 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, 0x0f, 0xfa, 0x42, 0x0c, 0x2a,
- 0x0a, 0x18, 0xff, 0xff, 0xff, 0xff, 0x07, 0x28, 0xff, 0xff, 0x03, 0x52, 0x17, 0x69, 0x6e, 0x69,
- 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77,
- 0x53, 0x69, 0x7a, 0x65, 0x12, 0x72, 0x0a, 0x1e, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f,
- 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f,
- 0x77, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 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, 0x0f, 0xfa, 0x42, 0x0c, 0x2a,
- 0x0a, 0x18, 0xff, 0xff, 0xff, 0xff, 0x07, 0x28, 0xff, 0xff, 0x03, 0x52, 0x1b, 0x69, 0x6e, 0x69,
- 0x74, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x69,
- 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f,
- 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52,
- 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a,
- 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18,
- 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x61,
- 0x64, 0x61, 0x74, 0x61, 0x12, 0x55, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x62,
- 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 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, 0x42,
- 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x4f, 0x75, 0x74,
- 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x64, 0x0a, 0x1b, 0x6d,
- 0x61, 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74,
- 0x72, 0x6f, 0x6c, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x08, 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, 0x07,
- 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x18, 0x6d, 0x61, 0x78, 0x4f, 0x75, 0x74, 0x62,
- 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x46, 0x72, 0x61, 0x6d, 0x65,
- 0x73, 0x12, 0x84, 0x01, 0x0a, 0x31, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63,
- 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x66, 0x72,
- 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f,
- 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 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, 0x2b, 0x6d, 0x61, 0x78,
- 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x75,
- 0x6e, 0x64, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x45, 0x6d, 0x70, 0x74,
- 0x79, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x6f, 0x0a, 0x26, 0x6d, 0x61, 0x78, 0x5f,
- 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79,
- 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65,
- 0x61, 0x6d, 0x18, 0x0a, 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, 0x21, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x62, 0x6f, 0x75,
- 0x6e, 0x64, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73,
- 0x50, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x91, 0x01, 0x0a, 0x34, 0x6d, 0x61,
- 0x78, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77,
- 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x70,
- 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x65,
- 0x6e, 0x74, 0x18, 0x0b, 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, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52,
- 0x2c, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x57, 0x69, 0x6e, 0x64, 0x6f,
- 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x50, 0x65, 0x72,
- 0x44, 0x61, 0x74, 0x61, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x6e, 0x74, 0x12, 0x51, 0x0a,
- 0x26, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6f, 0x6e,
- 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6d, 0x65,
- 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x21, 0x73,
- 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4f, 0x6e, 0x49, 0x6e, 0x76, 0x61,
- 0x6c, 0x69, 0x64, 0x48, 0x74, 0x74, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67,
- 0x12, 0x77, 0x0a, 0x1a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69,
- 0x6e, 0x67, 0x73, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0d,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69,
- 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72,
- 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x65,
- 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52,
- 0x18, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x50,
- 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x1a, 0xa4, 0x01, 0x0a, 0x11, 0x53, 0x65,
- 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12,
- 0x51, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 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, 0x13, 0xfa, 0x42, 0x08, 0x2a, 0x06, 0x18, 0x80, 0x80, 0x04, 0x28, 0x01, 0xfa, 0x42,
- 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69,
- 0x65, 0x72, 0x12, 0x3c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 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,
- 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
- 0x22, 0x74, 0x0a, 0x13, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
- 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5d, 0x0a, 0x16, 0x68, 0x74, 0x74, 0x70, 0x32,
- 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
- 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
- 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70,
- 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
- 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f,
- 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x90, 0x01, 0x0a, 0x1f, 0x69, 0x6f, 0x2e, 0x65, 0x6e,
- 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61,
- 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x50, 0x72, 0x6f, 0x74,
- 0x6f, 0x63, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x69, 0x74,
- 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f,
- 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c,
- 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32,
- 0x2f, 0x63, 0x6f, 0x72, 0x65, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x16, 0x12, 0x14, 0x65, 0x6e, 0x76,
- 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76,
- 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x33,
-}
-
-var (
- file_envoy_api_v2_core_protocol_proto_rawDescOnce sync.Once
- file_envoy_api_v2_core_protocol_proto_rawDescData = file_envoy_api_v2_core_protocol_proto_rawDesc
-)
-
-func file_envoy_api_v2_core_protocol_proto_rawDescGZIP() []byte {
- file_envoy_api_v2_core_protocol_proto_rawDescOnce.Do(func() {
- file_envoy_api_v2_core_protocol_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_core_protocol_proto_rawDescData)
- })
- return file_envoy_api_v2_core_protocol_proto_rawDescData
-}
-
-var file_envoy_api_v2_core_protocol_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
-var file_envoy_api_v2_core_protocol_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
-var file_envoy_api_v2_core_protocol_proto_goTypes = []interface{}{
- (HttpProtocolOptions_HeadersWithUnderscoresAction)(0), // 0: envoy.api.v2.core.HttpProtocolOptions.HeadersWithUnderscoresAction
- (*TcpProtocolOptions)(nil), // 1: envoy.api.v2.core.TcpProtocolOptions
- (*UpstreamHttpProtocolOptions)(nil), // 2: envoy.api.v2.core.UpstreamHttpProtocolOptions
- (*HttpProtocolOptions)(nil), // 3: envoy.api.v2.core.HttpProtocolOptions
- (*Http1ProtocolOptions)(nil), // 4: envoy.api.v2.core.Http1ProtocolOptions
- (*Http2ProtocolOptions)(nil), // 5: envoy.api.v2.core.Http2ProtocolOptions
- (*GrpcProtocolOptions)(nil), // 6: envoy.api.v2.core.GrpcProtocolOptions
- (*Http1ProtocolOptions_HeaderKeyFormat)(nil), // 7: envoy.api.v2.core.Http1ProtocolOptions.HeaderKeyFormat
- (*Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords)(nil), // 8: envoy.api.v2.core.Http1ProtocolOptions.HeaderKeyFormat.ProperCaseWords
- (*Http2ProtocolOptions_SettingsParameter)(nil), // 9: envoy.api.v2.core.Http2ProtocolOptions.SettingsParameter
- (*duration.Duration)(nil), // 10: google.protobuf.Duration
- (*wrappers.UInt32Value)(nil), // 11: google.protobuf.UInt32Value
- (*wrappers.BoolValue)(nil), // 12: google.protobuf.BoolValue
-}
-var file_envoy_api_v2_core_protocol_proto_depIdxs = []int32{
- 10, // 0: envoy.api.v2.core.HttpProtocolOptions.idle_timeout:type_name -> google.protobuf.Duration
- 10, // 1: envoy.api.v2.core.HttpProtocolOptions.max_connection_duration:type_name -> google.protobuf.Duration
- 11, // 2: envoy.api.v2.core.HttpProtocolOptions.max_headers_count:type_name -> google.protobuf.UInt32Value
- 10, // 3: envoy.api.v2.core.HttpProtocolOptions.max_stream_duration:type_name -> google.protobuf.Duration
- 0, // 4: envoy.api.v2.core.HttpProtocolOptions.headers_with_underscores_action:type_name -> envoy.api.v2.core.HttpProtocolOptions.HeadersWithUnderscoresAction
- 12, // 5: envoy.api.v2.core.Http1ProtocolOptions.allow_absolute_url:type_name -> google.protobuf.BoolValue
- 7, // 6: envoy.api.v2.core.Http1ProtocolOptions.header_key_format:type_name -> envoy.api.v2.core.Http1ProtocolOptions.HeaderKeyFormat
- 11, // 7: envoy.api.v2.core.Http2ProtocolOptions.hpack_table_size:type_name -> google.protobuf.UInt32Value
- 11, // 8: envoy.api.v2.core.Http2ProtocolOptions.max_concurrent_streams:type_name -> google.protobuf.UInt32Value
- 11, // 9: envoy.api.v2.core.Http2ProtocolOptions.initial_stream_window_size:type_name -> google.protobuf.UInt32Value
- 11, // 10: envoy.api.v2.core.Http2ProtocolOptions.initial_connection_window_size:type_name -> google.protobuf.UInt32Value
- 11, // 11: envoy.api.v2.core.Http2ProtocolOptions.max_outbound_frames:type_name -> google.protobuf.UInt32Value
- 11, // 12: envoy.api.v2.core.Http2ProtocolOptions.max_outbound_control_frames:type_name -> google.protobuf.UInt32Value
- 11, // 13: envoy.api.v2.core.Http2ProtocolOptions.max_consecutive_inbound_frames_with_empty_payload:type_name -> google.protobuf.UInt32Value
- 11, // 14: envoy.api.v2.core.Http2ProtocolOptions.max_inbound_priority_frames_per_stream:type_name -> google.protobuf.UInt32Value
- 11, // 15: envoy.api.v2.core.Http2ProtocolOptions.max_inbound_window_update_frames_per_data_frame_sent:type_name -> google.protobuf.UInt32Value
- 9, // 16: envoy.api.v2.core.Http2ProtocolOptions.custom_settings_parameters:type_name -> envoy.api.v2.core.Http2ProtocolOptions.SettingsParameter
- 5, // 17: envoy.api.v2.core.GrpcProtocolOptions.http2_protocol_options:type_name -> envoy.api.v2.core.Http2ProtocolOptions
- 8, // 18: envoy.api.v2.core.Http1ProtocolOptions.HeaderKeyFormat.proper_case_words:type_name -> envoy.api.v2.core.Http1ProtocolOptions.HeaderKeyFormat.ProperCaseWords
- 11, // 19: envoy.api.v2.core.Http2ProtocolOptions.SettingsParameter.identifier:type_name -> google.protobuf.UInt32Value
- 11, // 20: envoy.api.v2.core.Http2ProtocolOptions.SettingsParameter.value:type_name -> google.protobuf.UInt32Value
- 21, // [21:21] is the sub-list for method output_type
- 21, // [21:21] is the sub-list for method input_type
- 21, // [21:21] is the sub-list for extension type_name
- 21, // [21:21] is the sub-list for extension extendee
- 0, // [0:21] is the sub-list for field type_name
-}
-
-func init() { file_envoy_api_v2_core_protocol_proto_init() }
-func file_envoy_api_v2_core_protocol_proto_init() {
- if File_envoy_api_v2_core_protocol_proto != nil {
- return
- }
- if !protoimpl.UnsafeEnabled {
- file_envoy_api_v2_core_protocol_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*TcpProtocolOptions); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_protocol_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*UpstreamHttpProtocolOptions); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_protocol_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*HttpProtocolOptions); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_protocol_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*Http1ProtocolOptions); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_protocol_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*Http2ProtocolOptions); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_protocol_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GrpcProtocolOptions); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_protocol_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*Http1ProtocolOptions_HeaderKeyFormat); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_protocol_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_api_v2_core_protocol_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*Http2ProtocolOptions_SettingsParameter); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- }
- file_envoy_api_v2_core_protocol_proto_msgTypes[6].OneofWrappers = []interface{}{
- (*Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords_)(nil),
- }
- type x struct{}
- out := protoimpl.TypeBuilder{
- File: protoimpl.DescBuilder{
- GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
- RawDescriptor: file_envoy_api_v2_core_protocol_proto_rawDesc,
- NumEnums: 1,
- NumMessages: 9,
- NumExtensions: 0,
- NumServices: 0,
- },
- GoTypes: file_envoy_api_v2_core_protocol_proto_goTypes,
- DependencyIndexes: file_envoy_api_v2_core_protocol_proto_depIdxs,
- EnumInfos: file_envoy_api_v2_core_protocol_proto_enumTypes,
- MessageInfos: file_envoy_api_v2_core_protocol_proto_msgTypes,
- }.Build()
- File_envoy_api_v2_core_protocol_proto = out.File
- file_envoy_api_v2_core_protocol_proto_rawDesc = nil
- file_envoy_api_v2_core_protocol_proto_goTypes = nil
- file_envoy_api_v2_core_protocol_proto_depIdxs = nil
-}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/protocol.pb.validate.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/protocol.pb.validate.go
deleted file mode 100644
index 120ddfa2b4..0000000000
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/protocol.pb.validate.go
+++ /dev/null
@@ -1,1501 +0,0 @@
-// Code generated by protoc-gen-validate. DO NOT EDIT.
-// source: envoy/api/v2/core/protocol.proto
-
-package core
-
-import (
- "bytes"
- "errors"
- "fmt"
- "net"
- "net/mail"
- "net/url"
- "regexp"
- "sort"
- "strings"
- "time"
- "unicode/utf8"
-
- "google.golang.org/protobuf/types/known/anypb"
-)
-
-// ensure the imports are used
-var (
- _ = bytes.MinRead
- _ = errors.New("")
- _ = fmt.Print
- _ = utf8.UTFMax
- _ = (*regexp.Regexp)(nil)
- _ = (*strings.Reader)(nil)
- _ = net.IPv4len
- _ = time.Duration(0)
- _ = (*url.URL)(nil)
- _ = (*mail.Address)(nil)
- _ = anypb.Any{}
- _ = sort.Sort
-)
-
-// Validate checks the field values on TcpProtocolOptions with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *TcpProtocolOptions) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on TcpProtocolOptions with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// TcpProtocolOptionsMultiError, or nil if none found.
-func (m *TcpProtocolOptions) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *TcpProtocolOptions) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if len(errors) > 0 {
- return TcpProtocolOptionsMultiError(errors)
- }
-
- return nil
-}
-
-// TcpProtocolOptionsMultiError is an error wrapping multiple validation errors
-// returned by TcpProtocolOptions.ValidateAll() if the designated constraints
-// aren't met.
-type TcpProtocolOptionsMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m TcpProtocolOptionsMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m TcpProtocolOptionsMultiError) AllErrors() []error { return m }
-
-// TcpProtocolOptionsValidationError is the validation error returned by
-// TcpProtocolOptions.Validate if the designated constraints aren't met.
-type TcpProtocolOptionsValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e TcpProtocolOptionsValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e TcpProtocolOptionsValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e TcpProtocolOptionsValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e TcpProtocolOptionsValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e TcpProtocolOptionsValidationError) ErrorName() string {
- return "TcpProtocolOptionsValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e TcpProtocolOptionsValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sTcpProtocolOptions.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = TcpProtocolOptionsValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = TcpProtocolOptionsValidationError{}
-
-// Validate checks the field values on UpstreamHttpProtocolOptions with the
-// rules defined in the proto definition for this message. If any rules are
-// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *UpstreamHttpProtocolOptions) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on UpstreamHttpProtocolOptions with the
-// rules defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// UpstreamHttpProtocolOptionsMultiError, or nil if none found.
-func (m *UpstreamHttpProtocolOptions) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *UpstreamHttpProtocolOptions) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- // no validation rules for AutoSni
-
- // no validation rules for AutoSanValidation
-
- if len(errors) > 0 {
- return UpstreamHttpProtocolOptionsMultiError(errors)
- }
-
- return nil
-}
-
-// UpstreamHttpProtocolOptionsMultiError is an error wrapping multiple
-// validation errors returned by UpstreamHttpProtocolOptions.ValidateAll() if
-// the designated constraints aren't met.
-type UpstreamHttpProtocolOptionsMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m UpstreamHttpProtocolOptionsMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m UpstreamHttpProtocolOptionsMultiError) AllErrors() []error { return m }
-
-// UpstreamHttpProtocolOptionsValidationError is the validation error returned
-// by UpstreamHttpProtocolOptions.Validate if the designated constraints
-// aren't met.
-type UpstreamHttpProtocolOptionsValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e UpstreamHttpProtocolOptionsValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e UpstreamHttpProtocolOptionsValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e UpstreamHttpProtocolOptionsValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e UpstreamHttpProtocolOptionsValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e UpstreamHttpProtocolOptionsValidationError) ErrorName() string {
- return "UpstreamHttpProtocolOptionsValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e UpstreamHttpProtocolOptionsValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sUpstreamHttpProtocolOptions.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = UpstreamHttpProtocolOptionsValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = UpstreamHttpProtocolOptionsValidationError{}
-
-// Validate checks the field values on HttpProtocolOptions with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *HttpProtocolOptions) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on HttpProtocolOptions with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// HttpProtocolOptionsMultiError, or nil if none found.
-func (m *HttpProtocolOptions) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *HttpProtocolOptions) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if all {
- switch v := interface{}(m.GetIdleTimeout()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, HttpProtocolOptionsValidationError{
- field: "IdleTimeout",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, HttpProtocolOptionsValidationError{
- field: "IdleTimeout",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetIdleTimeout()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return HttpProtocolOptionsValidationError{
- field: "IdleTimeout",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetMaxConnectionDuration()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, HttpProtocolOptionsValidationError{
- field: "MaxConnectionDuration",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, HttpProtocolOptionsValidationError{
- field: "MaxConnectionDuration",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetMaxConnectionDuration()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return HttpProtocolOptionsValidationError{
- field: "MaxConnectionDuration",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if wrapper := m.GetMaxHeadersCount(); wrapper != nil {
-
- if wrapper.GetValue() < 1 {
- err := HttpProtocolOptionsValidationError{
- field: "MaxHeadersCount",
- reason: "value must be greater than or equal to 1",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- }
-
- if all {
- switch v := interface{}(m.GetMaxStreamDuration()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, HttpProtocolOptionsValidationError{
- field: "MaxStreamDuration",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, HttpProtocolOptionsValidationError{
- field: "MaxStreamDuration",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetMaxStreamDuration()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return HttpProtocolOptionsValidationError{
- field: "MaxStreamDuration",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- // no validation rules for HeadersWithUnderscoresAction
-
- if len(errors) > 0 {
- return HttpProtocolOptionsMultiError(errors)
- }
-
- return nil
-}
-
-// HttpProtocolOptionsMultiError is an error wrapping multiple validation
-// errors returned by HttpProtocolOptions.ValidateAll() if the designated
-// constraints aren't met.
-type HttpProtocolOptionsMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m HttpProtocolOptionsMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m HttpProtocolOptionsMultiError) AllErrors() []error { return m }
-
-// HttpProtocolOptionsValidationError is the validation error returned by
-// HttpProtocolOptions.Validate if the designated constraints aren't met.
-type HttpProtocolOptionsValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e HttpProtocolOptionsValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e HttpProtocolOptionsValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e HttpProtocolOptionsValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e HttpProtocolOptionsValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e HttpProtocolOptionsValidationError) ErrorName() string {
- return "HttpProtocolOptionsValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e HttpProtocolOptionsValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sHttpProtocolOptions.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = HttpProtocolOptionsValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = HttpProtocolOptionsValidationError{}
-
-// Validate checks the field values on Http1ProtocolOptions with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *Http1ProtocolOptions) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on Http1ProtocolOptions with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// Http1ProtocolOptionsMultiError, or nil if none found.
-func (m *Http1ProtocolOptions) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *Http1ProtocolOptions) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if all {
- switch v := interface{}(m.GetAllowAbsoluteUrl()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, Http1ProtocolOptionsValidationError{
- field: "AllowAbsoluteUrl",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, Http1ProtocolOptionsValidationError{
- field: "AllowAbsoluteUrl",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetAllowAbsoluteUrl()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return Http1ProtocolOptionsValidationError{
- field: "AllowAbsoluteUrl",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- // no validation rules for AcceptHttp_10
-
- // no validation rules for DefaultHostForHttp_10
-
- if all {
- switch v := interface{}(m.GetHeaderKeyFormat()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, Http1ProtocolOptionsValidationError{
- field: "HeaderKeyFormat",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, Http1ProtocolOptionsValidationError{
- field: "HeaderKeyFormat",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetHeaderKeyFormat()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return Http1ProtocolOptionsValidationError{
- field: "HeaderKeyFormat",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- // no validation rules for EnableTrailers
-
- if len(errors) > 0 {
- return Http1ProtocolOptionsMultiError(errors)
- }
-
- return nil
-}
-
-// Http1ProtocolOptionsMultiError is an error wrapping multiple validation
-// errors returned by Http1ProtocolOptions.ValidateAll() if the designated
-// constraints aren't met.
-type Http1ProtocolOptionsMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m Http1ProtocolOptionsMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m Http1ProtocolOptionsMultiError) AllErrors() []error { return m }
-
-// Http1ProtocolOptionsValidationError is the validation error returned by
-// Http1ProtocolOptions.Validate if the designated constraints aren't met.
-type Http1ProtocolOptionsValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e Http1ProtocolOptionsValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e Http1ProtocolOptionsValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e Http1ProtocolOptionsValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e Http1ProtocolOptionsValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e Http1ProtocolOptionsValidationError) ErrorName() string {
- return "Http1ProtocolOptionsValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e Http1ProtocolOptionsValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sHttp1ProtocolOptions.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = Http1ProtocolOptionsValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = Http1ProtocolOptionsValidationError{}
-
-// Validate checks the field values on Http2ProtocolOptions with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *Http2ProtocolOptions) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on Http2ProtocolOptions with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// Http2ProtocolOptionsMultiError, or nil if none found.
-func (m *Http2ProtocolOptions) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *Http2ProtocolOptions) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if all {
- switch v := interface{}(m.GetHpackTableSize()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, Http2ProtocolOptionsValidationError{
- field: "HpackTableSize",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, Http2ProtocolOptionsValidationError{
- field: "HpackTableSize",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetHpackTableSize()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return Http2ProtocolOptionsValidationError{
- field: "HpackTableSize",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if wrapper := m.GetMaxConcurrentStreams(); wrapper != nil {
-
- if val := wrapper.GetValue(); val < 1 || val > 2147483647 {
- err := Http2ProtocolOptionsValidationError{
- field: "MaxConcurrentStreams",
- reason: "value must be inside range [1, 2147483647]",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- }
-
- if wrapper := m.GetInitialStreamWindowSize(); wrapper != nil {
-
- if val := wrapper.GetValue(); val < 65535 || val > 2147483647 {
- err := Http2ProtocolOptionsValidationError{
- field: "InitialStreamWindowSize",
- reason: "value must be inside range [65535, 2147483647]",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- }
-
- if wrapper := m.GetInitialConnectionWindowSize(); wrapper != nil {
-
- if val := wrapper.GetValue(); val < 65535 || val > 2147483647 {
- err := Http2ProtocolOptionsValidationError{
- field: "InitialConnectionWindowSize",
- reason: "value must be inside range [65535, 2147483647]",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- }
-
- // no validation rules for AllowConnect
-
- // no validation rules for AllowMetadata
-
- if wrapper := m.GetMaxOutboundFrames(); wrapper != nil {
-
- if wrapper.GetValue() < 1 {
- err := Http2ProtocolOptionsValidationError{
- field: "MaxOutboundFrames",
- reason: "value must be greater than or equal to 1",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- }
-
- if wrapper := m.GetMaxOutboundControlFrames(); wrapper != nil {
-
- if wrapper.GetValue() < 1 {
- err := Http2ProtocolOptionsValidationError{
- field: "MaxOutboundControlFrames",
- reason: "value must be greater than or equal to 1",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- }
-
- if all {
- switch v := interface{}(m.GetMaxConsecutiveInboundFramesWithEmptyPayload()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, Http2ProtocolOptionsValidationError{
- field: "MaxConsecutiveInboundFramesWithEmptyPayload",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, Http2ProtocolOptionsValidationError{
- field: "MaxConsecutiveInboundFramesWithEmptyPayload",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetMaxConsecutiveInboundFramesWithEmptyPayload()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return Http2ProtocolOptionsValidationError{
- field: "MaxConsecutiveInboundFramesWithEmptyPayload",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetMaxInboundPriorityFramesPerStream()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, Http2ProtocolOptionsValidationError{
- field: "MaxInboundPriorityFramesPerStream",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, Http2ProtocolOptionsValidationError{
- field: "MaxInboundPriorityFramesPerStream",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetMaxInboundPriorityFramesPerStream()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return Http2ProtocolOptionsValidationError{
- field: "MaxInboundPriorityFramesPerStream",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if wrapper := m.GetMaxInboundWindowUpdateFramesPerDataFrameSent(); wrapper != nil {
-
- if wrapper.GetValue() < 1 {
- err := Http2ProtocolOptionsValidationError{
- field: "MaxInboundWindowUpdateFramesPerDataFrameSent",
- reason: "value must be greater than or equal to 1",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- }
-
- // no validation rules for StreamErrorOnInvalidHttpMessaging
-
- for idx, item := range m.GetCustomSettingsParameters() {
- _, _ = idx, item
-
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, Http2ProtocolOptionsValidationError{
- field: fmt.Sprintf("CustomSettingsParameters[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, Http2ProtocolOptionsValidationError{
- field: fmt.Sprintf("CustomSettingsParameters[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return Http2ProtocolOptionsValidationError{
- field: fmt.Sprintf("CustomSettingsParameters[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
-
- if len(errors) > 0 {
- return Http2ProtocolOptionsMultiError(errors)
- }
-
- return nil
-}
-
-// Http2ProtocolOptionsMultiError is an error wrapping multiple validation
-// errors returned by Http2ProtocolOptions.ValidateAll() if the designated
-// constraints aren't met.
-type Http2ProtocolOptionsMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m Http2ProtocolOptionsMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m Http2ProtocolOptionsMultiError) AllErrors() []error { return m }
-
-// Http2ProtocolOptionsValidationError is the validation error returned by
-// Http2ProtocolOptions.Validate if the designated constraints aren't met.
-type Http2ProtocolOptionsValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e Http2ProtocolOptionsValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e Http2ProtocolOptionsValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e Http2ProtocolOptionsValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e Http2ProtocolOptionsValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e Http2ProtocolOptionsValidationError) ErrorName() string {
- return "Http2ProtocolOptionsValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e Http2ProtocolOptionsValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sHttp2ProtocolOptions.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = Http2ProtocolOptionsValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = Http2ProtocolOptionsValidationError{}
-
-// Validate checks the field values on GrpcProtocolOptions with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *GrpcProtocolOptions) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on GrpcProtocolOptions with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// GrpcProtocolOptionsMultiError, or nil if none found.
-func (m *GrpcProtocolOptions) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *GrpcProtocolOptions) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if all {
- switch v := interface{}(m.GetHttp2ProtocolOptions()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, GrpcProtocolOptionsValidationError{
- field: "Http2ProtocolOptions",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, GrpcProtocolOptionsValidationError{
- field: "Http2ProtocolOptions",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetHttp2ProtocolOptions()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return GrpcProtocolOptionsValidationError{
- field: "Http2ProtocolOptions",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if len(errors) > 0 {
- return GrpcProtocolOptionsMultiError(errors)
- }
-
- return nil
-}
-
-// GrpcProtocolOptionsMultiError is an error wrapping multiple validation
-// errors returned by GrpcProtocolOptions.ValidateAll() if the designated
-// constraints aren't met.
-type GrpcProtocolOptionsMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m GrpcProtocolOptionsMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m GrpcProtocolOptionsMultiError) AllErrors() []error { return m }
-
-// GrpcProtocolOptionsValidationError is the validation error returned by
-// GrpcProtocolOptions.Validate if the designated constraints aren't met.
-type GrpcProtocolOptionsValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e GrpcProtocolOptionsValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e GrpcProtocolOptionsValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e GrpcProtocolOptionsValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e GrpcProtocolOptionsValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e GrpcProtocolOptionsValidationError) ErrorName() string {
- return "GrpcProtocolOptionsValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e GrpcProtocolOptionsValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sGrpcProtocolOptions.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = GrpcProtocolOptionsValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = GrpcProtocolOptionsValidationError{}
-
-// Validate checks the field values on Http1ProtocolOptions_HeaderKeyFormat
-// with the rules defined in the proto definition for this message. If any
-// rules are violated, the first error encountered is returned, or nil if
-// there are no violations.
-func (m *Http1ProtocolOptions_HeaderKeyFormat) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on Http1ProtocolOptions_HeaderKeyFormat
-// with the rules defined in the proto definition for this message. If any
-// rules are violated, the result is a list of violation errors wrapped in
-// Http1ProtocolOptions_HeaderKeyFormatMultiError, or nil if none found.
-func (m *Http1ProtocolOptions_HeaderKeyFormat) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *Http1ProtocolOptions_HeaderKeyFormat) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- switch m.HeaderFormat.(type) {
-
- case *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords_:
-
- if all {
- switch v := interface{}(m.GetProperCaseWords()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, Http1ProtocolOptions_HeaderKeyFormatValidationError{
- field: "ProperCaseWords",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, Http1ProtocolOptions_HeaderKeyFormatValidationError{
- field: "ProperCaseWords",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetProperCaseWords()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return Http1ProtocolOptions_HeaderKeyFormatValidationError{
- field: "ProperCaseWords",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- default:
- err := Http1ProtocolOptions_HeaderKeyFormatValidationError{
- field: "HeaderFormat",
- reason: "value is required",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
-
- }
-
- if len(errors) > 0 {
- return Http1ProtocolOptions_HeaderKeyFormatMultiError(errors)
- }
-
- return nil
-}
-
-// Http1ProtocolOptions_HeaderKeyFormatMultiError is an error wrapping multiple
-// validation errors returned by
-// Http1ProtocolOptions_HeaderKeyFormat.ValidateAll() if the designated
-// constraints aren't met.
-type Http1ProtocolOptions_HeaderKeyFormatMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m Http1ProtocolOptions_HeaderKeyFormatMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m Http1ProtocolOptions_HeaderKeyFormatMultiError) AllErrors() []error { return m }
-
-// Http1ProtocolOptions_HeaderKeyFormatValidationError is the validation error
-// returned by Http1ProtocolOptions_HeaderKeyFormat.Validate if the designated
-// constraints aren't met.
-type Http1ProtocolOptions_HeaderKeyFormatValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e Http1ProtocolOptions_HeaderKeyFormatValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e Http1ProtocolOptions_HeaderKeyFormatValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e Http1ProtocolOptions_HeaderKeyFormatValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e Http1ProtocolOptions_HeaderKeyFormatValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e Http1ProtocolOptions_HeaderKeyFormatValidationError) ErrorName() string {
- return "Http1ProtocolOptions_HeaderKeyFormatValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e Http1ProtocolOptions_HeaderKeyFormatValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sHttp1ProtocolOptions_HeaderKeyFormat.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = Http1ProtocolOptions_HeaderKeyFormatValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = Http1ProtocolOptions_HeaderKeyFormatValidationError{}
-
-// Validate checks the field values on
-// Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords with the rules defined
-// in the proto definition for this message. If any rules are violated, the
-// first error encountered is returned, or nil if there are no violations.
-func (m *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on
-// Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords with the rules defined
-// in the proto definition for this message. If any rules are violated, the
-// result is a list of violation errors wrapped in
-// Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsMultiError, or nil if
-// none found.
-func (m *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if len(errors) > 0 {
- return Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsMultiError(errors)
- }
-
- return nil
-}
-
-// Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsMultiError is an error
-// wrapping multiple validation errors returned by
-// Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords.ValidateAll() if the
-// designated constraints aren't met.
-type Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsMultiError) AllErrors() []error { return m }
-
-// Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError is the
-// validation error returned by
-// Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords.Validate if the
-// designated constraints aren't met.
-type Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError) Field() string {
- return e.field
-}
-
-// Reason function returns reason value.
-func (e Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError) Reason() string {
- return e.reason
-}
-
-// Cause function returns cause value.
-func (e Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError) Cause() error {
- return e.cause
-}
-
-// Key function returns key value.
-func (e Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError) ErrorName() string {
- return "Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sHttp1ProtocolOptions_HeaderKeyFormat_ProperCaseWords.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError{}
-
-// Validate checks the field values on Http2ProtocolOptions_SettingsParameter
-// with the rules defined in the proto definition for this message. If any
-// rules are violated, the first error encountered is returned, or nil if
-// there are no violations.
-func (m *Http2ProtocolOptions_SettingsParameter) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on
-// Http2ProtocolOptions_SettingsParameter with the rules defined in the proto
-// definition for this message. If any rules are violated, the result is a
-// list of violation errors wrapped in
-// Http2ProtocolOptions_SettingsParameterMultiError, or nil if none found.
-func (m *Http2ProtocolOptions_SettingsParameter) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *Http2ProtocolOptions_SettingsParameter) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if wrapper := m.GetIdentifier(); wrapper != nil {
-
- if val := wrapper.GetValue(); val < 1 || val > 65536 {
- err := Http2ProtocolOptions_SettingsParameterValidationError{
- field: "Identifier",
- reason: "value must be inside range [1, 65536]",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- } else {
- err := Http2ProtocolOptions_SettingsParameterValidationError{
- field: "Identifier",
- reason: "value is required and must not be nil.",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if m.GetValue() == nil {
- err := Http2ProtocolOptions_SettingsParameterValidationError{
- field: "Value",
- reason: "value is required",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if all {
- switch v := interface{}(m.GetValue()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, Http2ProtocolOptions_SettingsParameterValidationError{
- field: "Value",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, Http2ProtocolOptions_SettingsParameterValidationError{
- field: "Value",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetValue()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return Http2ProtocolOptions_SettingsParameterValidationError{
- field: "Value",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if len(errors) > 0 {
- return Http2ProtocolOptions_SettingsParameterMultiError(errors)
- }
-
- return nil
-}
-
-// Http2ProtocolOptions_SettingsParameterMultiError is an error wrapping
-// multiple validation errors returned by
-// Http2ProtocolOptions_SettingsParameter.ValidateAll() if the designated
-// constraints aren't met.
-type Http2ProtocolOptions_SettingsParameterMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m Http2ProtocolOptions_SettingsParameterMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m Http2ProtocolOptions_SettingsParameterMultiError) AllErrors() []error { return m }
-
-// Http2ProtocolOptions_SettingsParameterValidationError is the validation
-// error returned by Http2ProtocolOptions_SettingsParameter.Validate if the
-// designated constraints aren't met.
-type Http2ProtocolOptions_SettingsParameterValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e Http2ProtocolOptions_SettingsParameterValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e Http2ProtocolOptions_SettingsParameterValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e Http2ProtocolOptions_SettingsParameterValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e Http2ProtocolOptions_SettingsParameterValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e Http2ProtocolOptions_SettingsParameterValidationError) ErrorName() string {
- return "Http2ProtocolOptions_SettingsParameterValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e Http2ProtocolOptions_SettingsParameterValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sHttp2ProtocolOptions_SettingsParameter.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = Http2ProtocolOptions_SettingsParameterValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = Http2ProtocolOptions_SettingsParameterValidationError{}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/socket_option.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/socket_option.pb.go
deleted file mode 100644
index 74874f2b3c..0000000000
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/socket_option.pb.go
+++ /dev/null
@@ -1,313 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
-// source: envoy/api/v2/core/socket_option.proto
-
-package core
-
-import (
- _ "github.com/cncf/xds/go/udpa/annotations"
- _ "github.com/envoyproxy/protoc-gen-validate/validate"
- 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)
-)
-
-type SocketOption_SocketState int32
-
-const (
- // Socket options are applied after socket creation but before binding the socket to a port
- SocketOption_STATE_PREBIND SocketOption_SocketState = 0
- // Socket options are applied after binding the socket to a port but before calling listen()
- SocketOption_STATE_BOUND SocketOption_SocketState = 1
- // Socket options are applied after calling listen()
- SocketOption_STATE_LISTENING SocketOption_SocketState = 2
-)
-
-// Enum value maps for SocketOption_SocketState.
-var (
- SocketOption_SocketState_name = map[int32]string{
- 0: "STATE_PREBIND",
- 1: "STATE_BOUND",
- 2: "STATE_LISTENING",
- }
- SocketOption_SocketState_value = map[string]int32{
- "STATE_PREBIND": 0,
- "STATE_BOUND": 1,
- "STATE_LISTENING": 2,
- }
-)
-
-func (x SocketOption_SocketState) Enum() *SocketOption_SocketState {
- p := new(SocketOption_SocketState)
- *p = x
- return p
-}
-
-func (x SocketOption_SocketState) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (SocketOption_SocketState) Descriptor() protoreflect.EnumDescriptor {
- return file_envoy_api_v2_core_socket_option_proto_enumTypes[0].Descriptor()
-}
-
-func (SocketOption_SocketState) Type() protoreflect.EnumType {
- return &file_envoy_api_v2_core_socket_option_proto_enumTypes[0]
-}
-
-func (x SocketOption_SocketState) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Use SocketOption_SocketState.Descriptor instead.
-func (SocketOption_SocketState) EnumDescriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_socket_option_proto_rawDescGZIP(), []int{0, 0}
-}
-
-// Generic socket option message. This would be used to set socket options that
-// might not exist in upstream kernels or precompiled Envoy binaries.
-// [#next-free-field: 7]
-type SocketOption struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // An optional name to give this socket option for debugging, etc.
- // Uniqueness is not required and no special meaning is assumed.
- Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
- // Corresponding to the level value passed to setsockopt, such as IPPROTO_TCP
- Level int64 `protobuf:"varint,2,opt,name=level,proto3" json:"level,omitempty"`
- // The numeric name as passed to setsockopt
- Name int64 `protobuf:"varint,3,opt,name=name,proto3" json:"name,omitempty"`
- // Types that are assignable to Value:
- // *SocketOption_IntValue
- // *SocketOption_BufValue
- Value isSocketOption_Value `protobuf_oneof:"value"`
- // The state in which the option will be applied. When used in BindConfig
- // STATE_PREBIND is currently the only valid value.
- State SocketOption_SocketState `protobuf:"varint,6,opt,name=state,proto3,enum=envoy.api.v2.core.SocketOption_SocketState" json:"state,omitempty"`
-}
-
-func (x *SocketOption) Reset() {
- *x = SocketOption{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_api_v2_core_socket_option_proto_msgTypes[0]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *SocketOption) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*SocketOption) ProtoMessage() {}
-
-func (x *SocketOption) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_api_v2_core_socket_option_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 SocketOption.ProtoReflect.Descriptor instead.
-func (*SocketOption) Descriptor() ([]byte, []int) {
- return file_envoy_api_v2_core_socket_option_proto_rawDescGZIP(), []int{0}
-}
-
-func (x *SocketOption) GetDescription() string {
- if x != nil {
- return x.Description
- }
- return ""
-}
-
-func (x *SocketOption) GetLevel() int64 {
- if x != nil {
- return x.Level
- }
- return 0
-}
-
-func (x *SocketOption) GetName() int64 {
- if x != nil {
- return x.Name
- }
- return 0
-}
-
-func (m *SocketOption) GetValue() isSocketOption_Value {
- if m != nil {
- return m.Value
- }
- return nil
-}
-
-func (x *SocketOption) GetIntValue() int64 {
- if x, ok := x.GetValue().(*SocketOption_IntValue); ok {
- return x.IntValue
- }
- return 0
-}
-
-func (x *SocketOption) GetBufValue() []byte {
- if x, ok := x.GetValue().(*SocketOption_BufValue); ok {
- return x.BufValue
- }
- return nil
-}
-
-func (x *SocketOption) GetState() SocketOption_SocketState {
- if x != nil {
- return x.State
- }
- return SocketOption_STATE_PREBIND
-}
-
-type isSocketOption_Value interface {
- isSocketOption_Value()
-}
-
-type SocketOption_IntValue struct {
- // Because many sockopts take an int value.
- IntValue int64 `protobuf:"varint,4,opt,name=int_value,json=intValue,proto3,oneof"`
-}
-
-type SocketOption_BufValue struct {
- // Otherwise it's a byte buffer.
- BufValue []byte `protobuf:"bytes,5,opt,name=buf_value,json=bufValue,proto3,oneof"`
-}
-
-func (*SocketOption_IntValue) isSocketOption_Value() {}
-
-func (*SocketOption_BufValue) isSocketOption_Value() {}
-
-var File_envoy_api_v2_core_socket_option_proto protoreflect.FileDescriptor
-
-var file_envoy_api_v2_core_socket_option_proto_rawDesc = []byte{
- 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63,
- 0x6f, 0x72, 0x65, 0x2f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f,
- 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61,
- 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61,
- 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67,
- 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61,
- 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61,
- 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64,
- 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x22, 0xbb, 0x02, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74,
- 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
- 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
- 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e,
- 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
- 0x1d, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01,
- 0x28, 0x03, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d,
- 0x0a, 0x09, 0x62, 0x75, 0x66, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
- 0x0c, 0x48, 0x00, 0x52, 0x08, 0x62, 0x75, 0x66, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x4b, 0x0a,
- 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x65,
- 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65,
- 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x6f,
- 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01,
- 0x02, 0x10, 0x01, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x46, 0x0a, 0x0b, 0x53, 0x6f,
- 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x54, 0x41,
- 0x54, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x42, 0x49, 0x4e, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b,
- 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x13, 0x0a,
- 0x0f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x45, 0x4e, 0x49, 0x4e, 0x47,
- 0x10, 0x02, 0x42, 0x0c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01,
- 0x42, 0x94, 0x01, 0x0a, 0x1f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f,
- 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e,
- 0x63, 0x6f, 0x72, 0x65, 0x42, 0x11, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69,
- 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75,
- 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79,
- 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e,
- 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63,
- 0x6f, 0x72, 0x65, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x16, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0xba,
- 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
-}
-
-var (
- file_envoy_api_v2_core_socket_option_proto_rawDescOnce sync.Once
- file_envoy_api_v2_core_socket_option_proto_rawDescData = file_envoy_api_v2_core_socket_option_proto_rawDesc
-)
-
-func file_envoy_api_v2_core_socket_option_proto_rawDescGZIP() []byte {
- file_envoy_api_v2_core_socket_option_proto_rawDescOnce.Do(func() {
- file_envoy_api_v2_core_socket_option_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_core_socket_option_proto_rawDescData)
- })
- return file_envoy_api_v2_core_socket_option_proto_rawDescData
-}
-
-var file_envoy_api_v2_core_socket_option_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
-var file_envoy_api_v2_core_socket_option_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
-var file_envoy_api_v2_core_socket_option_proto_goTypes = []interface{}{
- (SocketOption_SocketState)(0), // 0: envoy.api.v2.core.SocketOption.SocketState
- (*SocketOption)(nil), // 1: envoy.api.v2.core.SocketOption
-}
-var file_envoy_api_v2_core_socket_option_proto_depIdxs = []int32{
- 0, // 0: envoy.api.v2.core.SocketOption.state:type_name -> envoy.api.v2.core.SocketOption.SocketState
- 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_envoy_api_v2_core_socket_option_proto_init() }
-func file_envoy_api_v2_core_socket_option_proto_init() {
- if File_envoy_api_v2_core_socket_option_proto != nil {
- return
- }
- if !protoimpl.UnsafeEnabled {
- file_envoy_api_v2_core_socket_option_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SocketOption); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- }
- file_envoy_api_v2_core_socket_option_proto_msgTypes[0].OneofWrappers = []interface{}{
- (*SocketOption_IntValue)(nil),
- (*SocketOption_BufValue)(nil),
- }
- type x struct{}
- out := protoimpl.TypeBuilder{
- File: protoimpl.DescBuilder{
- GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
- RawDescriptor: file_envoy_api_v2_core_socket_option_proto_rawDesc,
- NumEnums: 1,
- NumMessages: 1,
- NumExtensions: 0,
- NumServices: 0,
- },
- GoTypes: file_envoy_api_v2_core_socket_option_proto_goTypes,
- DependencyIndexes: file_envoy_api_v2_core_socket_option_proto_depIdxs,
- EnumInfos: file_envoy_api_v2_core_socket_option_proto_enumTypes,
- MessageInfos: file_envoy_api_v2_core_socket_option_proto_msgTypes,
- }.Build()
- File_envoy_api_v2_core_socket_option_proto = out.File
- file_envoy_api_v2_core_socket_option_proto_rawDesc = nil
- file_envoy_api_v2_core_socket_option_proto_goTypes = nil
- file_envoy_api_v2_core_socket_option_proto_depIdxs = nil
-}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/socket_option.pb.validate.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/socket_option.pb.validate.go
deleted file mode 100644
index 1dac04b6a2..0000000000
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/api/v2/core/socket_option.pb.validate.go
+++ /dev/null
@@ -1,172 +0,0 @@
-// Code generated by protoc-gen-validate. DO NOT EDIT.
-// source: envoy/api/v2/core/socket_option.proto
-
-package core
-
-import (
- "bytes"
- "errors"
- "fmt"
- "net"
- "net/mail"
- "net/url"
- "regexp"
- "sort"
- "strings"
- "time"
- "unicode/utf8"
-
- "google.golang.org/protobuf/types/known/anypb"
-)
-
-// ensure the imports are used
-var (
- _ = bytes.MinRead
- _ = errors.New("")
- _ = fmt.Print
- _ = utf8.UTFMax
- _ = (*regexp.Regexp)(nil)
- _ = (*strings.Reader)(nil)
- _ = net.IPv4len
- _ = time.Duration(0)
- _ = (*url.URL)(nil)
- _ = (*mail.Address)(nil)
- _ = anypb.Any{}
- _ = sort.Sort
-)
-
-// Validate checks the field values on SocketOption with the rules defined in
-// the proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *SocketOption) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on SocketOption with the rules defined
-// in the proto definition for this message. If any rules are violated, the
-// result is a list of violation errors wrapped in SocketOptionMultiError, or
-// nil if none found.
-func (m *SocketOption) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *SocketOption) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- // no validation rules for Description
-
- // no validation rules for Level
-
- // no validation rules for Name
-
- if _, ok := SocketOption_SocketState_name[int32(m.GetState())]; !ok {
- err := SocketOptionValidationError{
- field: "State",
- reason: "value must be one of the defined enum values",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- switch m.Value.(type) {
-
- case *SocketOption_IntValue:
- // no validation rules for IntValue
-
- case *SocketOption_BufValue:
- // no validation rules for BufValue
-
- default:
- err := SocketOptionValidationError{
- field: "Value",
- reason: "value is required",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
-
- }
-
- if len(errors) > 0 {
- return SocketOptionMultiError(errors)
- }
-
- return nil
-}
-
-// SocketOptionMultiError is an error wrapping multiple validation errors
-// returned by SocketOption.ValidateAll() if the designated constraints aren't met.
-type SocketOptionMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m SocketOptionMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m SocketOptionMultiError) AllErrors() []error { return m }
-
-// SocketOptionValidationError is the validation error returned by
-// SocketOption.Validate if the designated constraints aren't met.
-type SocketOptionValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e SocketOptionValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e SocketOptionValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e SocketOptionValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e SocketOptionValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e SocketOptionValidationError) ErrorName() string { return "SocketOptionValidationError" }
-
-// Error satisfies the builtin error interface
-func (e SocketOptionValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sSocketOption.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = SocketOptionValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = SocketOptionValidationError{}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/accesslog/v3/accesslog.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/accesslog/v3/accesslog.pb.go
index c5254a96c1..6d0f52456b 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/accesslog/v3/accesslog.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/accesslog/v3/accesslog.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/config/accesslog/v3/accesslog.proto
package accesslogv3
@@ -10,10 +10,11 @@ import (
_ "github.com/cncf/xds/go/udpa/annotations"
v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3"
v32 "github.com/envoyproxy/go-control-plane/envoy/config/route/v3"
+ v34 "github.com/envoyproxy/go-control-plane/envoy/data/accesslog/v3"
v33 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3"
v31 "github.com/envoyproxy/go-control-plane/envoy/type/v3"
_ "github.com/envoyproxy/protoc-gen-validate/validate"
- any "github.com/golang/protobuf/ptypes/any"
+ any1 "github.com/golang/protobuf/ptypes/any"
wrappers "github.com/golang/protobuf/ptypes/wrappers"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
@@ -241,7 +242,7 @@ func (m *AccessLog) GetConfigType() isAccessLog_ConfigType {
return nil
}
-func (x *AccessLog) GetTypedConfig() *any.Any {
+func (x *AccessLog) GetTypedConfig() *any1.Any {
if x, ok := x.GetConfigType().(*AccessLog_TypedConfig); ok {
return x.TypedConfig
}
@@ -253,12 +254,12 @@ type isAccessLog_ConfigType interface {
}
type AccessLog_TypedConfig struct {
- TypedConfig *any.Any `protobuf:"bytes,4,opt,name=typed_config,json=typedConfig,proto3,oneof"`
+ TypedConfig *any1.Any `protobuf:"bytes,4,opt,name=typed_config,json=typedConfig,proto3,oneof"`
}
func (*AccessLog_TypedConfig) isAccessLog_ConfigType() {}
-// [#next-free-field: 13]
+// [#next-free-field: 14]
type AccessLogFilter struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -277,6 +278,7 @@ type AccessLogFilter struct {
// *AccessLogFilter_GrpcStatusFilter
// *AccessLogFilter_ExtensionFilter
// *AccessLogFilter_MetadataFilter
+ // *AccessLogFilter_LogTypeFilter
FilterSpecifier isAccessLogFilter_FilterSpecifier `protobuf_oneof:"filter_specifier"`
}
@@ -403,6 +405,13 @@ func (x *AccessLogFilter) GetMetadataFilter() *MetadataFilter {
return nil
}
+func (x *AccessLogFilter) GetLogTypeFilter() *LogTypeFilter {
+ if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_LogTypeFilter); ok {
+ return x.LogTypeFilter
+ }
+ return nil
+}
+
type isAccessLogFilter_FilterSpecifier interface {
isAccessLogFilter_FilterSpecifier()
}
@@ -468,6 +477,11 @@ type AccessLogFilter_MetadataFilter struct {
MetadataFilter *MetadataFilter `protobuf:"bytes,12,opt,name=metadata_filter,json=metadataFilter,proto3,oneof"`
}
+type AccessLogFilter_LogTypeFilter struct {
+ // Log Type Filter
+ LogTypeFilter *LogTypeFilter `protobuf:"bytes,13,opt,name=log_type_filter,json=logTypeFilter,proto3,oneof"`
+}
+
func (*AccessLogFilter_StatusCodeFilter) isAccessLogFilter_FilterSpecifier() {}
func (*AccessLogFilter_DurationFilter) isAccessLogFilter_FilterSpecifier() {}
@@ -492,6 +506,8 @@ func (*AccessLogFilter_ExtensionFilter) isAccessLogFilter_FilterSpecifier() {}
func (*AccessLogFilter_MetadataFilter) isAccessLogFilter_FilterSpecifier() {}
+func (*AccessLogFilter_LogTypeFilter) isAccessLogFilter_FilterSpecifier() {}
+
// Filter on an integer comparison.
type ComparisonFilter struct {
state protoimpl.MessageState
@@ -599,7 +615,10 @@ func (x *StatusCodeFilter) GetComparison() *ComparisonFilter {
return nil
}
-// Filters on total request duration in milliseconds.
+// Filters based on the duration of the request or stream, in milliseconds.
+// For end of stream access logs, the total duration of the stream will be used.
+// For :ref:`periodic access logs`,
+// the duration of the stream at the time of log recording will be used.
type DurationFilter struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -735,7 +754,7 @@ type RuntimeFilter struct {
unknownFields protoimpl.UnknownFields
// Runtime key to get an optional overridden numerator for use in the
- // *percent_sampled* field. If found in runtime, this value will replace the
+ // ``percent_sampled`` field. If found in runtime, this value will replace the
// default numerator.
RuntimeKey string `protobuf:"bytes,1,opt,name=runtime_key,json=runtimeKey,proto3" json:"runtime_key,omitempty"`
// The default sampling percentage. If not specified, defaults to 0% with
@@ -747,9 +766,9 @@ type RuntimeFilter struct {
// is present, the filter will consistently sample across multiple hosts based
// on the runtime key value and the value extracted from
// :ref:`x-request-id`. If it is
- // missing, or *use_independent_randomness* is set to true, the filter will
+ // missing, or ``use_independent_randomness`` is set to true, the filter will
// randomly sample based on the runtime key value alone.
- // *use_independent_randomness* can be used for logging kill switches within
+ // ``use_independent_randomness`` can be used for logging kill switches within
// complex nested :ref:`AndFilter
// ` and :ref:`OrFilter
// ` blocks that are easier to
@@ -1143,6 +1162,65 @@ func (x *MetadataFilter) GetMatchIfKeyNotFound() *wrappers.BoolValue {
return nil
}
+// Filters based on access log type.
+type LogTypeFilter struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Logs only records which their type is one of the types defined in this field.
+ Types []v34.AccessLogType `protobuf:"varint,1,rep,packed,name=types,proto3,enum=envoy.data.accesslog.v3.AccessLogType" json:"types,omitempty"`
+ // If this field is set to true, the filter will instead block all records
+ // with a access log type in types field, and allow all other records.
+ Exclude bool `protobuf:"varint,2,opt,name=exclude,proto3" json:"exclude,omitempty"`
+}
+
+func (x *LogTypeFilter) Reset() {
+ *x = LogTypeFilter{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[14]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LogTypeFilter) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LogTypeFilter) ProtoMessage() {}
+
+func (x *LogTypeFilter) ProtoReflect() protoreflect.Message {
+ mi := &file_envoy_config_accesslog_v3_accesslog_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)
+}
+
+// Deprecated: Use LogTypeFilter.ProtoReflect.Descriptor instead.
+func (*LogTypeFilter) Descriptor() ([]byte, []int) {
+ return file_envoy_config_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{14}
+}
+
+func (x *LogTypeFilter) GetTypes() []v34.AccessLogType {
+ if x != nil {
+ return x.Types
+ }
+ return nil
+}
+
+func (x *LogTypeFilter) GetExclude() bool {
+ if x != nil {
+ return x.Exclude
+ }
+ return false
+}
+
// Extension filter is statically registered at runtime.
type ExtensionFilter struct {
state protoimpl.MessageState
@@ -1162,7 +1240,7 @@ type ExtensionFilter struct {
func (x *ExtensionFilter) Reset() {
*x = ExtensionFilter{}
if protoimpl.UnsafeEnabled {
- mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[14]
+ mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1175,7 +1253,7 @@ func (x *ExtensionFilter) String() string {
func (*ExtensionFilter) ProtoMessage() {}
func (x *ExtensionFilter) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[14]
+ mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1188,7 +1266,7 @@ func (x *ExtensionFilter) ProtoReflect() protoreflect.Message {
// Deprecated: Use ExtensionFilter.ProtoReflect.Descriptor instead.
func (*ExtensionFilter) Descriptor() ([]byte, []int) {
- return file_envoy_config_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{14}
+ return file_envoy_config_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{15}
}
func (x *ExtensionFilter) GetName() string {
@@ -1205,7 +1283,7 @@ func (m *ExtensionFilter) GetConfigType() isExtensionFilter_ConfigType {
return nil
}
-func (x *ExtensionFilter) GetTypedConfig() *any.Any {
+func (x *ExtensionFilter) GetTypedConfig() *any1.Any {
if x, ok := x.GetConfigType().(*ExtensionFilter_TypedConfig); ok {
return x.TypedConfig
}
@@ -1217,7 +1295,7 @@ type isExtensionFilter_ConfigType interface {
}
type ExtensionFilter_TypedConfig struct {
- TypedConfig *any.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"`
+ TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"`
}
func (*ExtensionFilter_TypedConfig) isExtensionFilter_ConfigType() {}
@@ -1234,278 +1312,293 @@ var file_envoy_config_accesslog_v3_accesslog_proto_rawDesc = []byte{
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72,
0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70,
- 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x65, 0x74,
- 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x65, 0x6e, 0x76,
- 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65,
- 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 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, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f,
- 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xee,
- 0x01, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x12, 0x0a, 0x04,
- 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
- 0x12, 0x42, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
- 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63,
- 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69,
- 0x6c, 0x74, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79,
- 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a,
- 0x31, 0x9a, 0xc5, 0x88, 0x1e, 0x2c, 0x0a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65,
- 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c,
- 0x6f, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70,
- 0x65, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22,
- 0xf6, 0x08, 0x0a, 0x0f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x46, 0x69, 0x6c,
- 0x74, 0x65, 0x72, 0x12, 0x5b, 0x0a, 0x12, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f,
- 0x64, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61,
- 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x61, 0x74,
- 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x10,
- 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
- 0x12, 0x54, 0x0a, 0x0f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c,
- 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74,
+ 0x61, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x61,
+ 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24,
+ 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68,
+ 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65,
+ 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 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, 0x1d, 0x75, 0x64,
+ 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73,
+ 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70,
+ 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65,
+ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17,
+ 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xee, 0x01, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x65,
+ 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x06, 0x66, 0x69, 0x6c,
+ 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c,
- 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69,
- 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x68, 0x0a, 0x17, 0x6e, 0x6f, 0x74, 0x5f, 0x68, 0x65,
- 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65,
- 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
+ 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x46,
+ 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x39, 0x0a,
+ 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70,
+ 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x31, 0x9a, 0xc5, 0x88, 0x1e, 0x2c, 0x0a,
+ 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69,
+ 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76,
+ 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04,
+ 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xca, 0x09, 0x0a, 0x0f, 0x41, 0x63, 0x63,
+ 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x5b, 0x0a, 0x12,
+ 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74,
+ 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
+ 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f,
+ 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x46,
+ 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x10, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43,
+ 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x54, 0x0a, 0x0f, 0x64, 0x75, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x44,
+ 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52,
+ 0x0e, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12,
+ 0x68, 0x0a, 0x17, 0x6e, 0x6f, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68,
+ 0x65, 0x63, 0x6b, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
+ 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x4e, 0x6f, 0x74,
+ 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x69, 0x6c, 0x74, 0x65,
+ 0x72, 0x48, 0x00, 0x52, 0x14, 0x6e, 0x6f, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68,
+ 0x65, 0x63, 0x6b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x57, 0x0a, 0x10, 0x74, 0x72, 0x61,
+ 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e,
+ 0x54, 0x72, 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48,
+ 0x00, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74,
+ 0x65, 0x72, 0x12, 0x51, 0x0a, 0x0e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x69,
+ 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76,
+ 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73,
+ 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x69,
+ 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46,
+ 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x45, 0x0a, 0x0a, 0x61, 0x6e, 0x64, 0x5f, 0x66, 0x69, 0x6c,
+ 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
+ 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c,
+ 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x6e, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48,
+ 0x00, 0x52, 0x09, 0x61, 0x6e, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x09,
+ 0x6f, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61,
+ 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x72, 0x46, 0x69,
+ 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x08, 0x6f, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
+ 0x12, 0x4e, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65,
+ 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67,
- 0x2e, 0x76, 0x33, 0x2e, 0x4e, 0x6f, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65,
- 0x63, 0x6b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x14, 0x6e, 0x6f, 0x74, 0x48,
- 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
- 0x12, 0x57, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x69,
- 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76,
+ 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
+ 0x48, 0x00, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
+ 0x12, 0x61, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x66, 0x6c, 0x61,
+ 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d,
+ 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63,
+ 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52,
+ 0x12, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x46, 0x69, 0x6c,
+ 0x74, 0x65, 0x72, 0x12, 0x5b, 0x0a, 0x12, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61,
+ 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63,
+ 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x10,
+ 0x67, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
+ 0x12, 0x57, 0x0a, 0x10, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69,
+ 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76,
0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73,
- 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65,
- 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x61,
- 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x0e, 0x72, 0x75, 0x6e,
- 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75,
- 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x72,
- 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x45, 0x0a, 0x0a,
- 0x61, 0x6e, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
- 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x6e, 0x64,
- 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x61, 0x6e, 0x64, 0x46, 0x69, 0x6c,
- 0x74, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x09, 0x6f, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
- 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
+ 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
+ 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73,
+ 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x54, 0x0a, 0x0f, 0x6d, 0x65, 0x74,
+ 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x4d,
+ 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52,
+ 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12,
+ 0x52, 0x0a, 0x0f, 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74,
+ 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
+ 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f,
+ 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x46, 0x69, 0x6c, 0x74,
+ 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x6c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x46, 0x69, 0x6c,
+ 0x74, 0x65, 0x72, 0x3a, 0x37, 0x9a, 0xc5, 0x88, 0x1e, 0x32, 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f,
+ 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e,
+ 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63,
+ 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x17, 0x0a, 0x10,
+ 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72,
+ 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xf9, 0x01, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72,
+ 0x69, 0x73, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x48, 0x0a, 0x02, 0x6f, 0x70,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e,
- 0x76, 0x33, 0x2e, 0x4f, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x08, 0x6f,
- 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x65,
- 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27,
+ 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x46, 0x69, 0x6c,
+ 0x74, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01,
+ 0x52, 0x02, 0x6f, 0x70, 0x12, 0x43, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69,
+ 0x6d, 0x65, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02,
+ 0x10, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x1c, 0x0a, 0x02, 0x4f, 0x70, 0x12,
+ 0x06, 0x0a, 0x02, 0x45, 0x51, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x47, 0x45, 0x10, 0x01, 0x12,
+ 0x06, 0x0a, 0x02, 0x4c, 0x45, 0x10, 0x02, 0x3a, 0x38, 0x9a, 0xc5, 0x88, 0x1e, 0x33, 0x0a, 0x31,
+ 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c,
+ 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32,
+ 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65,
+ 0x72, 0x22, 0xa3, 0x01, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65,
+ 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72,
+ 0x69, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76,
+ 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73,
+ 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f,
+ 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10,
+ 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x3a, 0x38, 0x9a,
+ 0xc5, 0x88, 0x1e, 0x33, 0x0a, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73,
+ 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64,
+ 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x9f, 0x01, 0x0a, 0x0e, 0x44, 0x75, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x0a, 0x63, 0x6f,
+ 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b,
0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63,
- 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65,
- 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65,
- 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x61, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18,
- 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76,
- 0x33, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x46, 0x69,
- 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x12, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x46, 0x6c, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x5b, 0x0a, 0x12, 0x67, 0x72,
- 0x70, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
- 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
- 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e,
- 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c,
- 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x10, 0x67, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75,
- 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x57, 0x0a, 0x10, 0x65, 0x78, 0x74, 0x65, 0x6e,
- 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x78,
- 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52,
- 0x0f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
- 0x12, 0x54, 0x0a, 0x0f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x69, 0x6c,
- 0x74, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
- 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c,
- 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69,
- 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
- 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x3a, 0x37, 0x9a, 0xc5, 0x88, 0x1e, 0x32, 0x0a, 0x30, 0x65,
- 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74,
- 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e,
- 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42,
- 0x17, 0x0a, 0x10, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66,
- 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xf9, 0x01, 0x0a, 0x10, 0x43, 0x6f, 0x6d,
- 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x48, 0x0a,
- 0x02, 0x6f, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
- 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c,
- 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e,
- 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01,
- 0x02, 0x10, 0x01, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x43, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
- 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75,
- 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x08, 0xfa, 0x42, 0x05,
- 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x1c, 0x0a, 0x02,
- 0x4f, 0x70, 0x12, 0x06, 0x0a, 0x02, 0x45, 0x51, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x47, 0x45,
- 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x4c, 0x45, 0x10, 0x02, 0x3a, 0x38, 0x9a, 0xc5, 0x88, 0x1e,
- 0x33, 0x0a, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
- 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67,
- 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x46, 0x69,
- 0x6c, 0x74, 0x65, 0x72, 0x22, 0xa3, 0x01, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43,
- 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x0a, 0x63, 0x6f, 0x6d,
- 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
- 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63,
- 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72,
- 0x69, 0x73, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a,
- 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e,
- 0x3a, 0x38, 0x9a, 0xc5, 0x88, 0x1e, 0x33, 0x0a, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
+ 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61,
+ 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05,
+ 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f,
+ 0x6e, 0x3a, 0x36, 0x9a, 0xc5, 0x88, 0x1e, 0x31, 0x0a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
+ 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63,
+ 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x54, 0x0a, 0x14, 0x4e, 0x6f, 0x74,
+ 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x69, 0x6c, 0x74, 0x65,
+ 0x72, 0x3a, 0x3c, 0x9a, 0xc5, 0x88, 0x1e, 0x37, 0x0a, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
+ 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63,
+ 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x74, 0x48, 0x65,
+ 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22,
+ 0x4a, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74,
+ 0x65, 0x72, 0x3a, 0x37, 0x9a, 0xc5, 0x88, 0x1e, 0x32, 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79,
+ 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61,
+ 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x63,
+ 0x65, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xf9, 0x01, 0x0a, 0x0d,
+ 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x28, 0x0a,
+ 0x0b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x72, 0x75, 0x6e,
+ 0x74, 0x69, 0x6d, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x49, 0x0a, 0x0f, 0x70, 0x65, 0x72, 0x63, 0x65,
+ 0x6e, 0x74, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33,
+ 0x2e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65,
+ 0x6e, 0x74, 0x52, 0x0e, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x53, 0x61, 0x6d, 0x70, 0x6c,
+ 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x1a, 0x75, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x65,
+ 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x6e, 0x65, 0x73, 0x73,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x75, 0x73, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x70,
+ 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x6e, 0x65, 0x73, 0x73,
+ 0x3a, 0x35, 0x9a, 0xc5, 0x88, 0x1e, 0x30, 0x0a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63,
- 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x43, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x9f, 0x01, 0x0a, 0x0e, 0x44,
- 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x55, 0x0a,
- 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f,
- 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x08,
- 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72,
- 0x69, 0x73, 0x6f, 0x6e, 0x3a, 0x36, 0x9a, 0xc5, 0x88, 0x1e, 0x31, 0x0a, 0x2f, 0x65, 0x6e, 0x76,
- 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
- 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x75,
- 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x54, 0x0a, 0x14,
- 0x4e, 0x6f, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x69,
- 0x6c, 0x74, 0x65, 0x72, 0x3a, 0x3c, 0x9a, 0xc5, 0x88, 0x1e, 0x37, 0x0a, 0x35, 0x65, 0x6e, 0x76,
- 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
- 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f,
- 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x69, 0x6c, 0x74,
- 0x65, 0x72, 0x22, 0x4a, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x46,
- 0x69, 0x6c, 0x74, 0x65, 0x72, 0x3a, 0x37, 0x9a, 0xc5, 0x88, 0x1e, 0x32, 0x0a, 0x30, 0x65, 0x6e,
+ 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d,
+ 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x8e, 0x01, 0x0a, 0x09, 0x41, 0x6e, 0x64, 0x46,
+ 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73,
+ 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e,
+ 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x46, 0x69, 0x6c, 0x74,
+ 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x07, 0x66, 0x69,
+ 0x6c, 0x74, 0x65, 0x72, 0x73, 0x3a, 0x31, 0x9a, 0xc5, 0x88, 0x1e, 0x2c, 0x0a, 0x2a, 0x65, 0x6e,
0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65,
- 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54,
- 0x72, 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xf9,
- 0x01, 0x0a, 0x0d, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
- 0x12, 0x28, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a,
- 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x49, 0x0a, 0x0f, 0x70, 0x65,
- 0x72, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65,
- 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65,
- 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x53, 0x61,
- 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x1a, 0x75, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x64,
- 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x6e,
- 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x75, 0x73, 0x65, 0x49, 0x6e,
- 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x6e,
- 0x65, 0x73, 0x73, 0x3a, 0x35, 0x9a, 0xc5, 0x88, 0x1e, 0x30, 0x0a, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
- 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e,
- 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e,
- 0x74, 0x69, 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x8e, 0x01, 0x0a, 0x09, 0x41,
- 0x6e, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74,
- 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
- 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c,
- 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x46,
- 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52,
- 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x3a, 0x31, 0x9a, 0xc5, 0x88, 0x1e, 0x2c, 0x0a,
- 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69,
- 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76,
- 0x32, 0x2e, 0x41, 0x6e, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x8c, 0x01, 0x0a, 0x08,
- 0x4f, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74,
- 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
- 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c,
- 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x46,
- 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52,
- 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x3a, 0x30, 0x9a, 0xc5, 0x88, 0x1e, 0x2b, 0x0a,
- 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69,
- 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76,
- 0x32, 0x2e, 0x4f, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x8c, 0x01, 0x0a, 0x0c, 0x48,
- 0x65, 0x61, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x46, 0x0a, 0x06, 0x68,
- 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e,
- 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65,
- 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65,
- 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x65, 0x61,
- 0x64, 0x65, 0x72, 0x3a, 0x34, 0x9a, 0xc5, 0x88, 0x1e, 0x2f, 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f,
- 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e,
- 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x65, 0x61,
- 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xea, 0x01, 0x0a, 0x12, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
- 0x12, 0x97, 0x01, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09,
- 0x42, 0x80, 0x01, 0xfa, 0x42, 0x7d, 0x92, 0x01, 0x7a, 0x22, 0x78, 0x72, 0x76, 0x52, 0x02, 0x4c,
- 0x48, 0x52, 0x02, 0x55, 0x48, 0x52, 0x02, 0x55, 0x54, 0x52, 0x02, 0x4c, 0x52, 0x52, 0x02, 0x55,
- 0x52, 0x52, 0x02, 0x55, 0x46, 0x52, 0x02, 0x55, 0x43, 0x52, 0x02, 0x55, 0x4f, 0x52, 0x02, 0x4e,
- 0x52, 0x52, 0x02, 0x44, 0x49, 0x52, 0x02, 0x46, 0x49, 0x52, 0x02, 0x52, 0x4c, 0x52, 0x04, 0x55,
- 0x41, 0x45, 0x58, 0x52, 0x04, 0x52, 0x4c, 0x53, 0x45, 0x52, 0x02, 0x44, 0x43, 0x52, 0x03, 0x55,
- 0x52, 0x58, 0x52, 0x02, 0x53, 0x49, 0x52, 0x02, 0x49, 0x48, 0x52, 0x03, 0x44, 0x50, 0x45, 0x52,
- 0x05, 0x55, 0x4d, 0x53, 0x44, 0x52, 0x52, 0x04, 0x52, 0x46, 0x43, 0x46, 0x52, 0x04, 0x4e, 0x46,
- 0x43, 0x46, 0x52, 0x02, 0x44, 0x54, 0x52, 0x03, 0x55, 0x50, 0x45, 0x52, 0x02, 0x4e, 0x43, 0x52,
- 0x02, 0x4f, 0x4d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x3a, 0x3a, 0x9a, 0xc5, 0x88, 0x1e,
- 0x35, 0x0a, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
- 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67,
- 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67,
- 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x80, 0x04, 0x0a, 0x10, 0x47, 0x72, 0x70, 0x63, 0x53,
- 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x5d, 0x0a, 0x08, 0x73,
- 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x32, 0x2e,
- 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63,
- 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x74,
- 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75,
- 0x73, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x92, 0x01, 0x07, 0x22, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01,
- 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78,
- 0x63, 0x6c, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x78, 0x63,
- 0x6c, 0x75, 0x64, 0x65, 0x22, 0xb8, 0x02, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
- 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x41, 0x4e, 0x43, 0x45,
- 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e,
- 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x52,
- 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x45, 0x41, 0x44,
- 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x04, 0x12,
- 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x05, 0x12, 0x12,
- 0x0a, 0x0e, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53,
- 0x10, 0x06, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e,
- 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x07, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45, 0x53,
- 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x45, 0x58, 0x48, 0x41, 0x55, 0x53, 0x54, 0x45, 0x44, 0x10,
- 0x08, 0x12, 0x17, 0x0a, 0x13, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x43,
- 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x09, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x42,
- 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x0a, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x55, 0x54, 0x5f, 0x4f,
- 0x46, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x0b, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x4e, 0x49,
- 0x4d, 0x50, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x45, 0x44, 0x10, 0x0c, 0x12, 0x0c, 0x0a, 0x08,
- 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x0d, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e,
- 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x0e, 0x12, 0x0d, 0x0a, 0x09, 0x44,
- 0x41, 0x54, 0x41, 0x5f, 0x4c, 0x4f, 0x53, 0x53, 0x10, 0x0f, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e,
- 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x10, 0x3a,
- 0x38, 0x9a, 0xc5, 0x88, 0x1e, 0x33, 0x0a, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65,
- 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61,
- 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xda, 0x01, 0x0a, 0x0e, 0x4d, 0x65,
- 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x07,
- 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e,
- 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68,
- 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61,
- 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x4e,
- 0x0a, 0x16, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x66, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e,
- 0x6f, 0x74, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 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, 0x6d, 0x61, 0x74, 0x63,
- 0x68, 0x49, 0x66, 0x4b, 0x65, 0x79, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x3a, 0x36,
- 0x9a, 0xc5, 0x88, 0x1e, 0x31, 0x0a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e,
+ 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x41,
+ 0x6e, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x8c, 0x01, 0x0a, 0x08, 0x4f, 0x72, 0x46,
+ 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e,
+ 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x46, 0x69, 0x6c, 0x74,
+ 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x07, 0x66, 0x69,
+ 0x6c, 0x74, 0x65, 0x72, 0x73, 0x3a, 0x30, 0x9a, 0xc5, 0x88, 0x1e, 0x2b, 0x0a, 0x29, 0x65, 0x6e,
+ 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65,
+ 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4f,
+ 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x8c, 0x01, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64,
+ 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x46, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64,
+ 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
+ 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33,
+ 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08,
+ 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72,
+ 0x3a, 0x34, 0x9a, 0xc5, 0x88, 0x1e, 0x2f, 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63,
+ 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
+ 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xea, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x97, 0x01,
+ 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x80, 0x01,
+ 0xfa, 0x42, 0x7d, 0x92, 0x01, 0x7a, 0x22, 0x78, 0x72, 0x76, 0x52, 0x02, 0x4c, 0x48, 0x52, 0x02,
+ 0x55, 0x48, 0x52, 0x02, 0x55, 0x54, 0x52, 0x02, 0x4c, 0x52, 0x52, 0x02, 0x55, 0x52, 0x52, 0x02,
+ 0x55, 0x46, 0x52, 0x02, 0x55, 0x43, 0x52, 0x02, 0x55, 0x4f, 0x52, 0x02, 0x4e, 0x52, 0x52, 0x02,
+ 0x44, 0x49, 0x52, 0x02, 0x46, 0x49, 0x52, 0x02, 0x52, 0x4c, 0x52, 0x04, 0x55, 0x41, 0x45, 0x58,
+ 0x52, 0x04, 0x52, 0x4c, 0x53, 0x45, 0x52, 0x02, 0x44, 0x43, 0x52, 0x03, 0x55, 0x52, 0x58, 0x52,
+ 0x02, 0x53, 0x49, 0x52, 0x02, 0x49, 0x48, 0x52, 0x03, 0x44, 0x50, 0x45, 0x52, 0x05, 0x55, 0x4d,
+ 0x53, 0x44, 0x52, 0x52, 0x04, 0x52, 0x46, 0x43, 0x46, 0x52, 0x04, 0x4e, 0x46, 0x43, 0x46, 0x52,
+ 0x02, 0x44, 0x54, 0x52, 0x03, 0x55, 0x50, 0x45, 0x52, 0x02, 0x4e, 0x43, 0x52, 0x02, 0x4f, 0x4d,
+ 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x3a, 0x3a, 0x9a, 0xc5, 0x88, 0x1e, 0x35, 0x0a, 0x33,
+ 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c,
+ 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32,
+ 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x46, 0x69, 0x6c,
+ 0x74, 0x65, 0x72, 0x22, 0x80, 0x04, 0x0a, 0x10, 0x47, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x5d, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76,
+ 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73,
+ 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75,
+ 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x0d,
+ 0xfa, 0x42, 0x0a, 0x92, 0x01, 0x07, 0x22, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x73,
+ 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x63, 0x6c, 0x75,
+ 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64,
+ 0x65, 0x22, 0xb8, 0x02, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x06, 0x0a, 0x02,
+ 0x4f, 0x4b, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44,
+ 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x02, 0x12,
+ 0x14, 0x0a, 0x10, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d,
+ 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x45, 0x41, 0x44, 0x4c, 0x49, 0x4e,
+ 0x45, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09,
+ 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x41,
+ 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0x06, 0x12,
+ 0x15, 0x0a, 0x11, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45,
+ 0x4e, 0x49, 0x45, 0x44, 0x10, 0x07, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52,
+ 0x43, 0x45, 0x5f, 0x45, 0x58, 0x48, 0x41, 0x55, 0x53, 0x54, 0x45, 0x44, 0x10, 0x08, 0x12, 0x17,
+ 0x0a, 0x13, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x44,
+ 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x09, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x42, 0x4f, 0x52, 0x54,
+ 0x45, 0x44, 0x10, 0x0a, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x55, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x52,
+ 0x41, 0x4e, 0x47, 0x45, 0x10, 0x0b, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x4e, 0x49, 0x4d, 0x50, 0x4c,
+ 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x45, 0x44, 0x10, 0x0c, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x54,
+ 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x0d, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x41, 0x56, 0x41,
+ 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x0e, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x41, 0x54, 0x41,
+ 0x5f, 0x4c, 0x4f, 0x53, 0x53, 0x10, 0x0f, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, 0x41, 0x55, 0x54,
+ 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x10, 0x3a, 0x38, 0x9a, 0xc5,
+ 0x88, 0x1e, 0x33, 0x0a, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c,
+ 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xda, 0x01, 0x0a, 0x0e, 0x4d, 0x65, 0x74, 0x61, 0x64,
+ 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x07, 0x6d, 0x61, 0x74,
+ 0x63, 0x68, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76,
+ 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e,
+ 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68,
+ 0x65, 0x72, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x16, 0x6d,
+ 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x66, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x6f, 0x74, 0x5f,
+ 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 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, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x66,
+ 0x4b, 0x65, 0x79, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x3a, 0x36, 0x9a, 0xc5, 0x88,
+ 0x1e, 0x31, 0x0a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f,
+ 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c,
+ 0x74, 0x65, 0x72, 0x22, 0x76, 0x0a, 0x0d, 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x46, 0x69,
+ 0x6c, 0x74, 0x65, 0x72, 0x12, 0x4b, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20,
+ 0x03, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63,
+ 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0d, 0xfa, 0x42, 0x0a,
+ 0x92, 0x01, 0x07, 0x22, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65,
+ 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x07, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x22, 0xb6, 0x01, 0x0a, 0x0f,
+ 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12,
+ 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
+ 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48,
+ 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x37,
+ 0x9a, 0xc5, 0x88, 0x1e, 0x32, 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73,
- 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
- 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xb6, 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x74, 0x65, 0x6e,
- 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
- 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39,
- 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79,
- 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x37, 0x9a, 0xc5, 0x88, 0x1e, 0x32,
- 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66,
- 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e,
- 0x76, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74,
- 0x65, 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70,
- 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42,
- 0x91, 0x01, 0x0a, 0x27, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78,
- 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61,
- 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x42, 0x0e, 0x41, 0x63, 0x63,
- 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4c, 0x67,
- 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70,
- 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d,
- 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66,
- 0x69, 0x67, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x33, 0x3b,
- 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06,
- 0x02, 0x10, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
+ 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x06, 0x63, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x42, 0x91, 0x01, 0x0a, 0x27, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
+ 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33,
+ 0x42, 0x0e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f,
+ 0x50, 0x01, 0x5a, 0x4c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65,
+ 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e,
+ 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79,
+ 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f,
+ 0x67, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x76, 0x33,
+ 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -1521,7 +1614,7 @@ func file_envoy_config_accesslog_v3_accesslog_proto_rawDescGZIP() []byte {
}
var file_envoy_config_accesslog_v3_accesslog_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
-var file_envoy_config_accesslog_v3_accesslog_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
+var file_envoy_config_accesslog_v3_accesslog_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
var file_envoy_config_accesslog_v3_accesslog_proto_goTypes = []interface{}{
(ComparisonFilter_Op)(0), // 0: envoy.config.accesslog.v3.ComparisonFilter.Op
(GrpcStatusFilter_Status)(0), // 1: envoy.config.accesslog.v3.GrpcStatusFilter.Status
@@ -1539,17 +1632,19 @@ var file_envoy_config_accesslog_v3_accesslog_proto_goTypes = []interface{}{
(*ResponseFlagFilter)(nil), // 13: envoy.config.accesslog.v3.ResponseFlagFilter
(*GrpcStatusFilter)(nil), // 14: envoy.config.accesslog.v3.GrpcStatusFilter
(*MetadataFilter)(nil), // 15: envoy.config.accesslog.v3.MetadataFilter
- (*ExtensionFilter)(nil), // 16: envoy.config.accesslog.v3.ExtensionFilter
- (*any.Any)(nil), // 17: google.protobuf.Any
- (*v3.RuntimeUInt32)(nil), // 18: envoy.config.core.v3.RuntimeUInt32
- (*v31.FractionalPercent)(nil), // 19: envoy.type.v3.FractionalPercent
- (*v32.HeaderMatcher)(nil), // 20: envoy.config.route.v3.HeaderMatcher
- (*v33.MetadataMatcher)(nil), // 21: envoy.type.matcher.v3.MetadataMatcher
- (*wrappers.BoolValue)(nil), // 22: google.protobuf.BoolValue
+ (*LogTypeFilter)(nil), // 16: envoy.config.accesslog.v3.LogTypeFilter
+ (*ExtensionFilter)(nil), // 17: envoy.config.accesslog.v3.ExtensionFilter
+ (*any1.Any)(nil), // 18: google.protobuf.Any
+ (*v3.RuntimeUInt32)(nil), // 19: envoy.config.core.v3.RuntimeUInt32
+ (*v31.FractionalPercent)(nil), // 20: envoy.type.v3.FractionalPercent
+ (*v32.HeaderMatcher)(nil), // 21: envoy.config.route.v3.HeaderMatcher
+ (*v33.MetadataMatcher)(nil), // 22: envoy.type.matcher.v3.MetadataMatcher
+ (*wrappers.BoolValue)(nil), // 23: google.protobuf.BoolValue
+ (v34.AccessLogType)(0), // 24: envoy.data.accesslog.v3.AccessLogType
}
var file_envoy_config_accesslog_v3_accesslog_proto_depIdxs = []int32{
3, // 0: envoy.config.accesslog.v3.AccessLog.filter:type_name -> envoy.config.accesslog.v3.AccessLogFilter
- 17, // 1: envoy.config.accesslog.v3.AccessLog.typed_config:type_name -> google.protobuf.Any
+ 18, // 1: envoy.config.accesslog.v3.AccessLog.typed_config:type_name -> google.protobuf.Any
5, // 2: envoy.config.accesslog.v3.AccessLogFilter.status_code_filter:type_name -> envoy.config.accesslog.v3.StatusCodeFilter
6, // 3: envoy.config.accesslog.v3.AccessLogFilter.duration_filter:type_name -> envoy.config.accesslog.v3.DurationFilter
7, // 4: envoy.config.accesslog.v3.AccessLogFilter.not_health_check_filter:type_name -> envoy.config.accesslog.v3.NotHealthCheckFilter
@@ -1560,25 +1655,27 @@ var file_envoy_config_accesslog_v3_accesslog_proto_depIdxs = []int32{
12, // 9: envoy.config.accesslog.v3.AccessLogFilter.header_filter:type_name -> envoy.config.accesslog.v3.HeaderFilter
13, // 10: envoy.config.accesslog.v3.AccessLogFilter.response_flag_filter:type_name -> envoy.config.accesslog.v3.ResponseFlagFilter
14, // 11: envoy.config.accesslog.v3.AccessLogFilter.grpc_status_filter:type_name -> envoy.config.accesslog.v3.GrpcStatusFilter
- 16, // 12: envoy.config.accesslog.v3.AccessLogFilter.extension_filter:type_name -> envoy.config.accesslog.v3.ExtensionFilter
+ 17, // 12: envoy.config.accesslog.v3.AccessLogFilter.extension_filter:type_name -> envoy.config.accesslog.v3.ExtensionFilter
15, // 13: envoy.config.accesslog.v3.AccessLogFilter.metadata_filter:type_name -> envoy.config.accesslog.v3.MetadataFilter
- 0, // 14: envoy.config.accesslog.v3.ComparisonFilter.op:type_name -> envoy.config.accesslog.v3.ComparisonFilter.Op
- 18, // 15: envoy.config.accesslog.v3.ComparisonFilter.value:type_name -> envoy.config.core.v3.RuntimeUInt32
- 4, // 16: envoy.config.accesslog.v3.StatusCodeFilter.comparison:type_name -> envoy.config.accesslog.v3.ComparisonFilter
- 4, // 17: envoy.config.accesslog.v3.DurationFilter.comparison:type_name -> envoy.config.accesslog.v3.ComparisonFilter
- 19, // 18: envoy.config.accesslog.v3.RuntimeFilter.percent_sampled:type_name -> envoy.type.v3.FractionalPercent
- 3, // 19: envoy.config.accesslog.v3.AndFilter.filters:type_name -> envoy.config.accesslog.v3.AccessLogFilter
- 3, // 20: envoy.config.accesslog.v3.OrFilter.filters:type_name -> envoy.config.accesslog.v3.AccessLogFilter
- 20, // 21: envoy.config.accesslog.v3.HeaderFilter.header:type_name -> envoy.config.route.v3.HeaderMatcher
- 1, // 22: envoy.config.accesslog.v3.GrpcStatusFilter.statuses:type_name -> envoy.config.accesslog.v3.GrpcStatusFilter.Status
- 21, // 23: envoy.config.accesslog.v3.MetadataFilter.matcher:type_name -> envoy.type.matcher.v3.MetadataMatcher
- 22, // 24: envoy.config.accesslog.v3.MetadataFilter.match_if_key_not_found:type_name -> google.protobuf.BoolValue
- 17, // 25: envoy.config.accesslog.v3.ExtensionFilter.typed_config:type_name -> google.protobuf.Any
- 26, // [26:26] is the sub-list for method output_type
- 26, // [26:26] is the sub-list for method input_type
- 26, // [26:26] is the sub-list for extension type_name
- 26, // [26:26] is the sub-list for extension extendee
- 0, // [0:26] is the sub-list for field type_name
+ 16, // 14: envoy.config.accesslog.v3.AccessLogFilter.log_type_filter:type_name -> envoy.config.accesslog.v3.LogTypeFilter
+ 0, // 15: envoy.config.accesslog.v3.ComparisonFilter.op:type_name -> envoy.config.accesslog.v3.ComparisonFilter.Op
+ 19, // 16: envoy.config.accesslog.v3.ComparisonFilter.value:type_name -> envoy.config.core.v3.RuntimeUInt32
+ 4, // 17: envoy.config.accesslog.v3.StatusCodeFilter.comparison:type_name -> envoy.config.accesslog.v3.ComparisonFilter
+ 4, // 18: envoy.config.accesslog.v3.DurationFilter.comparison:type_name -> envoy.config.accesslog.v3.ComparisonFilter
+ 20, // 19: envoy.config.accesslog.v3.RuntimeFilter.percent_sampled:type_name -> envoy.type.v3.FractionalPercent
+ 3, // 20: envoy.config.accesslog.v3.AndFilter.filters:type_name -> envoy.config.accesslog.v3.AccessLogFilter
+ 3, // 21: envoy.config.accesslog.v3.OrFilter.filters:type_name -> envoy.config.accesslog.v3.AccessLogFilter
+ 21, // 22: envoy.config.accesslog.v3.HeaderFilter.header:type_name -> envoy.config.route.v3.HeaderMatcher
+ 1, // 23: envoy.config.accesslog.v3.GrpcStatusFilter.statuses:type_name -> envoy.config.accesslog.v3.GrpcStatusFilter.Status
+ 22, // 24: envoy.config.accesslog.v3.MetadataFilter.matcher:type_name -> envoy.type.matcher.v3.MetadataMatcher
+ 23, // 25: envoy.config.accesslog.v3.MetadataFilter.match_if_key_not_found:type_name -> google.protobuf.BoolValue
+ 24, // 26: envoy.config.accesslog.v3.LogTypeFilter.types:type_name -> envoy.data.accesslog.v3.AccessLogType
+ 18, // 27: envoy.config.accesslog.v3.ExtensionFilter.typed_config:type_name -> google.protobuf.Any
+ 28, // [28:28] is the sub-list for method output_type
+ 28, // [28:28] is the sub-list for method input_type
+ 28, // [28:28] is the sub-list for extension type_name
+ 28, // [28:28] is the sub-list for extension extendee
+ 0, // [0:28] is the sub-list for field type_name
}
func init() { file_envoy_config_accesslog_v3_accesslog_proto_init() }
@@ -1756,6 +1853,18 @@ func file_envoy_config_accesslog_v3_accesslog_proto_init() {
}
}
file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LogTypeFilter); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExtensionFilter); i {
case 0:
return &v.state
@@ -1784,8 +1893,9 @@ func file_envoy_config_accesslog_v3_accesslog_proto_init() {
(*AccessLogFilter_GrpcStatusFilter)(nil),
(*AccessLogFilter_ExtensionFilter)(nil),
(*AccessLogFilter_MetadataFilter)(nil),
+ (*AccessLogFilter_LogTypeFilter)(nil),
}
- file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[14].OneofWrappers = []interface{}{
+ file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[15].OneofWrappers = []interface{}{
(*ExtensionFilter_TypedConfig)(nil),
}
type x struct{}
@@ -1794,7 +1904,7 @@ func file_envoy_config_accesslog_v3_accesslog_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_envoy_config_accesslog_v3_accesslog_proto_rawDesc,
NumEnums: 2,
- NumMessages: 15,
+ NumMessages: 16,
NumExtensions: 0,
NumServices: 0,
},
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/accesslog/v3/accesslog.pb.validate.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/accesslog/v3/accesslog.pb.validate.go
index aa700c658a..e8486a5584 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/accesslog/v3/accesslog.pb.validate.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/accesslog/v3/accesslog.pb.validate.go
@@ -17,6 +17,8 @@ import (
"unicode/utf8"
"google.golang.org/protobuf/types/known/anypb"
+
+ v3 "github.com/envoyproxy/go-control-plane/envoy/data/accesslog/v3"
)
// ensure the imports are used
@@ -33,6 +35,8 @@ var (
_ = (*mail.Address)(nil)
_ = anypb.Any{}
_ = sort.Sort
+
+ _ = v3.AccessLogType(0)
)
// Validate checks the field values on AccessLog with the rules defined in the
@@ -88,9 +92,18 @@ func (m *AccessLog) validate(all bool) error {
}
}
- switch m.ConfigType.(type) {
-
+ switch v := m.ConfigType.(type) {
case *AccessLog_TypedConfig:
+ if v == nil {
+ err := AccessLogValidationError{
+ field: "ConfigType",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
if all {
switch v := interface{}(m.GetTypedConfig()).(type) {
@@ -121,6 +134,8 @@ func (m *AccessLog) validate(all bool) error {
}
}
+ default:
+ _ = v // ensures v is used
}
if len(errors) > 0 {
@@ -222,9 +237,20 @@ func (m *AccessLogFilter) validate(all bool) error {
var errors []error
- switch m.FilterSpecifier.(type) {
-
+ oneofFilterSpecifierPresent := false
+ switch v := m.FilterSpecifier.(type) {
case *AccessLogFilter_StatusCodeFilter:
+ if v == nil {
+ err := AccessLogFilterValidationError{
+ field: "FilterSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofFilterSpecifierPresent = true
if all {
switch v := interface{}(m.GetStatusCodeFilter()).(type) {
@@ -256,6 +282,17 @@ func (m *AccessLogFilter) validate(all bool) error {
}
case *AccessLogFilter_DurationFilter:
+ if v == nil {
+ err := AccessLogFilterValidationError{
+ field: "FilterSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofFilterSpecifierPresent = true
if all {
switch v := interface{}(m.GetDurationFilter()).(type) {
@@ -287,6 +324,17 @@ func (m *AccessLogFilter) validate(all bool) error {
}
case *AccessLogFilter_NotHealthCheckFilter:
+ if v == nil {
+ err := AccessLogFilterValidationError{
+ field: "FilterSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofFilterSpecifierPresent = true
if all {
switch v := interface{}(m.GetNotHealthCheckFilter()).(type) {
@@ -318,6 +366,17 @@ func (m *AccessLogFilter) validate(all bool) error {
}
case *AccessLogFilter_TraceableFilter:
+ if v == nil {
+ err := AccessLogFilterValidationError{
+ field: "FilterSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofFilterSpecifierPresent = true
if all {
switch v := interface{}(m.GetTraceableFilter()).(type) {
@@ -349,6 +408,17 @@ func (m *AccessLogFilter) validate(all bool) error {
}
case *AccessLogFilter_RuntimeFilter:
+ if v == nil {
+ err := AccessLogFilterValidationError{
+ field: "FilterSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofFilterSpecifierPresent = true
if all {
switch v := interface{}(m.GetRuntimeFilter()).(type) {
@@ -380,6 +450,17 @@ func (m *AccessLogFilter) validate(all bool) error {
}
case *AccessLogFilter_AndFilter:
+ if v == nil {
+ err := AccessLogFilterValidationError{
+ field: "FilterSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofFilterSpecifierPresent = true
if all {
switch v := interface{}(m.GetAndFilter()).(type) {
@@ -411,6 +492,17 @@ func (m *AccessLogFilter) validate(all bool) error {
}
case *AccessLogFilter_OrFilter:
+ if v == nil {
+ err := AccessLogFilterValidationError{
+ field: "FilterSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofFilterSpecifierPresent = true
if all {
switch v := interface{}(m.GetOrFilter()).(type) {
@@ -442,6 +534,17 @@ func (m *AccessLogFilter) validate(all bool) error {
}
case *AccessLogFilter_HeaderFilter:
+ if v == nil {
+ err := AccessLogFilterValidationError{
+ field: "FilterSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofFilterSpecifierPresent = true
if all {
switch v := interface{}(m.GetHeaderFilter()).(type) {
@@ -473,6 +576,17 @@ func (m *AccessLogFilter) validate(all bool) error {
}
case *AccessLogFilter_ResponseFlagFilter:
+ if v == nil {
+ err := AccessLogFilterValidationError{
+ field: "FilterSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofFilterSpecifierPresent = true
if all {
switch v := interface{}(m.GetResponseFlagFilter()).(type) {
@@ -504,6 +618,17 @@ func (m *AccessLogFilter) validate(all bool) error {
}
case *AccessLogFilter_GrpcStatusFilter:
+ if v == nil {
+ err := AccessLogFilterValidationError{
+ field: "FilterSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofFilterSpecifierPresent = true
if all {
switch v := interface{}(m.GetGrpcStatusFilter()).(type) {
@@ -535,6 +660,17 @@ func (m *AccessLogFilter) validate(all bool) error {
}
case *AccessLogFilter_ExtensionFilter:
+ if v == nil {
+ err := AccessLogFilterValidationError{
+ field: "FilterSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofFilterSpecifierPresent = true
if all {
switch v := interface{}(m.GetExtensionFilter()).(type) {
@@ -566,6 +702,17 @@ func (m *AccessLogFilter) validate(all bool) error {
}
case *AccessLogFilter_MetadataFilter:
+ if v == nil {
+ err := AccessLogFilterValidationError{
+ field: "FilterSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofFilterSpecifierPresent = true
if all {
switch v := interface{}(m.GetMetadataFilter()).(type) {
@@ -596,7 +743,52 @@ func (m *AccessLogFilter) validate(all bool) error {
}
}
+ case *AccessLogFilter_LogTypeFilter:
+ if v == nil {
+ err := AccessLogFilterValidationError{
+ field: "FilterSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofFilterSpecifierPresent = true
+
+ if all {
+ switch v := interface{}(m.GetLogTypeFilter()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, AccessLogFilterValidationError{
+ field: "LogTypeFilter",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, AccessLogFilterValidationError{
+ field: "LogTypeFilter",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetLogTypeFilter()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return AccessLogFilterValidationError{
+ field: "LogTypeFilter",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
default:
+ _ = v // ensures v is used
+ }
+ if !oneofFilterSpecifierPresent {
err := AccessLogFilterValidationError{
field: "FilterSpecifier",
reason: "value is required",
@@ -605,7 +797,6 @@ func (m *AccessLogFilter) validate(all bool) error {
return err
}
errors = append(errors, err)
-
}
if len(errors) > 0 {
@@ -2311,6 +2502,124 @@ var _ interface {
ErrorName() string
} = MetadataFilterValidationError{}
+// Validate checks the field values on LogTypeFilter with the rules defined in
+// the proto definition for this message. If any rules are violated, the first
+// error encountered is returned, or nil if there are no violations.
+func (m *LogTypeFilter) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on LogTypeFilter with the rules defined
+// in the proto definition for this message. If any rules are violated, the
+// result is a list of violation errors wrapped in LogTypeFilterMultiError, or
+// nil if none found.
+func (m *LogTypeFilter) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *LogTypeFilter) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ for idx, item := range m.GetTypes() {
+ _, _ = idx, item
+
+ if _, ok := v3.AccessLogType_name[int32(item)]; !ok {
+ err := LogTypeFilterValidationError{
+ field: fmt.Sprintf("Types[%v]", idx),
+ reason: "value must be one of the defined enum values",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
+ }
+
+ // no validation rules for Exclude
+
+ if len(errors) > 0 {
+ return LogTypeFilterMultiError(errors)
+ }
+
+ return nil
+}
+
+// LogTypeFilterMultiError is an error wrapping multiple validation errors
+// returned by LogTypeFilter.ValidateAll() if the designated constraints
+// aren't met.
+type LogTypeFilterMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m LogTypeFilterMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m LogTypeFilterMultiError) AllErrors() []error { return m }
+
+// LogTypeFilterValidationError is the validation error returned by
+// LogTypeFilter.Validate if the designated constraints aren't met.
+type LogTypeFilterValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e LogTypeFilterValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e LogTypeFilterValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e LogTypeFilterValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e LogTypeFilterValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e LogTypeFilterValidationError) ErrorName() string { return "LogTypeFilterValidationError" }
+
+// Error satisfies the builtin error interface
+func (e LogTypeFilterValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sLogTypeFilter.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = LogTypeFilterValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = LogTypeFilterValidationError{}
+
// Validate checks the field values on ExtensionFilter with the rules defined
// in the proto definition for this message. If any rules are violated, the
// first error encountered is returned, or nil if there are no violations.
@@ -2335,9 +2644,18 @@ func (m *ExtensionFilter) validate(all bool) error {
// no validation rules for Name
- switch m.ConfigType.(type) {
-
+ switch v := m.ConfigType.(type) {
case *ExtensionFilter_TypedConfig:
+ if v == nil {
+ err := ExtensionFilterValidationError{
+ field: "ConfigType",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
if all {
switch v := interface{}(m.GetTypedConfig()).(type) {
@@ -2368,6 +2686,8 @@ func (m *ExtensionFilter) validate(all bool) error {
}
}
+ default:
+ _ = v // ensures v is used
}
if len(errors) > 0 {
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/bootstrap/v3/bootstrap.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/bootstrap/v3/bootstrap.pb.go
index 6cbbc4e642..522d6ea508 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/bootstrap/v3/bootstrap.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/bootstrap/v3/bootstrap.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/config/bootstrap/v3/bootstrap.proto
package bootstrapv3
@@ -149,7 +149,7 @@ func (CustomInlineHeader_InlineHeaderType) EnumDescriptor() ([]byte, []int) {
}
// Bootstrap :ref:`configuration overview `.
-// [#next-free-field: 35]
+// [#next-free-field: 38]
type Bootstrap struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -210,7 +210,7 @@ type Bootstrap struct {
// Optional duration between flushes to configured stats sinks. For
// performance reasons Envoy latches counters and only flushes counters and
// gauges at a periodic interval. If not specified the default is 5000ms (5
- // seconds). Only one of `stats_flush_interval` or `stats_flush_on_admin`
+ // seconds). Only one of ``stats_flush_interval`` or ``stats_flush_on_admin``
// can be set.
// Duration must be at least 1ms and at most 5 min.
StatsFlushInterval *duration.Duration `protobuf:"bytes,7,opt,name=stats_flush_interval,json=statsFlushInterval,proto3" json:"stats_flush_interval,omitempty"`
@@ -219,7 +219,7 @@ type Bootstrap struct {
StatsFlush isBootstrap_StatsFlush `protobuf_oneof:"stats_flush"`
// Optional watchdog configuration.
// This is for a single watchdog configuration for the entire system.
- // Deprecated in favor of *watchdogs* which has finer granularity.
+ // Deprecated in favor of ``watchdogs`` which has finer granularity.
//
// Deprecated: Do not use.
Watchdog *Watchdog `protobuf:"bytes,8,opt,name=watchdog,proto3" json:"watchdog,omitempty"`
@@ -269,7 +269,7 @@ type Bootstrap struct {
// when :ref:`dns_resolvers ` and
// :ref:`use_tcp_for_dns_lookups ` are
// specified.
- // This field is deprecated in favor of *dns_resolution_config*
+ // This field is deprecated in favor of ``dns_resolution_config``
// which aggregates all of the DNS resolver configuration in a single message.
//
// Deprecated: Do not use.
@@ -287,12 +287,12 @@ type Bootstrap struct {
// or any other DNS resolver types and the related parameters.
// For example, an object of
// :ref:`CaresDnsResolverConfig `
- // can be packed into this *typed_dns_resolver_config*. This configuration replaces the
+ // can be packed into this ``typed_dns_resolver_config``. This configuration replaces the
// :ref:`dns_resolution_config `
// configuration.
- // During the transition period when both *dns_resolution_config* and *typed_dns_resolver_config* exists,
- // when *typed_dns_resolver_config* is in place, Envoy will use it and ignore *dns_resolution_config*.
- // When *typed_dns_resolver_config* is missing, the default behavior is in place.
+ // During the transition period when both ``dns_resolution_config`` and ``typed_dns_resolver_config`` exists,
+ // when ``typed_dns_resolver_config`` is in place, Envoy will use it and ignore ``dns_resolution_config``.
+ // When ``typed_dns_resolver_config`` is missing, the default behavior is in place.
// [#extension-category: envoy.network.dns_resolver]
TypedDnsResolverConfig *v3.TypedExtensionConfig `protobuf:"bytes,31,opt,name=typed_dns_resolver_config,json=typedDnsResolverConfig,proto3" json:"typed_dns_resolver_config,omitempty"`
// Specifies optional bootstrap extensions to be instantiated at startup time.
@@ -306,18 +306,18 @@ type Bootstrap struct {
// xdstp:// URL authority resolution. The algorithm is as
// follows:
// 1. The authority field is taken from the xdstp:// URL, call
- // this *resource_authority*.
- // 2. *resource_authority* is compared against the authorities in any peer
- // *ConfigSource*. The peer *ConfigSource* is the configuration source
+ // this ``resource_authority``.
+ // 2. ``resource_authority`` is compared against the authorities in any peer
+ // ``ConfigSource``. The peer ``ConfigSource`` is the configuration source
// message which would have been used unconditionally for resolution
// with opaque resource names. If there is a match with an authority, the
- // peer *ConfigSource* message is used.
- // 3. *resource_authority* is compared sequentially with the authorities in
- // each configuration source in *config_sources*. The first *ConfigSource*
+ // peer ``ConfigSource`` message is used.
+ // 3. ``resource_authority`` is compared sequentially with the authorities in
+ // each configuration source in ``config_sources``. The first ``ConfigSource``
// to match wins.
// 4. As a fallback, if no configuration source matches, then
- // *default_config_source* is used.
- // 5. If *default_config_source* is not specified, resolution fails.
+ // ``default_config_source`` is used.
+ // 5. If ``default_config_source`` is not specified, resolution fails.
// [#not-implemented-hide:]
ConfigSources []*v3.ConfigSource `protobuf:"bytes,22,rep,name=config_sources,json=configSources,proto3" json:"config_sources,omitempty"`
// Default configuration source for xdstp:// URLs if all
@@ -346,6 +346,28 @@ type Bootstrap struct {
// If the value is not specified, Google RE2 will be used by default.
// [#extension-category: envoy.regex_engines]
DefaultRegexEngine *v3.TypedExtensionConfig `protobuf:"bytes,34,opt,name=default_regex_engine,json=defaultRegexEngine,proto3" json:"default_regex_engine,omitempty"`
+ // Optional XdsResourcesDelegate configuration, which allows plugging custom logic into both
+ // fetch and load events during xDS processing.
+ // If a value is not specified, no XdsResourcesDelegate will be used.
+ // TODO(abeyad): Add public-facing documentation.
+ // [#not-implemented-hide:]
+ XdsDelegateExtension *v3.TypedExtensionConfig `protobuf:"bytes,35,opt,name=xds_delegate_extension,json=xdsDelegateExtension,proto3" json:"xds_delegate_extension,omitempty"`
+ // Optional XdsConfigTracker configuration, which allows tracking xDS responses in external components,
+ // e.g., external tracer or monitor. It provides the process point when receive, ingest, or fail to
+ // process xDS resources and messages. If a value is not specified, no XdsConfigTracker will be used.
+ //
+ // .. note::
+ //
+ // There are no in-repo extensions currently, and the :repo:`XdsConfigTracker `
+ // interface should be implemented before using.
+ // See :repo:`xds_config_tracker_integration_test `
+ // for an example usage of the interface.
+ XdsConfigTrackerExtension *v3.TypedExtensionConfig `protobuf:"bytes,36,opt,name=xds_config_tracker_extension,json=xdsConfigTrackerExtension,proto3" json:"xds_config_tracker_extension,omitempty"`
+ // [#not-implemented-hide:]
+ // This controls the type of listener manager configured for Envoy. Currently
+ // Envoy only supports ListenerManager for this field and Envoy Mobile
+ // supports ApiListenerManager.
+ ListenerManager *v3.TypedExtensionConfig `protobuf:"bytes,37,opt,name=listener_manager,json=listenerManager,proto3" json:"listener_manager,omitempty"`
}
func (x *Bootstrap) Reset() {
@@ -615,14 +637,35 @@ func (x *Bootstrap) GetDefaultRegexEngine() *v3.TypedExtensionConfig {
return nil
}
+func (x *Bootstrap) GetXdsDelegateExtension() *v3.TypedExtensionConfig {
+ if x != nil {
+ return x.XdsDelegateExtension
+ }
+ return nil
+}
+
+func (x *Bootstrap) GetXdsConfigTrackerExtension() *v3.TypedExtensionConfig {
+ if x != nil {
+ return x.XdsConfigTrackerExtension
+ }
+ return nil
+}
+
+func (x *Bootstrap) GetListenerManager() *v3.TypedExtensionConfig {
+ if x != nil {
+ return x.ListenerManager
+ }
+ return nil
+}
+
type isBootstrap_StatsFlush interface {
isBootstrap_StatsFlush()
}
type Bootstrap_StatsFlushOnAdmin struct {
// Flush stats to sinks only when queried for on the admin interface. If set,
- // a flush timer is not created. Only one of `stats_flush_on_admin` or
- // `stats_flush_interval` can be set.
+ // a flush timer is not created. Only one of ``stats_flush_on_admin`` or
+ // ``stats_flush_interval`` can be set.
StatsFlushOnAdmin bool `protobuf:"varint,29,opt,name=stats_flush_on_admin,json=statsFlushOnAdmin,proto3,oneof"`
}
@@ -642,7 +685,7 @@ type Admin struct {
// The path to write the access log for the administration server. If no
// access log is desired specify ‘/dev/null’. This is only required if
// :ref:`address ` is set.
- // Deprecated in favor of *access_log* which offers more options.
+ // Deprecated in favor of ``access_log`` which offers more options.
//
// Deprecated: Do not use.
AccessLogPath string `protobuf:"bytes,1,opt,name=access_log_path,json=accessLogPath,proto3" json:"access_log_path,omitempty"`
@@ -744,7 +787,7 @@ type ClusterManager struct {
// Name of the local cluster (i.e., the cluster that owns the Envoy running
// this configuration). In order to enable :ref:`zone aware routing
// ` this option must be set.
- // If *local_cluster_name* is defined then :ref:`clusters
+ // If ``local_cluster_name`` is defined then :ref:`clusters
// ` must be defined in the :ref:`Bootstrap
// static cluster resources
// `. This is unrelated to
@@ -757,7 +800,7 @@ type ClusterManager struct {
// This may be overridden on a per-cluster basis by upstream_bind_config in the cds_config.
UpstreamBindConfig *v3.BindConfig `protobuf:"bytes,3,opt,name=upstream_bind_config,json=upstreamBindConfig,proto3" json:"upstream_bind_config,omitempty"`
// A management server endpoint to stream load stats to via
- // *StreamLoadStats*. This must have :ref:`api_type
+ // ``StreamLoadStats``. This must have :ref:`api_type
// ` :ref:`GRPC
// `.
LoadStatsConfig *v3.ApiConfigSource `protobuf:"bytes,4,opt,name=load_stats_config,json=loadStatsConfig,proto3" json:"load_stats_config,omitempty"`
@@ -893,31 +936,31 @@ type Watchdog struct {
unknownFields protoimpl.UnknownFields
// Register actions that will fire on given WatchDog events.
- // See *WatchDogAction* for priority of events.
+ // See ``WatchDogAction`` for priority of events.
Actions []*Watchdog_WatchdogAction `protobuf:"bytes,7,rep,name=actions,proto3" json:"actions,omitempty"`
// The duration after which Envoy counts a nonresponsive thread in the
- // *watchdog_miss* statistic. If not specified the default is 200ms.
+ // ``watchdog_miss`` statistic. If not specified the default is 200ms.
MissTimeout *duration.Duration `protobuf:"bytes,1,opt,name=miss_timeout,json=missTimeout,proto3" json:"miss_timeout,omitempty"`
// The duration after which Envoy counts a nonresponsive thread in the
- // *watchdog_mega_miss* statistic. If not specified the default is
+ // ``watchdog_mega_miss`` statistic. If not specified the default is
// 1000ms.
MegamissTimeout *duration.Duration `protobuf:"bytes,2,opt,name=megamiss_timeout,json=megamissTimeout,proto3" json:"megamiss_timeout,omitempty"`
// If a watched thread has been nonresponsive for this duration, assume a
// programming error and kill the entire Envoy process. Set to 0 to disable
// kill behavior. If not specified the default is 0 (disabled).
KillTimeout *duration.Duration `protobuf:"bytes,3,opt,name=kill_timeout,json=killTimeout,proto3" json:"kill_timeout,omitempty"`
- // Defines the maximum jitter used to adjust the *kill_timeout* if *kill_timeout* is
+ // Defines the maximum jitter used to adjust the ``kill_timeout`` if ``kill_timeout`` is
// enabled. Enabling this feature would help to reduce risk of synchronized
// watchdog kill events across proxies due to external triggers. Set to 0 to
// disable. If not specified the default is 0 (disabled).
MaxKillTimeoutJitter *duration.Duration `protobuf:"bytes,6,opt,name=max_kill_timeout_jitter,json=maxKillTimeoutJitter,proto3" json:"max_kill_timeout_jitter,omitempty"`
- // If max(2, ceil(registered_threads * Fraction(*multikill_threshold*)))
+ // If ``max(2, ceil(registered_threads * Fraction(*multikill_threshold*)))``
// threads have been nonresponsive for at least this duration kill the entire
// Envoy process. Set to 0 to disable this behavior. If not specified the
// default is 0 (disabled).
MultikillTimeout *duration.Duration `protobuf:"bytes,4,opt,name=multikill_timeout,json=multikillTimeout,proto3" json:"multikill_timeout,omitempty"`
- // Sets the threshold for *multikill_timeout* in terms of the percentage of
- // nonresponsive threads required for the *multikill_timeout*.
+ // Sets the threshold for ``multikill_timeout`` in terms of the percentage of
+ // nonresponsive threads required for the ``multikill_timeout``.
// If not specified the default is 0.
MultikillThreshold *v35.Percent `protobuf:"bytes,5,opt,name=multikill_threshold,json=multikillThreshold,proto3" json:"multikill_threshold,omitempty"`
}
@@ -1009,7 +1052,7 @@ func (x *Watchdog) GetMultikillThreshold() *v35.Percent {
// have an out of band system to terminate the process.
//
// The interface for the extension is ``Envoy::Server::Configuration::FatalAction``.
-// *FatalAction* extensions live in the ``envoy.extensions.fatal_actions`` API
+// ``FatalAction`` extensions live in the ``envoy.extensions.fatal_actions`` API
// namespace.
type FatalAction struct {
state protoimpl.MessageState
@@ -1810,7 +1853,7 @@ type RuntimeLayer_RtdsLayer struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // Resource to subscribe to at *rtds_config* for the RTDS layer.
+ // Resource to subscribe to at ``rtds_config`` for the RTDS layer.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// RTDS configuration source.
RtdsConfig *v3.ConfigSource `protobuf:"bytes,2,opt,name=rtds_config,json=rtdsConfig,proto3" json:"rtds_config,omitempty"`
@@ -1925,7 +1968,7 @@ var file_envoy_config_bootstrap_v3_bootstrap_proto_rawDesc = []byte{
0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69,
0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61,
0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x22, 0xbc, 0x1a, 0x0a, 0x09, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x12,
+ 0x6f, 0x22, 0xe2, 0x1c, 0x0a, 0x09, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x12,
0x2e, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72,
0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12,
@@ -2081,297 +2124,316 @@ var file_envoy_config_bootstrap_v3_bootstrap_proto_rawDesc = []byte{
0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76,
0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52,
- 0x65, 0x67, 0x65, 0x78, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x1a, 0x9a, 0x02, 0x0a, 0x0f, 0x53,
- 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x40,
- 0x0a, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
- 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73,
- 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73,
- 0x12, 0x3c, 0x0a, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03,
- 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75,
- 0x73, 0x74, 0x65, 0x72, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x4b,
- 0x0a, 0x07, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
- 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
- 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63,
- 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x65, 0x63, 0x72,
- 0x65, 0x74, 0x52, 0x07, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x3a, 0x3a, 0x9a, 0xc5, 0x88,
- 0x1e, 0x35, 0x0a, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f,
- 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65,
- 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x1a, 0x89, 0x03, 0x0a, 0x10, 0x44, 0x79, 0x6e, 0x61,
- 0x6d, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x0a,
- 0x6c, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
- 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x6c, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
- 0x32, 0x0a, 0x15, 0x6c, 0x64, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73,
- 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13,
- 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x4c, 0x6f, 0x63, 0x61,
- 0x74, 0x6f, 0x72, 0x12, 0x41, 0x0a, 0x0a, 0x63, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
- 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43,
- 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x63, 0x64, 0x73,
- 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x64, 0x73, 0x5f, 0x72, 0x65,
- 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x18,
- 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x63, 0x64, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
- 0x63, 0x65, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x44, 0x0a, 0x0a, 0x61, 0x64,
- 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25,
- 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f,
- 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x70, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x61, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x3a, 0x3b, 0x9a, 0xc5, 0x88, 0x1e, 0x36, 0x0a, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
- 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e,
- 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x44, 0x79, 0x6e,
- 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x4a, 0x04, 0x08,
- 0x04, 0x10, 0x05, 0x1a, 0x7b, 0x0a, 0x21, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
- 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e,
- 0x63, 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, 0x40, 0x0a, 0x05, 0x76, 0x61,
- 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
- 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33,
- 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43,
- 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
- 0x3a, 0x2a, 0x9a, 0xc5, 0x88, 0x1e, 0x25, 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
- 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e,
- 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x42, 0x0d, 0x0a, 0x0b,
- 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x4a, 0x04, 0x08, 0x0a, 0x10,
- 0x0b, 0x4a, 0x04, 0x08, 0x0b, 0x10, 0x0c, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65,
- 0x22, 0x89, 0x03, 0x0a, 0x05, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x43, 0x0a, 0x0a, 0x61, 0x63,
- 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24,
- 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63,
- 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73,
- 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12,
- 0x33, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x70, 0x61,
- 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0x18, 0x01, 0x92, 0xc7, 0x86, 0xd8,
- 0x04, 0x03, 0x33, 0x2e, 0x30, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67,
- 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f,
- 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x66,
- 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65,
- 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e,
- 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
- 0x12, 0x49, 0x0a, 0x0e, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f,
- 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e,
- 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x6f,
- 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x69,
- 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e,
- 0x6e, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69,
- 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x4c,
- 0x69, 0x6d, 0x69, 0x74, 0x3a, 0x26, 0x9a, 0xc5, 0x88, 0x1e, 0x21, 0x0a, 0x1f, 0x65, 0x6e, 0x76,
- 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74,
- 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0xcb, 0x04, 0x0a,
- 0x0e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12,
- 0x2c, 0x0a, 0x12, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
- 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, 0x6f, 0x63,
- 0x61, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x67, 0x0a,
- 0x11, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69,
- 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61,
- 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x61,
- 0x67, 0x65, 0x72, 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, 0x52, 0x0a, 0x14, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65,
- 0x61, 0x6d, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e,
- 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x69, 0x6e, 0x64,
- 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d,
- 0x42, 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x51, 0x0a, 0x11, 0x6c, 0x6f,
- 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18,
- 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x70, 0x69,
- 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0f, 0x6c, 0x6f,
- 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xc9, 0x01,
- 0x0a, 0x10, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69,
- 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x5f,
- 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e,
- 0x74, 0x4c, 0x6f, 0x67, 0x50, 0x61, 0x74, 0x68, 0x12, 0x4d, 0x0a, 0x0d, 0x65, 0x76, 0x65, 0x6e,
- 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63,
- 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76,
- 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74,
- 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x3a, 0x40, 0x9a, 0xc5, 0x88, 0x1e, 0x3b, 0x0a, 0x39,
- 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f,
- 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
- 0x72, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72,
- 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x2f, 0x9a, 0xc5, 0x88, 0x1e, 0x2a,
- 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62,
- 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73,
- 0x74, 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x22, 0xb0, 0x01, 0x0a, 0x09, 0x57,
- 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x73, 0x12, 0x55, 0x0a, 0x14, 0x6d, 0x61, 0x69, 0x6e,
- 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
- 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e,
- 0x76, 0x33, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x52, 0x12, 0x6d, 0x61, 0x69,
- 0x6e, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x12,
- 0x4c, 0x0a, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x64,
- 0x6f, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61,
- 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x52, 0x0e, 0x77,
- 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x22, 0xba, 0x06,
- 0x0a, 0x08, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x12, 0x4c, 0x0a, 0x07, 0x61, 0x63,
- 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e,
- 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73,
- 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67,
- 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52,
- 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x6d, 0x69, 0x73, 0x73,
- 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 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, 0x6d, 0x69, 0x73, 0x73, 0x54,
- 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x44, 0x0a, 0x10, 0x6d, 0x65, 0x67, 0x61, 0x6d, 0x69,
- 0x73, 0x73, 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, 0x0f, 0x6d, 0x65, 0x67,
- 0x61, 0x6d, 0x69, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x3c, 0x0a, 0x0c,
- 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 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, 0x0b, 0x6b,
- 0x69, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x5a, 0x0a, 0x17, 0x6d, 0x61,
- 0x78, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x6a,
- 0x69, 0x74, 0x74, 0x65, 0x72, 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, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x32, 0x00,
- 0x52, 0x14, 0x6d, 0x61, 0x78, 0x4b, 0x69, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74,
- 0x4a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x12, 0x46, 0x0a, 0x11, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x6b,
- 0x69, 0x6c, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 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, 0x10, 0x6d, 0x75,
- 0x6c, 0x74, 0x69, 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x47,
- 0x0a, 0x13, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x74, 0x68, 0x72, 0x65,
- 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e,
- 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63,
- 0x65, 0x6e, 0x74, 0x52, 0x12, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x68,
- 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x1a, 0x85, 0x02, 0x0a, 0x0e, 0x57, 0x61, 0x74, 0x63,
- 0x68, 0x64, 0x6f, 0x67, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x06, 0x63, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76,
+ 0x65, 0x67, 0x65, 0x78, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x60, 0x0a, 0x16, 0x78, 0x64,
+ 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e,
+ 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76,
0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76,
0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
- 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x60,
- 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e,
- 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f,
- 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64,
- 0x6f, 0x67, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x41, 0x63, 0x74, 0x69, 0x6f,
- 0x6e, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42,
- 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74,
- 0x22, 0x4d, 0x0a, 0x0d, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x45, 0x76, 0x65, 0x6e,
- 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08,
- 0x0a, 0x04, 0x4b, 0x49, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4d, 0x55, 0x4c, 0x54,
- 0x49, 0x4b, 0x49, 0x4c, 0x4c, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x45, 0x47, 0x41, 0x4d,
- 0x49, 0x53, 0x53, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x4d, 0x49, 0x53, 0x53, 0x10, 0x04, 0x3a,
- 0x29, 0x9a, 0xc5, 0x88, 0x1e, 0x24, 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f,
+ 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x14, 0x78, 0x64, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x67,
+ 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x6b, 0x0a, 0x1c,
+ 0x78, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b,
+ 0x65, 0x72, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x24, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45,
+ 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x19,
+ 0x78, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x72,
+ 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x55, 0x0a, 0x10, 0x6c, 0x69, 0x73,
+ 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0x25, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64,
+ 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
+ 0x0f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
+ 0x1a, 0x9a, 0x02, 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72,
+ 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
+ 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e,
+ 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x6c, 0x69, 0x73,
+ 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x3c, 0x0a, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65,
+ 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
+ 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e,
+ 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73,
+ 0x74, 0x65, 0x72, 0x73, 0x12, 0x4b, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x18,
+ 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78,
+ 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f,
+ 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76,
+ 0x33, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x07, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74,
+ 0x73, 0x3a, 0x3a, 0x9a, 0xc5, 0x88, 0x1e, 0x35, 0x0a, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
+ 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70,
+ 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x53, 0x74,
+ 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x1a, 0x89, 0x03,
+ 0x0a, 0x10, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x73, 0x12, 0x41, 0x0a, 0x0a, 0x6c, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x6c, 0x64, 0x73, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x15, 0x6c, 0x64, 0x73, 0x5f, 0x72, 0x65, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x41, 0x0a, 0x0a, 0x63, 0x64, 0x73,
+ 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e,
+ 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72,
+ 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x52, 0x09, 0x63, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x15,
+ 0x63, 0x64, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x5f, 0x6c, 0x6f,
+ 0x63, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x63, 0x64, 0x73,
+ 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72,
+ 0x12, 0x44, 0x0a, 0x0a, 0x61, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x70, 0x69, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x61, 0x64, 0x73,
+ 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x3b, 0x9a, 0xc5, 0x88, 0x1e, 0x36, 0x0a, 0x34, 0x65,
+ 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74,
+ 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72,
+ 0x61, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x73, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x1a, 0x7b, 0x0a, 0x21, 0x43, 0x65, 0x72,
+ 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
+ 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 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, 0x40, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63,
+ 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65,
+ 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x2a, 0x9a, 0xc5, 0x88, 0x1e, 0x25, 0x0a, 0x23, 0x65,
+ 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74,
+ 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72,
+ 0x61, 0x70, 0x42, 0x0d, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x66, 0x6c, 0x75, 0x73,
+ 0x68, 0x4a, 0x04, 0x08, 0x0a, 0x10, 0x0b, 0x4a, 0x04, 0x08, 0x0b, 0x10, 0x0c, 0x52, 0x07, 0x72,
+ 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x89, 0x03, 0x0a, 0x05, 0x41, 0x64, 0x6d, 0x69, 0x6e,
+ 0x12, 0x43, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x05,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33,
+ 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65,
+ 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x33, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f,
+ 0x6c, 0x6f, 0x67, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b,
+ 0x18, 0x01, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x52, 0x0d, 0x61, 0x63, 0x63,
+ 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72,
+ 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x37, 0x0a,
+ 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d,
+ 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f,
+ 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61,
+ 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x49, 0x0a, 0x0e, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74,
+ 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22,
+ 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f,
+ 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x67, 0x6c, 0x6f, 0x62,
+ 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61,
+ 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x3a, 0x26, 0x9a, 0xc5, 0x88, 0x1e,
+ 0x21, 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
+ 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x64, 0x6d,
+ 0x69, 0x6e, 0x22, 0xcb, 0x04, 0x0a, 0x0e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x61,
+ 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x63,
+ 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e,
+ 0x61, 0x6d, 0x65, 0x12, 0x67, 0x0a, 0x11, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x64,
+ 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a,
+ 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f,
+ 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74,
+ 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 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, 0x52, 0x0a, 0x14,
+ 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x5f, 0x63, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76,
+ 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76,
+ 0x33, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x75, 0x70,
+ 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x12, 0x51, 0x0a, 0x11, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e,
+ 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
+ 0x76, 0x33, 0x2e, 0x41, 0x70, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x52, 0x0f, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x1a, 0xc9, 0x01, 0x0a, 0x10, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44,
+ 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x76, 0x65, 0x6e,
+ 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x50, 0x61, 0x74, 0x68, 0x12, 0x4d,
+ 0x0a, 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x76, 0x65,
+ 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
+ 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x3a, 0x40, 0x9a,
+ 0xc5, 0x88, 0x1e, 0x3b, 0x0a, 0x39, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e,
+ 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x4f,
+ 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3a,
+ 0x2f, 0x9a, 0xc5, 0x88, 0x1e, 0x2a, 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76,
- 0x32, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x22, 0x51, 0x0a, 0x0b, 0x46, 0x61,
- 0x74, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x06, 0x63, 0x6f, 0x6e,
- 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
- 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33,
- 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43,
- 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xdc, 0x01,
- 0x0a, 0x07, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x79, 0x6d,
- 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x0b, 0x73, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x22, 0x0a, 0x0c,
- 0x73, 0x75, 0x62, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79,
- 0x12, 0x33, 0x0a, 0x15, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x73, 0x75, 0x62,
- 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x14, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x53, 0x75, 0x62, 0x64, 0x69, 0x72, 0x65,
- 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x2b, 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, 0x18, 0x04, 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, 0x62, 0x61,
- 0x73, 0x65, 0x3a, 0x28, 0x9a, 0xc5, 0x88, 0x1e, 0x23, 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61,
- 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x22, 0xdb, 0x06, 0x0a,
- 0x0c, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1b, 0x0a,
- 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04,
- 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x73, 0x74,
- 0x61, 0x74, 0x69, 0x63, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 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, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x61,
- 0x74, 0x69, 0x63, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x0a, 0x64, 0x69, 0x73, 0x6b,
- 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65,
+ 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
+ 0x22, 0xb0, 0x01, 0x0a, 0x09, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x73, 0x12, 0x55,
+ 0x0a, 0x14, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x61,
+ 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65,
0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74,
- 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65,
- 0x4c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x48,
- 0x00, 0x52, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x0b,
- 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f,
+ 0x67, 0x52, 0x12, 0x6d, 0x61, 0x69, 0x6e, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x57, 0x61, 0x74,
+ 0x63, 0x68, 0x64, 0x6f, 0x67, 0x12, 0x4c, 0x0a, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f,
+ 0x77, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23,
+ 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f,
+ 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68,
+ 0x64, 0x6f, 0x67, 0x52, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x61, 0x74, 0x63, 0x68,
+ 0x64, 0x6f, 0x67, 0x22, 0xba, 0x06, 0x0a, 0x08, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67,
+ 0x12, 0x4c, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75,
- 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e,
- 0x4c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x61,
- 0x79, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x0a, 0x72, 0x74, 0x64, 0x73, 0x5f, 0x6c, 0x61, 0x79, 0x65,
- 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
+ 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x57, 0x61,
+ 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x41,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c,
+ 0x0a, 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01,
+ 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, 0x6d, 0x69, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x44, 0x0a, 0x10,
+ 0x6d, 0x65, 0x67, 0x61, 0x6d, 0x69, 0x73, 0x73, 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, 0x0f, 0x6d, 0x65, 0x67, 0x61, 0x6d, 0x69, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f,
+ 0x75, 0x74, 0x12, 0x3c, 0x0a, 0x0c, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f,
+ 0x75, 0x74, 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, 0x0b, 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74,
+ 0x12, 0x5a, 0x0a, 0x17, 0x6d, 0x61, 0x78, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x74, 0x69, 0x6d,
+ 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 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, 0x42, 0x08, 0xfa, 0x42,
+ 0x05, 0xaa, 0x01, 0x02, 0x32, 0x00, 0x52, 0x14, 0x6d, 0x61, 0x78, 0x4b, 0x69, 0x6c, 0x6c, 0x54,
+ 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x12, 0x46, 0x0a, 0x11,
+ 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75,
+ 0x74, 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, 0x10, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x69, 0x6d,
+ 0x65, 0x6f, 0x75, 0x74, 0x12, 0x47, 0x0a, 0x13, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x6b, 0x69, 0x6c,
+ 0x6c, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76,
+ 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x12, 0x6d, 0x75, 0x6c, 0x74, 0x69,
+ 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x1a, 0x85, 0x02,
+ 0x0a, 0x0e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x12, 0x42, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
+ 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74,
+ 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x12, 0x60, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e,
+ 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f,
+ 0x67, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67,
+ 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52,
+ 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x4d, 0x0a, 0x0d, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64,
+ 0x6f, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f,
+ 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4b, 0x49, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x0d,
+ 0x0a, 0x09, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x4b, 0x49, 0x4c, 0x4c, 0x10, 0x02, 0x12, 0x0c, 0x0a,
+ 0x08, 0x4d, 0x45, 0x47, 0x41, 0x4d, 0x49, 0x53, 0x53, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x4d,
+ 0x49, 0x53, 0x53, 0x10, 0x04, 0x3a, 0x29, 0x9a, 0xc5, 0x88, 0x1e, 0x24, 0x0a, 0x22, 0x65, 0x6e,
+ 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73,
+ 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67,
+ 0x22, 0x51, 0x0a, 0x0b, 0x46, 0x61, 0x74, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+ 0x42, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63,
+ 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65,
+ 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x22, 0xdc, 0x01, 0x0a, 0x07, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12,
+ 0x21, 0x0a, 0x0c, 0x73, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x52, 0x6f,
+ 0x6f, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x64, 0x69, 0x72,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x33, 0x0a, 0x15, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69,
+ 0x64, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x53,
+ 0x75, 0x62, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x2b, 0x0a, 0x04, 0x62,
+ 0x61, 0x73, 0x65, 0x18, 0x04, 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, 0x62, 0x61, 0x73, 0x65, 0x3a, 0x28, 0x9a, 0xc5, 0x88, 0x1e, 0x23, 0x0a,
+ 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f,
+ 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69,
+ 0x6d, 0x65, 0x22, 0xdb, 0x06, 0x0a, 0x0c, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x61,
+ 0x79, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
+ 0x12, 0x3c, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 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, 0x48,
+ 0x00, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x52,
+ 0x0a, 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x52,
+ 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x44, 0x69, 0x73, 0x6b,
+ 0x4c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x4c, 0x61, 0x79,
+ 0x65, 0x72, 0x12, 0x55, 0x0a, 0x0b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70,
0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x79, 0x65, 0x72,
- 0x2e, 0x52, 0x74, 0x64, 0x73, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x72, 0x74,
- 0x64, 0x73, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x1a, 0xc1, 0x01, 0x0a, 0x09, 0x44, 0x69, 0x73, 0x6b,
- 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b,
- 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x79, 0x6d,
- 0x6c, 0x69, 0x6e, 0x6b, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x64,
- 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
- 0x73, 0x75, 0x62, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x34, 0x0a, 0x16,
- 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63,
- 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x61, 0x70,
- 0x70, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
- 0x65, 0x72, 0x3a, 0x37, 0x9a, 0xc5, 0x88, 0x1e, 0x32, 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61,
- 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x79, 0x65,
- 0x72, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x1a, 0x46, 0x0a, 0x0a, 0x41,
- 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x3a, 0x38, 0x9a, 0xc5, 0x88, 0x1e, 0x33,
- 0x0a, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62,
- 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x74,
- 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x61,
- 0x79, 0x65, 0x72, 0x1a, 0x9d, 0x01, 0x0a, 0x09, 0x52, 0x74, 0x64, 0x73, 0x4c, 0x61, 0x79, 0x65,
- 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x0b, 0x72, 0x74, 0x64, 0x73, 0x5f, 0x63, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76,
- 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76,
- 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0a,
- 0x72, 0x74, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x37, 0x9a, 0xc5, 0x88, 0x1e,
- 0x32, 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
- 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e,
- 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x52, 0x74, 0x64, 0x73, 0x4c, 0x61,
- 0x79, 0x65, 0x72, 0x3a, 0x2d, 0x9a, 0xc5, 0x88, 0x1e, 0x28, 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f,
- 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72,
- 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x79,
- 0x65, 0x72, 0x42, 0x16, 0x0a, 0x0f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63,
- 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x82, 0x01, 0x0a, 0x0e, 0x4c,
- 0x61, 0x79, 0x65, 0x72, 0x65, 0x64, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a,
- 0x06, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e,
+ 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x61,
+ 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x0a, 0x72, 0x74, 0x64,
+ 0x73, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e,
0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f,
0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d,
- 0x65, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x06, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x3a, 0x2f,
- 0x9a, 0xc5, 0x88, 0x1e, 0x2a, 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e,
- 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32,
- 0x2e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x65, 0x64, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x22,
- 0xb1, 0x02, 0x0a, 0x12, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65,
- 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x12, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65,
- 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0xc0, 0x01, 0x01, 0xc8, 0x01,
- 0x00, 0x52, 0x10, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e,
- 0x61, 0x6d, 0x65, 0x12, 0x76, 0x0a, 0x12, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x68, 0x65,
- 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32,
- 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62,
- 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x75, 0x73, 0x74,
- 0x6f, 0x6d, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x49,
- 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x42,
- 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x6c, 0x69, 0x6e,
- 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x22, 0x66, 0x0a, 0x10, 0x49,
- 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12,
- 0x12, 0x0a, 0x0e, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45,
- 0x52, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x54,
- 0x52, 0x41, 0x49, 0x4c, 0x45, 0x52, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x45, 0x53, 0x50,
- 0x4f, 0x4e, 0x53, 0x45, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x02, 0x12, 0x14, 0x0a,
- 0x10, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x49, 0x4c, 0x45,
- 0x52, 0x10, 0x03, 0x42, 0x91, 0x01, 0x0a, 0x27, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
- 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x42,
- 0x0e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50,
- 0x01, 0x5a, 0x4c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e,
- 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74,
- 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f,
- 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70,
- 0x2f, 0x76, 0x33, 0x3b, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x76, 0x33, 0xba,
- 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x65, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x52, 0x74, 0x64, 0x73, 0x4c, 0x61, 0x79, 0x65, 0x72,
+ 0x48, 0x00, 0x52, 0x09, 0x72, 0x74, 0x64, 0x73, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x1a, 0xc1, 0x01,
+ 0x0a, 0x09, 0x44, 0x69, 0x73, 0x6b, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x73,
+ 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x0b, 0x73, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x22,
+ 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x79, 0x12, 0x34, 0x0a, 0x16, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72,
+ 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x14, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
+ 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x3a, 0x37, 0x9a, 0xc5, 0x88, 0x1e, 0x32, 0x0a,
+ 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f,
+ 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69,
+ 0x6d, 0x65, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x4c, 0x61, 0x79, 0x65,
+ 0x72, 0x1a, 0x46, 0x0a, 0x0a, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x3a,
+ 0x38, 0x9a, 0xc5, 0x88, 0x1e, 0x33, 0x0a, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76,
+ 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x41,
+ 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x1a, 0x9d, 0x01, 0x0a, 0x09, 0x52, 0x74,
+ 0x64, 0x73, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x0b, 0x72,
+ 0x74, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
+ 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x52, 0x0a, 0x72, 0x74, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x3a, 0x37, 0x9a, 0xc5, 0x88, 0x1e, 0x32, 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e,
+ 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x2e,
+ 0x52, 0x74, 0x64, 0x73, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x3a, 0x2d, 0x9a, 0xc5, 0x88, 0x1e, 0x28,
+ 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62,
+ 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x74,
+ 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x16, 0x0a, 0x0f, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01,
+ 0x22, 0x82, 0x01, 0x0a, 0x0e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x65, 0x64, 0x52, 0x75, 0x6e, 0x74,
+ 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x06, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e,
+ 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x06, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x73, 0x3a, 0x2f, 0x9a, 0xc5, 0x88, 0x1e, 0x2a, 0x0a, 0x28, 0x65, 0x6e, 0x76,
+ 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74,
+ 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x65, 0x64, 0x52, 0x75,
+ 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x22, 0xb1, 0x02, 0x0a, 0x12, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d,
+ 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x12,
+ 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61,
+ 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10,
+ 0x01, 0xc0, 0x01, 0x01, 0xc8, 0x01, 0x00, 0x52, 0x10, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x48,
+ 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x76, 0x0a, 0x12, 0x69, 0x6e, 0x6c,
+ 0x69, 0x6e, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76,
+ 0x33, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x48, 0x65,
+ 0x61, 0x64, 0x65, 0x72, 0x2e, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65,
+ 0x72, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52,
+ 0x10, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70,
+ 0x65, 0x22, 0x66, 0x0a, 0x10, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65,
+ 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54,
+ 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x45, 0x51,
+ 0x55, 0x45, 0x53, 0x54, 0x5f, 0x54, 0x52, 0x41, 0x49, 0x4c, 0x45, 0x52, 0x10, 0x01, 0x12, 0x13,
+ 0x0a, 0x0f, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45,
+ 0x52, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x5f,
+ 0x54, 0x52, 0x41, 0x49, 0x4c, 0x45, 0x52, 0x10, 0x03, 0x42, 0x91, 0x01, 0x0a, 0x27, 0x69, 0x6f,
+ 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
+ 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72,
+ 0x61, 0x70, 0x2e, 0x76, 0x33, 0x42, 0x0e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70,
+ 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67,
+ 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f,
+ 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x62, 0x6f, 0x6f,
+ 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x3b, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74,
+ 0x72, 0x61, 0x70, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -2456,45 +2518,48 @@ var file_envoy_config_bootstrap_v3_bootstrap_proto_depIdxs = []int32{
14, // 21: envoy.config.bootstrap.v3.Bootstrap.certificate_provider_instances:type_name -> envoy.config.bootstrap.v3.Bootstrap.CertificateProviderInstancesEntry
11, // 22: envoy.config.bootstrap.v3.Bootstrap.inline_headers:type_name -> envoy.config.bootstrap.v3.CustomInlineHeader
29, // 23: envoy.config.bootstrap.v3.Bootstrap.default_regex_engine:type_name -> envoy.config.core.v3.TypedExtensionConfig
- 31, // 24: envoy.config.bootstrap.v3.Admin.access_log:type_name -> envoy.config.accesslog.v3.AccessLog
- 32, // 25: envoy.config.bootstrap.v3.Admin.address:type_name -> envoy.config.core.v3.Address
- 33, // 26: envoy.config.bootstrap.v3.Admin.socket_options:type_name -> envoy.config.core.v3.SocketOption
- 15, // 27: envoy.config.bootstrap.v3.ClusterManager.outlier_detection:type_name -> envoy.config.bootstrap.v3.ClusterManager.OutlierDetection
- 34, // 28: envoy.config.bootstrap.v3.ClusterManager.upstream_bind_config:type_name -> envoy.config.core.v3.BindConfig
- 21, // 29: envoy.config.bootstrap.v3.ClusterManager.load_stats_config:type_name -> envoy.config.core.v3.ApiConfigSource
- 6, // 30: envoy.config.bootstrap.v3.Watchdogs.main_thread_watchdog:type_name -> envoy.config.bootstrap.v3.Watchdog
- 6, // 31: envoy.config.bootstrap.v3.Watchdogs.worker_watchdog:type_name -> envoy.config.bootstrap.v3.Watchdog
- 16, // 32: envoy.config.bootstrap.v3.Watchdog.actions:type_name -> envoy.config.bootstrap.v3.Watchdog.WatchdogAction
- 24, // 33: envoy.config.bootstrap.v3.Watchdog.miss_timeout:type_name -> google.protobuf.Duration
- 24, // 34: envoy.config.bootstrap.v3.Watchdog.megamiss_timeout:type_name -> google.protobuf.Duration
- 24, // 35: envoy.config.bootstrap.v3.Watchdog.kill_timeout:type_name -> google.protobuf.Duration
- 24, // 36: envoy.config.bootstrap.v3.Watchdog.max_kill_timeout_jitter:type_name -> google.protobuf.Duration
- 24, // 37: envoy.config.bootstrap.v3.Watchdog.multikill_timeout:type_name -> google.protobuf.Duration
- 35, // 38: envoy.config.bootstrap.v3.Watchdog.multikill_threshold:type_name -> envoy.type.v3.Percent
- 29, // 39: envoy.config.bootstrap.v3.FatalAction.config:type_name -> envoy.config.core.v3.TypedExtensionConfig
- 36, // 40: envoy.config.bootstrap.v3.Runtime.base:type_name -> google.protobuf.Struct
- 36, // 41: envoy.config.bootstrap.v3.RuntimeLayer.static_layer:type_name -> google.protobuf.Struct
- 17, // 42: envoy.config.bootstrap.v3.RuntimeLayer.disk_layer:type_name -> envoy.config.bootstrap.v3.RuntimeLayer.DiskLayer
- 18, // 43: envoy.config.bootstrap.v3.RuntimeLayer.admin_layer:type_name -> envoy.config.bootstrap.v3.RuntimeLayer.AdminLayer
- 19, // 44: envoy.config.bootstrap.v3.RuntimeLayer.rtds_layer:type_name -> envoy.config.bootstrap.v3.RuntimeLayer.RtdsLayer
- 9, // 45: envoy.config.bootstrap.v3.LayeredRuntime.layers:type_name -> envoy.config.bootstrap.v3.RuntimeLayer
- 1, // 46: envoy.config.bootstrap.v3.CustomInlineHeader.inline_header_type:type_name -> envoy.config.bootstrap.v3.CustomInlineHeader.InlineHeaderType
- 37, // 47: envoy.config.bootstrap.v3.Bootstrap.StaticResources.listeners:type_name -> envoy.config.listener.v3.Listener
- 38, // 48: envoy.config.bootstrap.v3.Bootstrap.StaticResources.clusters:type_name -> envoy.config.cluster.v3.Cluster
- 39, // 49: envoy.config.bootstrap.v3.Bootstrap.StaticResources.secrets:type_name -> envoy.extensions.transport_sockets.tls.v3.Secret
- 30, // 50: envoy.config.bootstrap.v3.Bootstrap.DynamicResources.lds_config:type_name -> envoy.config.core.v3.ConfigSource
- 30, // 51: envoy.config.bootstrap.v3.Bootstrap.DynamicResources.cds_config:type_name -> envoy.config.core.v3.ConfigSource
- 21, // 52: envoy.config.bootstrap.v3.Bootstrap.DynamicResources.ads_config:type_name -> envoy.config.core.v3.ApiConfigSource
- 29, // 53: envoy.config.bootstrap.v3.Bootstrap.CertificateProviderInstancesEntry.value:type_name -> envoy.config.core.v3.TypedExtensionConfig
- 40, // 54: envoy.config.bootstrap.v3.ClusterManager.OutlierDetection.event_service:type_name -> envoy.config.core.v3.EventServiceConfig
- 29, // 55: envoy.config.bootstrap.v3.Watchdog.WatchdogAction.config:type_name -> envoy.config.core.v3.TypedExtensionConfig
- 0, // 56: envoy.config.bootstrap.v3.Watchdog.WatchdogAction.event:type_name -> envoy.config.bootstrap.v3.Watchdog.WatchdogAction.WatchdogEvent
- 30, // 57: envoy.config.bootstrap.v3.RuntimeLayer.RtdsLayer.rtds_config:type_name -> envoy.config.core.v3.ConfigSource
- 58, // [58:58] is the sub-list for method output_type
- 58, // [58:58] is the sub-list for method input_type
- 58, // [58:58] is the sub-list for extension type_name
- 58, // [58:58] is the sub-list for extension extendee
- 0, // [0:58] is the sub-list for field type_name
+ 29, // 24: envoy.config.bootstrap.v3.Bootstrap.xds_delegate_extension:type_name -> envoy.config.core.v3.TypedExtensionConfig
+ 29, // 25: envoy.config.bootstrap.v3.Bootstrap.xds_config_tracker_extension:type_name -> envoy.config.core.v3.TypedExtensionConfig
+ 29, // 26: envoy.config.bootstrap.v3.Bootstrap.listener_manager:type_name -> envoy.config.core.v3.TypedExtensionConfig
+ 31, // 27: envoy.config.bootstrap.v3.Admin.access_log:type_name -> envoy.config.accesslog.v3.AccessLog
+ 32, // 28: envoy.config.bootstrap.v3.Admin.address:type_name -> envoy.config.core.v3.Address
+ 33, // 29: envoy.config.bootstrap.v3.Admin.socket_options:type_name -> envoy.config.core.v3.SocketOption
+ 15, // 30: envoy.config.bootstrap.v3.ClusterManager.outlier_detection:type_name -> envoy.config.bootstrap.v3.ClusterManager.OutlierDetection
+ 34, // 31: envoy.config.bootstrap.v3.ClusterManager.upstream_bind_config:type_name -> envoy.config.core.v3.BindConfig
+ 21, // 32: envoy.config.bootstrap.v3.ClusterManager.load_stats_config:type_name -> envoy.config.core.v3.ApiConfigSource
+ 6, // 33: envoy.config.bootstrap.v3.Watchdogs.main_thread_watchdog:type_name -> envoy.config.bootstrap.v3.Watchdog
+ 6, // 34: envoy.config.bootstrap.v3.Watchdogs.worker_watchdog:type_name -> envoy.config.bootstrap.v3.Watchdog
+ 16, // 35: envoy.config.bootstrap.v3.Watchdog.actions:type_name -> envoy.config.bootstrap.v3.Watchdog.WatchdogAction
+ 24, // 36: envoy.config.bootstrap.v3.Watchdog.miss_timeout:type_name -> google.protobuf.Duration
+ 24, // 37: envoy.config.bootstrap.v3.Watchdog.megamiss_timeout:type_name -> google.protobuf.Duration
+ 24, // 38: envoy.config.bootstrap.v3.Watchdog.kill_timeout:type_name -> google.protobuf.Duration
+ 24, // 39: envoy.config.bootstrap.v3.Watchdog.max_kill_timeout_jitter:type_name -> google.protobuf.Duration
+ 24, // 40: envoy.config.bootstrap.v3.Watchdog.multikill_timeout:type_name -> google.protobuf.Duration
+ 35, // 41: envoy.config.bootstrap.v3.Watchdog.multikill_threshold:type_name -> envoy.type.v3.Percent
+ 29, // 42: envoy.config.bootstrap.v3.FatalAction.config:type_name -> envoy.config.core.v3.TypedExtensionConfig
+ 36, // 43: envoy.config.bootstrap.v3.Runtime.base:type_name -> google.protobuf.Struct
+ 36, // 44: envoy.config.bootstrap.v3.RuntimeLayer.static_layer:type_name -> google.protobuf.Struct
+ 17, // 45: envoy.config.bootstrap.v3.RuntimeLayer.disk_layer:type_name -> envoy.config.bootstrap.v3.RuntimeLayer.DiskLayer
+ 18, // 46: envoy.config.bootstrap.v3.RuntimeLayer.admin_layer:type_name -> envoy.config.bootstrap.v3.RuntimeLayer.AdminLayer
+ 19, // 47: envoy.config.bootstrap.v3.RuntimeLayer.rtds_layer:type_name -> envoy.config.bootstrap.v3.RuntimeLayer.RtdsLayer
+ 9, // 48: envoy.config.bootstrap.v3.LayeredRuntime.layers:type_name -> envoy.config.bootstrap.v3.RuntimeLayer
+ 1, // 49: envoy.config.bootstrap.v3.CustomInlineHeader.inline_header_type:type_name -> envoy.config.bootstrap.v3.CustomInlineHeader.InlineHeaderType
+ 37, // 50: envoy.config.bootstrap.v3.Bootstrap.StaticResources.listeners:type_name -> envoy.config.listener.v3.Listener
+ 38, // 51: envoy.config.bootstrap.v3.Bootstrap.StaticResources.clusters:type_name -> envoy.config.cluster.v3.Cluster
+ 39, // 52: envoy.config.bootstrap.v3.Bootstrap.StaticResources.secrets:type_name -> envoy.extensions.transport_sockets.tls.v3.Secret
+ 30, // 53: envoy.config.bootstrap.v3.Bootstrap.DynamicResources.lds_config:type_name -> envoy.config.core.v3.ConfigSource
+ 30, // 54: envoy.config.bootstrap.v3.Bootstrap.DynamicResources.cds_config:type_name -> envoy.config.core.v3.ConfigSource
+ 21, // 55: envoy.config.bootstrap.v3.Bootstrap.DynamicResources.ads_config:type_name -> envoy.config.core.v3.ApiConfigSource
+ 29, // 56: envoy.config.bootstrap.v3.Bootstrap.CertificateProviderInstancesEntry.value:type_name -> envoy.config.core.v3.TypedExtensionConfig
+ 40, // 57: envoy.config.bootstrap.v3.ClusterManager.OutlierDetection.event_service:type_name -> envoy.config.core.v3.EventServiceConfig
+ 29, // 58: envoy.config.bootstrap.v3.Watchdog.WatchdogAction.config:type_name -> envoy.config.core.v3.TypedExtensionConfig
+ 0, // 59: envoy.config.bootstrap.v3.Watchdog.WatchdogAction.event:type_name -> envoy.config.bootstrap.v3.Watchdog.WatchdogAction.WatchdogEvent
+ 30, // 60: envoy.config.bootstrap.v3.RuntimeLayer.RtdsLayer.rtds_config:type_name -> envoy.config.core.v3.ConfigSource
+ 61, // [61:61] is the sub-list for method output_type
+ 61, // [61:61] is the sub-list for method input_type
+ 61, // [61:61] is the sub-list for extension type_name
+ 61, // [61:61] is the sub-list for extension extendee
+ 0, // [0:61] is the sub-list for field type_name
}
func init() { file_envoy_config_bootstrap_v3_bootstrap_proto_init() }
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/bootstrap/v3/bootstrap.pb.validate.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/bootstrap/v3/bootstrap.pb.validate.go
index c3e62bdf18..0537932c0f 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/bootstrap/v3/bootstrap.pb.validate.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/bootstrap/v3/bootstrap.pb.validate.go
@@ -809,9 +809,105 @@ func (m *Bootstrap) validate(all bool) error {
}
}
- switch m.StatsFlush.(type) {
+ if all {
+ switch v := interface{}(m.GetXdsDelegateExtension()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, BootstrapValidationError{
+ field: "XdsDelegateExtension",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, BootstrapValidationError{
+ field: "XdsDelegateExtension",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetXdsDelegateExtension()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return BootstrapValidationError{
+ field: "XdsDelegateExtension",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if all {
+ switch v := interface{}(m.GetXdsConfigTrackerExtension()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, BootstrapValidationError{
+ field: "XdsConfigTrackerExtension",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, BootstrapValidationError{
+ field: "XdsConfigTrackerExtension",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetXdsConfigTrackerExtension()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return BootstrapValidationError{
+ field: "XdsConfigTrackerExtension",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if all {
+ switch v := interface{}(m.GetListenerManager()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, BootstrapValidationError{
+ field: "ListenerManager",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, BootstrapValidationError{
+ field: "ListenerManager",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetListenerManager()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return BootstrapValidationError{
+ field: "ListenerManager",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+ switch v := m.StatsFlush.(type) {
case *Bootstrap_StatsFlushOnAdmin:
+ if v == nil {
+ err := BootstrapValidationError{
+ field: "StatsFlush",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
if m.GetStatsFlushOnAdmin() != true {
err := BootstrapValidationError{
@@ -824,6 +920,8 @@ func (m *Bootstrap) validate(all bool) error {
errors = append(errors, err)
}
+ default:
+ _ = v // ensures v is used
}
if len(errors) > 0 {
@@ -2052,9 +2150,20 @@ func (m *RuntimeLayer) validate(all bool) error {
errors = append(errors, err)
}
- switch m.LayerSpecifier.(type) {
-
+ oneofLayerSpecifierPresent := false
+ switch v := m.LayerSpecifier.(type) {
case *RuntimeLayer_StaticLayer:
+ if v == nil {
+ err := RuntimeLayerValidationError{
+ field: "LayerSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofLayerSpecifierPresent = true
if all {
switch v := interface{}(m.GetStaticLayer()).(type) {
@@ -2086,6 +2195,17 @@ func (m *RuntimeLayer) validate(all bool) error {
}
case *RuntimeLayer_DiskLayer_:
+ if v == nil {
+ err := RuntimeLayerValidationError{
+ field: "LayerSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofLayerSpecifierPresent = true
if all {
switch v := interface{}(m.GetDiskLayer()).(type) {
@@ -2117,6 +2237,17 @@ func (m *RuntimeLayer) validate(all bool) error {
}
case *RuntimeLayer_AdminLayer_:
+ if v == nil {
+ err := RuntimeLayerValidationError{
+ field: "LayerSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofLayerSpecifierPresent = true
if all {
switch v := interface{}(m.GetAdminLayer()).(type) {
@@ -2148,6 +2279,17 @@ func (m *RuntimeLayer) validate(all bool) error {
}
case *RuntimeLayer_RtdsLayer_:
+ if v == nil {
+ err := RuntimeLayerValidationError{
+ field: "LayerSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofLayerSpecifierPresent = true
if all {
switch v := interface{}(m.GetRtdsLayer()).(type) {
@@ -2179,6 +2321,9 @@ func (m *RuntimeLayer) validate(all bool) error {
}
default:
+ _ = v // ensures v is used
+ }
+ if !oneofLayerSpecifierPresent {
err := RuntimeLayerValidationError{
field: "LayerSpecifier",
reason: "value is required",
@@ -2187,7 +2332,6 @@ func (m *RuntimeLayer) validate(all bool) error {
return err
}
errors = append(errors, err)
-
}
if len(errors) > 0 {
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/circuit_breaker.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/circuit_breaker.pb.go
index 0ba499b0e7..264ea82efa 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/circuit_breaker.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/circuit_breaker.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/config/cluster/v3/circuit_breaker.proto
package clusterv3
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/cluster.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/cluster.pb.go
index 1156a18184..4e68a99cfc 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/cluster.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/cluster.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/config/cluster/v3/cluster.proto
package clusterv3
@@ -14,7 +14,7 @@ import (
v31 "github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3"
v33 "github.com/envoyproxy/go-control-plane/envoy/type/v3"
_ "github.com/envoyproxy/protoc-gen-validate/validate"
- any "github.com/golang/protobuf/ptypes/any"
+ any1 "github.com/golang/protobuf/ptypes/any"
duration "github.com/golang/protobuf/ptypes/duration"
_struct "github.com/golang/protobuf/ptypes/struct"
wrappers "github.com/golang/protobuf/ptypes/wrappers"
@@ -366,6 +366,92 @@ func (Cluster_LbSubsetConfig_LbSubsetFallbackPolicy) EnumDescriptor() ([]byte, [
return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{1, 3, 0}
}
+type Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy int32
+
+const (
+ // No fallback. Route metadata will be used as-is.
+ Cluster_LbSubsetConfig_METADATA_NO_FALLBACK Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy = 0
+ // A special metadata key ``fallback_list`` will be used to provide variants of metadata to try.
+ // Value of ``fallback_list`` key has to be a list. Every list element has to be a struct - it will
+ // be merged with route metadata, overriding keys that appear in both places.
+ // ``fallback_list`` entries will be used in order until a host is found.
+ //
+ // ``fallback_list`` key itself is removed from metadata before subset load balancing is performed.
+ //
+ // Example:
+ //
+ // for metadata:
+ //
+ // .. code-block:: yaml
+ //
+ // version: 1.0
+ // fallback_list:
+ // - version: 2.0
+ // hardware: c64
+ // - hardware: c32
+ // - version: 3.0
+ //
+ // at first, metadata:
+ //
+ // .. code-block:: json
+ //
+ // {"version": "2.0", "hardware": "c64"}
+ //
+ // will be used for load balancing. If no host is found, metadata:
+ //
+ // .. code-block:: json
+ //
+ // {"version": "1.0", "hardware": "c32"}
+ //
+ // is next to try. If it still results in no host, finally metadata:
+ //
+ // .. code-block:: json
+ //
+ // {"version": "3.0"}
+ //
+ // is used.
+ Cluster_LbSubsetConfig_FALLBACK_LIST Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy = 1
+)
+
+// Enum value maps for Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy.
+var (
+ Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy_name = map[int32]string{
+ 0: "METADATA_NO_FALLBACK",
+ 1: "FALLBACK_LIST",
+ }
+ Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy_value = map[string]int32{
+ "METADATA_NO_FALLBACK": 0,
+ "FALLBACK_LIST": 1,
+ }
+)
+
+func (x Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy) Enum() *Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy {
+ p := new(Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy)
+ *p = x
+ return p
+}
+
+func (x Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy) Descriptor() protoreflect.EnumDescriptor {
+ return file_envoy_config_cluster_v3_cluster_proto_enumTypes[5].Descriptor()
+}
+
+func (Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy) Type() protoreflect.EnumType {
+ return &file_envoy_config_cluster_v3_cluster_proto_enumTypes[5]
+}
+
+func (x Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy.Descriptor instead.
+func (Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy) EnumDescriptor() ([]byte, []int) {
+ return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{1, 3, 1}
+}
+
// Allows to override top level fallback policy per selector.
type Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy int32
@@ -417,11 +503,11 @@ func (x Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy)
}
func (Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy) Descriptor() protoreflect.EnumDescriptor {
- return file_envoy_config_cluster_v3_cluster_proto_enumTypes[5].Descriptor()
+ return file_envoy_config_cluster_v3_cluster_proto_enumTypes[6].Descriptor()
}
func (Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy) Type() protoreflect.EnumType {
- return &file_envoy_config_cluster_v3_cluster_proto_enumTypes[5]
+ return &file_envoy_config_cluster_v3_cluster_proto_enumTypes[6]
}
func (x Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy) Number() protoreflect.EnumNumber {
@@ -468,11 +554,11 @@ func (x Cluster_RingHashLbConfig_HashFunction) String() string {
}
func (Cluster_RingHashLbConfig_HashFunction) Descriptor() protoreflect.EnumDescriptor {
- return file_envoy_config_cluster_v3_cluster_proto_enumTypes[6].Descriptor()
+ return file_envoy_config_cluster_v3_cluster_proto_enumTypes[7].Descriptor()
}
func (Cluster_RingHashLbConfig_HashFunction) Type() protoreflect.EnumType {
- return &file_envoy_config_cluster_v3_cluster_proto_enumTypes[6]
+ return &file_envoy_config_cluster_v3_cluster_proto_enumTypes[7]
}
func (x Cluster_RingHashLbConfig_HashFunction) Number() protoreflect.EnumNumber {
@@ -484,7 +570,7 @@ func (Cluster_RingHashLbConfig_HashFunction) EnumDescriptor() ([]byte, []int) {
return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{1, 7, 0}
}
-// Cluster list collections. Entries are *Cluster* resources or references.
+// Cluster list collections. Entries are ``Cluster`` resources or references.
// [#not-implemented-hide:]
type ClusterCollection struct {
state protoimpl.MessageState
@@ -541,7 +627,7 @@ type Cluster struct {
unknownFields protoimpl.UnknownFields
// Configuration to use different transport sockets for different endpoints.
- // The entry of *envoy.transport_socket_match* in the
+ // The entry of ``envoy.transport_socket_match`` in the
// :ref:`LbEndpoint.Metadata `
// is used to match against the transport sockets as they appear in the list. The first
// :ref:`match ` is used.
@@ -561,16 +647,16 @@ type Cluster struct {
// transport_socket:
// name: envoy.transport_sockets.raw_buffer
//
- // Connections to the endpoints whose metadata value under *envoy.transport_socket_match*
+ // Connections to the endpoints whose metadata value under ``envoy.transport_socket_match``
// having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
//
// If a :ref:`socket match ` with empty match
// criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
// socket match in case above.
//
- // If an endpoint metadata's value under *envoy.transport_socket_match* does not match any
- // *TransportSocketMatch*, socket configuration fallbacks to use the *tls_context* or
- // *transport_socket* specified in this cluster.
+ // If an endpoint metadata's value under ``envoy.transport_socket_match`` does not match any
+ // ``TransportSocketMatch``, socket configuration fallbacks to use the ``tls_context`` or
+ // ``transport_socket`` specified in this cluster.
//
// This field allows gradual and flexible transport socket configuration changes.
//
@@ -581,8 +667,8 @@ type Cluster struct {
//
// Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
// traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
- // *TransportSocketMatch* in this field. Other client Envoys receive CDS without
- // *transport_socket_match* set, and still send plain text traffic to the same cluster.
+ // ``TransportSocketMatch`` in this field. Other client Envoys receive CDS without
+ // ``transport_socket_match`` set, and still send plain text traffic to the same cluster.
//
// This field can be used to specify custom transport socket configurations for health
// checks by adding matching key/value pairs in a health check's
@@ -623,7 +709,7 @@ type Cluster struct {
// :ref:`STATIC`,
// :ref:`STRICT_DNS`
// or :ref:`LOGICAL_DNS` clusters.
- // This field supersedes the *hosts* field in the v2 API.
+ // This field supersedes the ``hosts`` field in the v2 API.
//
// .. attention::
//
@@ -689,7 +775,7 @@ type Cluster struct {
// set so that Envoy will assume that the upstream supports HTTP/2 when
// making new HTTP connection pool connections. Currently, Envoy only
// supports prior knowledge for upstream connections. Even if TLS is used
- // with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
+ // with ALPN, ``http2_protocol_options`` must be specified. As an aside this allows HTTP/2
// connections to happen over plain text.
// This has been deprecated in favor of http2_protocol_options fields in the
// :ref:`http_protocol_options `
@@ -706,7 +792,7 @@ type Cluster struct {
// "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
// specific options.
// [#next-major-version: make this a list of typed extensions.]
- TypedExtensionProtocolOptions map[string]*any.Any `protobuf:"bytes,36,rep,name=typed_extension_protocol_options,json=typedExtensionProtocolOptions,proto3" json:"typed_extension_protocol_options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ TypedExtensionProtocolOptions map[string]*any1.Any `protobuf:"bytes,36,rep,name=typed_extension_protocol_options,json=typedExtensionProtocolOptions,proto3" json:"typed_extension_protocol_options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// If the DNS refresh rate is specified and the cluster type is either
// :ref:`STRICT_DNS`,
// or :ref:`LOGICAL_DNS`,
@@ -744,13 +830,13 @@ type Cluster struct {
// :ref:`STRICT_DNS`
// and :ref:`LOGICAL_DNS`
// this setting is ignored.
- // This field is deprecated in favor of *dns_resolution_config*
+ // This field is deprecated in favor of ``dns_resolution_config``
// which aggregates all of the DNS resolver configuration in a single message.
//
// Deprecated: Do not use.
DnsResolvers []*v32.Address `protobuf:"bytes,18,rep,name=dns_resolvers,json=dnsResolvers,proto3" json:"dns_resolvers,omitempty"`
// Always use TCP queries instead of UDP queries for DNS lookups.
- // This field is deprecated in favor of *dns_resolution_config*
+ // This field is deprecated in favor of ``dns_resolution_config``
// which aggregates all of the DNS resolver configuration in a single message.
//
// Deprecated: Do not use.
@@ -765,17 +851,18 @@ type Cluster struct {
// or any other DNS resolver types and the related parameters.
// For example, an object of
// :ref:`CaresDnsResolverConfig `
- // can be packed into this *typed_dns_resolver_config*. This configuration replaces the
+ // can be packed into this ``typed_dns_resolver_config``. This configuration replaces the
// :ref:`dns_resolution_config `
// configuration.
- // During the transition period when both *dns_resolution_config* and *typed_dns_resolver_config* exists,
- // when *typed_dns_resolver_config* is in place, Envoy will use it and ignore *dns_resolution_config*.
- // When *typed_dns_resolver_config* is missing, the default behavior is in place.
+ // During the transition period when both ``dns_resolution_config`` and ``typed_dns_resolver_config`` exists,
+ // when ``typed_dns_resolver_config`` is in place, Envoy will use it and ignore ``dns_resolution_config``.
+ // When ``typed_dns_resolver_config`` is missing, the default behavior is in place.
// [#extension-category: envoy.network.dns_resolver]
TypedDnsResolverConfig *v32.TypedExtensionConfig `protobuf:"bytes,55,opt,name=typed_dns_resolver_config,json=typedDnsResolverConfig,proto3" json:"typed_dns_resolver_config,omitempty"`
// Optional configuration for having cluster readiness block on warm-up. Currently, only applicable for
// :ref:`STRICT_DNS`,
- // or :ref:`LOGICAL_DNS`.
+ // or :ref:`LOGICAL_DNS`,
+ // or :ref:`Redis Cluster`.
// If true, cluster readiness blocks on warm-up. If false, the cluster will complete
// initialization whether or not warm-up has completed. Defaults to true.
WaitForWarmOnInit *wrappers.BoolValue `protobuf:"bytes,54,opt,name=wait_for_warm_on_init,json=waitForWarmOnInit,proto3" json:"wait_for_warm_on_init,omitempty"`
@@ -822,8 +909,8 @@ type Cluster struct {
// Common configuration for all load balancer implementations.
CommonLbConfig *Cluster_CommonLbConfig `protobuf:"bytes,27,opt,name=common_lb_config,json=commonLbConfig,proto3" json:"common_lb_config,omitempty"`
// Optional custom transport socket implementation to use for upstream connections.
- // To setup TLS, set a transport socket with name `envoy.transport_sockets.tls` and
- // :ref:`UpstreamTlsContexts ` in the `typed_config`.
+ // To setup TLS, set a transport socket with name ``envoy.transport_sockets.tls`` and
+ // :ref:`UpstreamTlsContexts ` in the ``typed_config``.
// If no transport socket configuration is specified, new connections
// will be set up with plaintext.
TransportSocket *v32.TransportSocket `protobuf:"bytes,24,opt,name=transport_socket,json=transportSocket,proto3" json:"transport_socket,omitempty"`
@@ -831,7 +918,7 @@ type Cluster struct {
// cluster. It can be used for stats, logging, and varying filter behavior.
// Fields should use reverse DNS notation to denote which entity within Envoy
// will need the information. For instance, if the metadata is intended for
- // the Router filter, the filter name should be specified as *envoy.filters.http.router*.
+ // the Router filter, the filter name should be specified as ``envoy.filters.http.router``.
Metadata *v32.Metadata `protobuf:"bytes,25,opt,name=metadata,proto3" json:"metadata,omitempty"`
// Determines how Envoy selects the protocol used to speak to upstream hosts.
// This has been deprecated in favor of setting explicit protocol selection
@@ -892,7 +979,7 @@ type Cluster struct {
//
// .. attention::
//
- // This field has been deprecated in favor of `timeout_budgets`, part of
+ // This field has been deprecated in favor of ``timeout_budgets``, part of
// :ref:`track_cluster_stats `.
//
// Deprecated: Do not use.
@@ -903,7 +990,7 @@ type Cluster struct {
// TCP upstreams.
//
// For HTTP traffic, Envoy will generally take downstream HTTP and send it upstream as upstream
- // HTTP, using the http connection pool and the codec from `http2_protocol_options`
+ // HTTP, using the http connection pool and the codec from ``http2_protocol_options``
//
// For routes where CONNECT termination is configured, Envoy will take downstream CONNECT
// requests and forward the CONNECT payload upstream over raw TCP using the tcp connection pool.
@@ -920,7 +1007,7 @@ type Cluster struct {
TrackClusterStats *TrackClusterStats `protobuf:"bytes,49,opt,name=track_cluster_stats,json=trackClusterStats,proto3" json:"track_cluster_stats,omitempty"`
// Preconnect configuration for this cluster.
PreconnectPolicy *Cluster_PreconnectPolicy `protobuf:"bytes,50,opt,name=preconnect_policy,json=preconnectPolicy,proto3" json:"preconnect_policy,omitempty"`
- // If `connection_pool_per_downstream_connection` is true, the cluster will use a separate
+ // If ``connection_pool_per_downstream_connection`` is true, the cluster will use a separate
// connection pool for every downstream connection
ConnectionPoolPerDownstreamConnection bool `protobuf:"varint,51,opt,name=connection_pool_per_downstream_connection,json=connectionPoolPerDownstreamConnection,proto3" json:"connection_pool_per_downstream_connection,omitempty"`
}
@@ -1088,7 +1175,7 @@ func (x *Cluster) GetHttp2ProtocolOptions() *v32.Http2ProtocolOptions {
return nil
}
-func (x *Cluster) GetTypedExtensionProtocolOptions() map[string]*any.Any {
+func (x *Cluster) GetTypedExtensionProtocolOptions() map[string]*any1.Any {
if x != nil {
return x.TypedExtensionProtocolOptions
}
@@ -1465,56 +1552,6 @@ func (x *LoadBalancingPolicy) GetPolicies() []*LoadBalancingPolicy_Policy {
return nil
}
-// An extensible structure containing the address Envoy should bind to when
-// establishing upstream connections.
-type UpstreamBindConfig struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // The address Envoy should bind to when establishing upstream connections.
- SourceAddress *v32.Address `protobuf:"bytes,1,opt,name=source_address,json=sourceAddress,proto3" json:"source_address,omitempty"`
-}
-
-func (x *UpstreamBindConfig) Reset() {
- *x = UpstreamBindConfig{}
- if protoimpl.UnsafeEnabled {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[3]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *UpstreamBindConfig) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*UpstreamBindConfig) ProtoMessage() {}
-
-func (x *UpstreamBindConfig) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_config_cluster_v3_cluster_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 UpstreamBindConfig.ProtoReflect.Descriptor instead.
-func (*UpstreamBindConfig) Descriptor() ([]byte, []int) {
- return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{3}
-}
-
-func (x *UpstreamBindConfig) GetSourceAddress() *v32.Address {
- if x != nil {
- return x.SourceAddress
- }
- return nil
-}
-
type UpstreamConnectionOptions struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -1531,7 +1568,7 @@ type UpstreamConnectionOptions struct {
func (x *UpstreamConnectionOptions) Reset() {
*x = UpstreamConnectionOptions{}
if protoimpl.UnsafeEnabled {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[4]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1544,7 +1581,7 @@ func (x *UpstreamConnectionOptions) String() string {
func (*UpstreamConnectionOptions) ProtoMessage() {}
func (x *UpstreamConnectionOptions) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[4]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1557,7 +1594,7 @@ func (x *UpstreamConnectionOptions) ProtoReflect() protoreflect.Message {
// Deprecated: Use UpstreamConnectionOptions.ProtoReflect.Descriptor instead.
func (*UpstreamConnectionOptions) Descriptor() ([]byte, []int) {
- return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{4}
+ return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{3}
}
func (x *UpstreamConnectionOptions) GetTcpKeepalive() *v32.TcpKeepalive {
@@ -1594,7 +1631,7 @@ type TrackClusterStats struct {
func (x *TrackClusterStats) Reset() {
*x = TrackClusterStats{}
if protoimpl.UnsafeEnabled {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[5]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1607,7 +1644,7 @@ func (x *TrackClusterStats) String() string {
func (*TrackClusterStats) ProtoMessage() {}
func (x *TrackClusterStats) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[5]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1620,7 +1657,7 @@ func (x *TrackClusterStats) ProtoReflect() protoreflect.Message {
// Deprecated: Use TrackClusterStats.ProtoReflect.Descriptor instead.
func (*TrackClusterStats) Descriptor() ([]byte, []int) {
- return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{5}
+ return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{4}
}
func (x *TrackClusterStats) GetTimeoutBudgets() bool {
@@ -1649,7 +1686,7 @@ type Cluster_TransportSocketMatch struct {
// Optional endpoint metadata match criteria.
// The connection to the endpoint with metadata matching what is set in this field
// will use the transport socket configuration specified here.
- // The endpoint's metadata entry in *envoy.transport_socket_match* is used to match
+ // The endpoint's metadata entry in ``envoy.transport_socket_match`` is used to match
// against the values specified in this field.
Match *_struct.Struct `protobuf:"bytes,2,opt,name=match,proto3" json:"match,omitempty"`
// The configuration of the transport socket.
@@ -1660,7 +1697,7 @@ type Cluster_TransportSocketMatch struct {
func (x *Cluster_TransportSocketMatch) Reset() {
*x = Cluster_TransportSocketMatch{}
if protoimpl.UnsafeEnabled {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[6]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1673,7 +1710,7 @@ func (x *Cluster_TransportSocketMatch) String() string {
func (*Cluster_TransportSocketMatch) ProtoMessage() {}
func (x *Cluster_TransportSocketMatch) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[6]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1721,13 +1758,13 @@ type Cluster_CustomClusterType struct {
// Cluster specific configuration which depends on the cluster being instantiated.
// See the supported cluster for further documentation.
// [#extension-category: envoy.clusters]
- TypedConfig *any.Any `protobuf:"bytes,2,opt,name=typed_config,json=typedConfig,proto3" json:"typed_config,omitempty"`
+ TypedConfig *any1.Any `protobuf:"bytes,2,opt,name=typed_config,json=typedConfig,proto3" json:"typed_config,omitempty"`
}
func (x *Cluster_CustomClusterType) Reset() {
*x = Cluster_CustomClusterType{}
if protoimpl.UnsafeEnabled {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[7]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1740,7 +1777,7 @@ func (x *Cluster_CustomClusterType) String() string {
func (*Cluster_CustomClusterType) ProtoMessage() {}
func (x *Cluster_CustomClusterType) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[7]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1763,7 +1800,7 @@ func (x *Cluster_CustomClusterType) GetName() string {
return ""
}
-func (x *Cluster_CustomClusterType) GetTypedConfig() *any.Any {
+func (x *Cluster_CustomClusterType) GetTypedConfig() *any1.Any {
if x != nil {
return x.TypedConfig
}
@@ -1787,7 +1824,7 @@ type Cluster_EdsClusterConfig struct {
func (x *Cluster_EdsClusterConfig) Reset() {
*x = Cluster_EdsClusterConfig{}
if protoimpl.UnsafeEnabled {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[8]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1800,7 +1837,7 @@ func (x *Cluster_EdsClusterConfig) String() string {
func (*Cluster_EdsClusterConfig) ProtoMessage() {}
func (x *Cluster_EdsClusterConfig) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[8]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1832,7 +1869,7 @@ func (x *Cluster_EdsClusterConfig) GetServiceName() string {
// Optionally divide the endpoints in this cluster into subsets defined by
// endpoint metadata and selected by route and weighted cluster metadata.
-// [#next-free-field: 8]
+// [#next-free-field: 9]
type Cluster_LbSubsetConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -1846,13 +1883,13 @@ type Cluster_LbSubsetConfig struct {
// fallback_policy is
// :ref:`DEFAULT_SUBSET`.
// Each field in default_subset is
- // compared to the matching LbEndpoint.Metadata under the *envoy.lb*
+ // compared to the matching LbEndpoint.Metadata under the ``envoy.lb``
// namespace. It is valid for no hosts to match, in which case the behavior
// is the same as a fallback_policy of
// :ref:`NO_FALLBACK`.
DefaultSubset *_struct.Struct `protobuf:"bytes,2,opt,name=default_subset,json=defaultSubset,proto3" json:"default_subset,omitempty"`
// For each entry, LbEndpoint.Metadata's
- // *envoy.lb* namespace is traversed and a subset is created for each unique
+ // ``envoy.lb`` namespace is traversed and a subset is created for each unique
// combination of key and value. For example:
//
// .. code-block:: json
@@ -1893,12 +1930,20 @@ type Cluster_LbSubsetConfig struct {
// endpoint metadata if the endpoint metadata matches the value exactly OR it is a list value
// and any of the elements in the list matches the criteria.
ListAsAny bool `protobuf:"varint,7,opt,name=list_as_any,json=listAsAny,proto3" json:"list_as_any,omitempty"`
+ // Fallback mechanism that allows to try different route metadata until a host is found.
+ // If load balancing process, including all its mechanisms (like
+ // :ref:`fallback_policy`)
+ // fails to select a host, this policy decides if and how the process is repeated using another metadata.
+ //
+ // The value defaults to
+ // :ref:`METADATA_NO_FALLBACK`.
+ MetadataFallbackPolicy Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy `protobuf:"varint,8,opt,name=metadata_fallback_policy,json=metadataFallbackPolicy,proto3,enum=envoy.config.cluster.v3.Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy" json:"metadata_fallback_policy,omitempty"`
}
func (x *Cluster_LbSubsetConfig) Reset() {
*x = Cluster_LbSubsetConfig{}
if protoimpl.UnsafeEnabled {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[9]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1911,7 +1956,7 @@ func (x *Cluster_LbSubsetConfig) String() string {
func (*Cluster_LbSubsetConfig) ProtoMessage() {}
func (x *Cluster_LbSubsetConfig) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[9]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1976,6 +2021,13 @@ func (x *Cluster_LbSubsetConfig) GetListAsAny() bool {
return false
}
+func (x *Cluster_LbSubsetConfig) GetMetadataFallbackPolicy() Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy {
+ if x != nil {
+ return x.MetadataFallbackPolicy
+ }
+ return Cluster_LbSubsetConfig_METADATA_NO_FALLBACK
+}
+
// Configuration for :ref:`slow start mode `.
type Cluster_SlowStartConfig struct {
state protoimpl.MessageState
@@ -1993,8 +2045,8 @@ type Cluster_SlowStartConfig struct {
// By tuning the parameter, is possible to achieve polynomial or exponential shape of ramp-up curve.
//
// During slow start window, effective weight of an endpoint would be scaled with time factor and aggression:
- // `new_weight = weight * max(min_weight_percent, time_factor ^ (1 / aggression))`,
- // where `time_factor=(time_since_start_seconds / slow_start_time_seconds)`.
+ // ``new_weight = weight * max(min_weight_percent, time_factor ^ (1 / aggression))``,
+ // where ``time_factor=(time_since_start_seconds / slow_start_time_seconds)``.
//
// As time progresses, more and more traffic would be sent to endpoint, which is in slow start window.
// Once host exits slow start, time_factor and aggression no longer affect its weight.
@@ -2008,7 +2060,7 @@ type Cluster_SlowStartConfig struct {
func (x *Cluster_SlowStartConfig) Reset() {
*x = Cluster_SlowStartConfig{}
if protoimpl.UnsafeEnabled {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[10]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2021,7 +2073,7 @@ func (x *Cluster_SlowStartConfig) String() string {
func (*Cluster_SlowStartConfig) ProtoMessage() {}
func (x *Cluster_SlowStartConfig) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[10]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2072,7 +2124,7 @@ type Cluster_RoundRobinLbConfig struct {
func (x *Cluster_RoundRobinLbConfig) Reset() {
*x = Cluster_RoundRobinLbConfig{}
if protoimpl.UnsafeEnabled {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[11]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2085,7 +2137,7 @@ func (x *Cluster_RoundRobinLbConfig) String() string {
func (*Cluster_RoundRobinLbConfig) ProtoMessage() {}
func (x *Cluster_RoundRobinLbConfig) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[11]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2120,18 +2172,18 @@ type Cluster_LeastRequestLbConfig struct {
// The following formula is used to calculate the dynamic weights when hosts have different load
// balancing weights:
//
- // `weight = load_balancing_weight / (active_requests + 1)^active_request_bias`
+ // ``weight = load_balancing_weight / (active_requests + 1)^active_request_bias``
//
// The larger the active request bias is, the more aggressively active requests will lower the
// effective weight when all host weights are not equal.
//
- // `active_request_bias` must be greater than or equal to 0.0.
+ // ``active_request_bias`` must be greater than or equal to 0.0.
//
- // When `active_request_bias == 0.0` the Least Request Load Balancer doesn't consider the number
+ // When ``active_request_bias == 0.0`` the Least Request Load Balancer doesn't consider the number
// of active requests at the time it picks a host and behaves like the Round Robin Load
// Balancer.
//
- // When `active_request_bias > 0.0` the Least Request Load Balancer scales the load balancing
+ // When ``active_request_bias > 0.0`` the Least Request Load Balancer scales the load balancing
// weight by the number of active requests at the time it does a pick.
//
// The value is cached for performance reasons and refreshed whenever one of the Load Balancer's
@@ -2149,7 +2201,7 @@ type Cluster_LeastRequestLbConfig struct {
func (x *Cluster_LeastRequestLbConfig) Reset() {
*x = Cluster_LeastRequestLbConfig{}
if protoimpl.UnsafeEnabled {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[12]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2162,7 +2214,7 @@ func (x *Cluster_LeastRequestLbConfig) String() string {
func (*Cluster_LeastRequestLbConfig) ProtoMessage() {}
func (x *Cluster_LeastRequestLbConfig) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[12]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2223,7 +2275,7 @@ type Cluster_RingHashLbConfig struct {
func (x *Cluster_RingHashLbConfig) Reset() {
*x = Cluster_RingHashLbConfig{}
if protoimpl.UnsafeEnabled {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[13]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2236,7 +2288,7 @@ func (x *Cluster_RingHashLbConfig) String() string {
func (*Cluster_RingHashLbConfig) ProtoMessage() {}
func (x *Cluster_RingHashLbConfig) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[13]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2280,8 +2332,8 @@ type Cluster_MaglevLbConfig struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // The table size for Maglev hashing. The Maglev aims for ‘minimal disruption’ rather than an absolute guarantee.
- // Minimal disruption means that when the set of upstreams changes, a connection will likely be sent to the same
+ // The table size for Maglev hashing. Maglev aims for "minimal disruption" rather than an absolute guarantee.
+ // Minimal disruption means that when the set of upstream hosts change, a connection will likely be sent to the same
// upstream as it was before. Increasing the table size reduces the amount of disruption.
// The table size must be prime number limited to 5000011. If it is not specified, the default is 65537.
TableSize *wrappers.UInt64Value `protobuf:"bytes,1,opt,name=table_size,json=tableSize,proto3" json:"table_size,omitempty"`
@@ -2290,7 +2342,7 @@ type Cluster_MaglevLbConfig struct {
func (x *Cluster_MaglevLbConfig) Reset() {
*x = Cluster_MaglevLbConfig{}
if protoimpl.UnsafeEnabled {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[14]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2303,7 +2355,7 @@ func (x *Cluster_MaglevLbConfig) String() string {
func (*Cluster_MaglevLbConfig) ProtoMessage() {}
func (x *Cluster_MaglevLbConfig) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[14]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2329,6 +2381,7 @@ func (x *Cluster_MaglevLbConfig) GetTableSize() *wrappers.UInt64Value {
// Specific configuration for the
// :ref:`Original Destination `
// load balancing policy.
+// [#extension: envoy.clusters.original_dst]
type Cluster_OriginalDstLbConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -2350,12 +2403,15 @@ type Cluster_OriginalDstLbConfig struct {
// The http header to override destination address if :ref:`use_http_header `.
// is set to true. If the value is empty, :ref:`x-envoy-original-dst-host ` will be used.
HttpHeaderName string `protobuf:"bytes,2,opt,name=http_header_name,json=httpHeaderName,proto3" json:"http_header_name,omitempty"`
+ // The port to override for the original dst address. This port
+ // will take precedence over filter state and header override ports
+ UpstreamPortOverride *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=upstream_port_override,json=upstreamPortOverride,proto3" json:"upstream_port_override,omitempty"`
}
func (x *Cluster_OriginalDstLbConfig) Reset() {
*x = Cluster_OriginalDstLbConfig{}
if protoimpl.UnsafeEnabled {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[15]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2368,7 +2424,7 @@ func (x *Cluster_OriginalDstLbConfig) String() string {
func (*Cluster_OriginalDstLbConfig) ProtoMessage() {}
func (x *Cluster_OriginalDstLbConfig) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[15]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2398,6 +2454,13 @@ func (x *Cluster_OriginalDstLbConfig) GetHttpHeaderName() string {
return ""
}
+func (x *Cluster_OriginalDstLbConfig) GetUpstreamPortOverride() *wrappers.UInt32Value {
+ if x != nil {
+ return x.UpstreamPortOverride
+ }
+ return nil
+}
+
// Common configuration for all load balancer implementations.
// [#next-free-field: 9]
type Cluster_CommonLbConfig struct {
@@ -2435,7 +2498,7 @@ type Cluster_CommonLbConfig struct {
// when computing load balancing weights until they have been health checked for the first time.
// This will have no effect unless active health checking is also configured.
IgnoreNewHostsUntilFirstHc bool `protobuf:"varint,5,opt,name=ignore_new_hosts_until_first_hc,json=ignoreNewHostsUntilFirstHc,proto3" json:"ignore_new_hosts_until_first_hc,omitempty"`
- // If set to `true`, the cluster manager will drain all existing
+ // If set to ``true``, the cluster manager will drain all existing
// connections to upstream hosts whenever hosts are added or removed from the cluster.
CloseConnectionsOnHostSetChange bool `protobuf:"varint,6,opt,name=close_connections_on_host_set_change,json=closeConnectionsOnHostSetChange,proto3" json:"close_connections_on_host_set_change,omitempty"`
// Common Configuration for all consistent hashing load balancers (MaglevLb, RingHashLb, etc.)
@@ -2452,7 +2515,7 @@ type Cluster_CommonLbConfig struct {
func (x *Cluster_CommonLbConfig) Reset() {
*x = Cluster_CommonLbConfig{}
if protoimpl.UnsafeEnabled {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[16]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2465,7 +2528,7 @@ func (x *Cluster_CommonLbConfig) String() string {
func (*Cluster_CommonLbConfig) ProtoMessage() {}
func (x *Cluster_CommonLbConfig) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[16]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2581,7 +2644,7 @@ type Cluster_RefreshRate struct {
func (x *Cluster_RefreshRate) Reset() {
*x = Cluster_RefreshRate{}
if protoimpl.UnsafeEnabled {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[17]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2594,7 +2657,7 @@ func (x *Cluster_RefreshRate) String() string {
func (*Cluster_RefreshRate) ProtoMessage() {}
func (x *Cluster_RefreshRate) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[17]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2654,10 +2717,10 @@ type Cluster_PreconnectPolicy struct {
// This is limited somewhat arbitrarily to 3 because preconnecting too aggressively can
// harm latency more than the preconnecting helps.
PerUpstreamPreconnectRatio *wrappers.DoubleValue `protobuf:"bytes,1,opt,name=per_upstream_preconnect_ratio,json=perUpstreamPreconnectRatio,proto3" json:"per_upstream_preconnect_ratio,omitempty"`
- // Indicates how many many streams (rounded up) can be anticipated across a cluster for each
+ // Indicates how many streams (rounded up) can be anticipated across a cluster for each
// stream, useful for low QPS services. This is currently supported for a subset of
// deterministic non-hash-based load-balancing algorithms (weighted round robin, random).
- // Unlike *per_upstream_preconnect_ratio* this preconnects across the upstream instances in a
+ // Unlike ``per_upstream_preconnect_ratio`` this preconnects across the upstream instances in a
// cluster, doing best effort predictions of what upstream would be picked next and
// pre-establishing a connection.
//
@@ -2682,7 +2745,7 @@ type Cluster_PreconnectPolicy struct {
func (x *Cluster_PreconnectPolicy) Reset() {
*x = Cluster_PreconnectPolicy{}
if protoimpl.UnsafeEnabled {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[18]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2695,7 +2758,7 @@ func (x *Cluster_PreconnectPolicy) String() string {
func (*Cluster_PreconnectPolicy) ProtoMessage() {}
func (x *Cluster_PreconnectPolicy) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[18]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2736,12 +2799,9 @@ type Cluster_LbSubsetConfig_LbSubsetSelector struct {
// Selects a mode of operation in which each subset has only one host. This mode uses the same rules for
// choosing a host, but updating hosts is faster, especially for large numbers of hosts.
//
- // If a match is found to a host, that host will be used regardless of priority levels, unless the host is unhealthy.
+ // If a match is found to a host, that host will be used regardless of priority levels.
//
- // Currently, this mode is only supported if `subset_selectors` has only one entry, and `keys` contains
- // only one entry.
- //
- // When this mode is enabled, configurations that contain more than one host with the same metadata value for the single key in `keys`
+ // When this mode is enabled, configurations that contain more than one host with the same metadata value for the single key in ``keys``
// will use only one of the hosts with the given key; no requests will be routed to the others. The cluster gauge
// :ref:`lb_subsets_single_host_per_subset_duplicate` indicates how many duplicates are
// present in the current configuration.
@@ -2757,14 +2817,14 @@ type Cluster_LbSubsetConfig_LbSubsetSelector struct {
// For any other fallback policy the parameter is not used and should not be set.
// Only values also present in
// :ref:`keys` are allowed, but
- // `fallback_keys_subset` cannot be equal to `keys`.
+ // ``fallback_keys_subset`` cannot be equal to ``keys``.
FallbackKeysSubset []string `protobuf:"bytes,3,rep,name=fallback_keys_subset,json=fallbackKeysSubset,proto3" json:"fallback_keys_subset,omitempty"`
}
func (x *Cluster_LbSubsetConfig_LbSubsetSelector) Reset() {
*x = Cluster_LbSubsetConfig_LbSubsetSelector{}
if protoimpl.UnsafeEnabled {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[20]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2777,7 +2837,7 @@ func (x *Cluster_LbSubsetConfig_LbSubsetSelector) String() string {
func (*Cluster_LbSubsetConfig_LbSubsetSelector) ProtoMessage() {}
func (x *Cluster_LbSubsetConfig_LbSubsetSelector) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[20]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[19]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2849,7 +2909,7 @@ type Cluster_CommonLbConfig_ZoneAwareLbConfig struct {
func (x *Cluster_CommonLbConfig_ZoneAwareLbConfig) Reset() {
*x = Cluster_CommonLbConfig_ZoneAwareLbConfig{}
if protoimpl.UnsafeEnabled {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[21]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2862,7 +2922,7 @@ func (x *Cluster_CommonLbConfig_ZoneAwareLbConfig) String() string {
func (*Cluster_CommonLbConfig_ZoneAwareLbConfig) ProtoMessage() {}
func (x *Cluster_CommonLbConfig_ZoneAwareLbConfig) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[21]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[20]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2910,7 +2970,7 @@ type Cluster_CommonLbConfig_LocalityWeightedLbConfig struct {
func (x *Cluster_CommonLbConfig_LocalityWeightedLbConfig) Reset() {
*x = Cluster_CommonLbConfig_LocalityWeightedLbConfig{}
if protoimpl.UnsafeEnabled {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[22]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2923,7 +2983,7 @@ func (x *Cluster_CommonLbConfig_LocalityWeightedLbConfig) String() string {
func (*Cluster_CommonLbConfig_LocalityWeightedLbConfig) ProtoMessage() {}
func (x *Cluster_CommonLbConfig_LocalityWeightedLbConfig) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[22]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[21]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2945,7 +3005,7 @@ type Cluster_CommonLbConfig_ConsistentHashingLbConfig struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // If set to `true`, the cluster will use hostname instead of the resolved
+ // If set to ``true``, the cluster will use hostname instead of the resolved
// address as the key to consistently hash to an upstream host. Only valid for StrictDNS clusters with hostnames which resolve to a single IP address.
UseHostnameForHashing bool `protobuf:"varint,1,opt,name=use_hostname_for_hashing,json=useHostnameForHashing,proto3" json:"use_hostname_for_hashing,omitempty"`
// Configures percentage of average cluster load to bound per upstream host. For example, with a value of 150
@@ -2956,7 +3016,7 @@ type Cluster_CommonLbConfig_ConsistentHashingLbConfig struct {
// Applies to both Ring Hash and Maglev load balancers.
//
// This is implemented based on the method described in the paper https://arxiv.org/abs/1608.01350. For the specified
- // `hash_balance_factor`, requests to any upstream host are capped at `hash_balance_factor/100` times the average number of requests
+ // ``hash_balance_factor``, requests to any upstream host are capped at ``hash_balance_factor/100`` times the average number of requests
// across the cluster. When a request arrives for an upstream host that is currently serving at its max capacity, linear probing
// is used to identify an eligible host. Further, the linear probe is implemented using a random jump in hosts ring/table to identify
// the eligible host (this technique is as described in the paper https://arxiv.org/abs/1908.08762 - the random jump avoids the
@@ -2964,7 +3024,7 @@ type Cluster_CommonLbConfig_ConsistentHashingLbConfig struct {
//
// If weights are specified on the hosts, they are respected.
//
- // This is an O(N) algorithm, unlike other load balancers. Using a lower `hash_balance_factor` results in more hosts
+ // This is an O(N) algorithm, unlike other load balancers. Using a lower ``hash_balance_factor`` results in more hosts
// being probed, so use a higher value if you require better performance.
HashBalanceFactor *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=hash_balance_factor,json=hashBalanceFactor,proto3" json:"hash_balance_factor,omitempty"`
}
@@ -2972,7 +3032,7 @@ type Cluster_CommonLbConfig_ConsistentHashingLbConfig struct {
func (x *Cluster_CommonLbConfig_ConsistentHashingLbConfig) Reset() {
*x = Cluster_CommonLbConfig_ConsistentHashingLbConfig{}
if protoimpl.UnsafeEnabled {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[23]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2985,7 +3045,7 @@ func (x *Cluster_CommonLbConfig_ConsistentHashingLbConfig) String() string {
func (*Cluster_CommonLbConfig_ConsistentHashingLbConfig) ProtoMessage() {}
func (x *Cluster_CommonLbConfig_ConsistentHashingLbConfig) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[23]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[22]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3020,13 +3080,14 @@ type LoadBalancingPolicy_Policy struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
+ // [#extension-category: envoy.load_balancing_policies]
TypedExtensionConfig *v32.TypedExtensionConfig `protobuf:"bytes,4,opt,name=typed_extension_config,json=typedExtensionConfig,proto3" json:"typed_extension_config,omitempty"`
}
func (x *LoadBalancingPolicy_Policy) Reset() {
*x = LoadBalancingPolicy_Policy{}
if protoimpl.UnsafeEnabled {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[24]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3039,7 +3100,7 @@ func (x *LoadBalancingPolicy_Policy) String() string {
func (*LoadBalancingPolicy_Policy) ProtoMessage() {}
func (x *LoadBalancingPolicy_Policy) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[24]
+ mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[23]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3125,7 +3186,7 @@ var file_envoy_config_cluster_v3_cluster_proto_rawDesc = []byte{
0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x64, 0x73, 0x2e, 0x63,
0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22,
- 0x8c, 0x50, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x6f, 0x0a, 0x18, 0x74,
+ 0xcf, 0x52, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x6f, 0x0a, 0x18, 0x74,
0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f,
0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e,
0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75,
@@ -3449,7 +3510,7 @@ var file_envoy_config_cluster_v3_cluster_proto_rawDesc = []byte{
0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x2c, 0x9a, 0xc5,
0x88, 0x1e, 0x27, 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76,
0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x45, 0x64, 0x73, 0x43, 0x6c, 0x75,
- 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xc0, 0x08, 0x0a, 0x0e, 0x4c,
+ 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xa4, 0x0a, 0x0a, 0x0e, 0x4c,
0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x79, 0x0a,
0x0f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x46, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
@@ -3480,355 +3541,367 @@ var file_envoy_config_cluster_v3_cluster_proto_rawDesc = []byte{
0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x70, 0x61, 0x6e, 0x69, 0x63, 0x4d, 0x6f, 0x64, 0x65,
0x41, 0x6e, 0x79, 0x12, 0x1e, 0x0a, 0x0b, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x61,
0x6e, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x73,
- 0x41, 0x6e, 0x79, 0x1a, 0xda, 0x03, 0x0a, 0x10, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74,
- 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73,
- 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x33, 0x0a, 0x16,
- 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f,
- 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x73, 0x69,
- 0x6e, 0x67, 0x6c, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, 0x65,
- 0x74, 0x12, 0x92, 0x01, 0x0a, 0x0f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x70,
- 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x5f, 0x2e, 0x65, 0x6e,
- 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74,
- 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x62,
- 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x62, 0x53,
- 0x75, 0x62, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4c, 0x62,
- 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x46, 0x61,
- 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x08, 0xfa, 0x42,
- 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0e, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b,
- 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61,
- 0x63, 0x6b, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x18, 0x03,
- 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x4b, 0x65,
- 0x79, 0x73, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x22, 0x79, 0x0a, 0x1e, 0x4c, 0x62, 0x53, 0x75,
- 0x62, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x46, 0x61, 0x6c, 0x6c,
- 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x4f,
- 0x54, 0x5f, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4e,
- 0x4f, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c,
- 0x41, 0x4e, 0x59, 0x5f, 0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x12,
- 0x0a, 0x0e, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x45, 0x54,
- 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x4b, 0x45, 0x59, 0x53, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x45,
- 0x54, 0x10, 0x04, 0x3a, 0x3b, 0x9a, 0xc5, 0x88, 0x1e, 0x36, 0x0a, 0x34, 0x65, 0x6e, 0x76, 0x6f,
- 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
- 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
- 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72,
- 0x22, 0x4f, 0x0a, 0x16, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x46, 0x61, 0x6c, 0x6c,
- 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x4f,
- 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x41,
- 0x4e, 0x59, 0x5f, 0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x12, 0x0a,
- 0x0e, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x45, 0x54, 0x10,
- 0x02, 0x3a, 0x2a, 0x9a, 0xc5, 0x88, 0x1e, 0x25, 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
- 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4c,
- 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xe3, 0x01,
- 0x0a, 0x0f, 0x53, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 0x12, 0x45, 0x0a, 0x11, 0x73, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f,
- 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x01, 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, 0x0f, 0x73, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61,
- 0x72, 0x74, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x43, 0x0a, 0x0a, 0x61, 0x67, 0x67, 0x72,
- 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65,
- 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65,
- 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x44, 0x6f, 0x75, 0x62, 0x6c,
- 0x65, 0x52, 0x0a, 0x61, 0x67, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a,
- 0x12, 0x6d, 0x69, 0x6e, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x63,
- 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
- 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e,
- 0x74, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x50, 0x65, 0x72, 0x63,
- 0x65, 0x6e, 0x74, 0x1a, 0x72, 0x0a, 0x12, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x6f, 0x62, 0x69,
- 0x6e, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5c, 0x0a, 0x11, 0x73, 0x6c, 0x6f,
- 0x77, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e,
- 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43,
- 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x53, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74,
- 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x73, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72,
- 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xc5, 0x02, 0x0a, 0x14, 0x4c, 0x65, 0x61, 0x73,
- 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x12, 0x48, 0x0a, 0x0c, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
- 0x18, 0x01, 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, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x02, 0x52, 0x0b, 0x63,
- 0x68, 0x6f, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x53, 0x0a, 0x13, 0x61, 0x63,
- 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x69, 0x61,
- 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
- 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52,
- 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52, 0x11, 0x61, 0x63,
- 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x69, 0x61, 0x73, 0x12,
- 0x5c, 0x0a, 0x11, 0x73, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x63, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76,
- 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65,
- 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x53, 0x6c, 0x6f,
- 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x73, 0x6c,
- 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x30, 0x9a,
- 0xc5, 0x88, 0x1e, 0x2b, 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e,
- 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x65, 0x61, 0x73, 0x74,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a,
- 0x91, 0x03, 0x0a, 0x10, 0x52, 0x69, 0x6e, 0x67, 0x48, 0x61, 0x73, 0x68, 0x4c, 0x62, 0x43, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x12, 0x54, 0x0a, 0x11, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f,
- 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 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, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0xfa,
- 0x42, 0x07, 0x32, 0x05, 0x18, 0x80, 0x80, 0x80, 0x04, 0x52, 0x0f, 0x6d, 0x69, 0x6e, 0x69, 0x6d,
- 0x75, 0x6d, 0x52, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x6d, 0x0a, 0x0d, 0x68, 0x61,
- 0x73, 0x68, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
- 0x0e, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73,
- 0x74, 0x65, 0x72, 0x2e, 0x52, 0x69, 0x6e, 0x67, 0x48, 0x61, 0x73, 0x68, 0x4c, 0x62, 0x43, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
- 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x68, 0x61, 0x73,
- 0x68, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x11, 0x6d, 0x61, 0x78,
- 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04,
- 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, 0x36, 0x34, 0x56, 0x61, 0x6c,
- 0x75, 0x65, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x32, 0x05, 0x18, 0x80, 0x80, 0x80, 0x04, 0x52, 0x0f,
- 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x52, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x7a, 0x65, 0x22,
- 0x2e, 0x0a, 0x0c, 0x48, 0x61, 0x73, 0x68, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
- 0x0b, 0x0a, 0x07, 0x58, 0x58, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d,
- 0x4d, 0x55, 0x52, 0x4d, 0x55, 0x52, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x5f, 0x32, 0x10, 0x01, 0x3a,
- 0x2c, 0x9a, 0xc5, 0x88, 0x1e, 0x27, 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70,
- 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x52, 0x69, 0x6e,
- 0x67, 0x48, 0x61, 0x73, 0x68, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x04, 0x08,
- 0x02, 0x10, 0x03, 0x1a, 0x59, 0x0a, 0x0e, 0x4d, 0x61, 0x67, 0x6c, 0x65, 0x76, 0x4c, 0x62, 0x43,
- 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x47, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73,
- 0x69, 0x7a, 0x65, 0x18, 0x01, 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,
- 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x32, 0x05, 0x18, 0xcb,
- 0x96, 0xb1, 0x02, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x1a, 0x98,
- 0x01, 0x0a, 0x13, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x44, 0x73, 0x74, 0x4c, 0x62,
- 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x5f, 0x68, 0x74,
- 0x74, 0x70, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
- 0x0d, 0x75, 0x73, 0x65, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x28,
- 0x0a, 0x10, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61,
- 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x68, 0x74, 0x74, 0x70, 0x48, 0x65,
- 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x2f, 0x9a, 0xc5, 0x88, 0x1e, 0x2a, 0x0a,
- 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c,
- 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x44, 0x73,
- 0x74, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xd5, 0x0b, 0x0a, 0x0e, 0x43, 0x6f,
- 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x17,
- 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x70, 0x61, 0x6e, 0x69, 0x63, 0x5f, 0x74, 0x68,
- 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e,
+ 0x41, 0x6e, 0x79, 0x12, 0x92, 0x01, 0x0a, 0x18, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
+ 0x5f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33,
+ 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65,
+ 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74,
+ 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b,
+ 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01,
+ 0x52, 0x16, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61,
+ 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0xda, 0x03, 0x0a, 0x10, 0x4c, 0x62, 0x53,
+ 0x75, 0x62, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a,
+ 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79,
+ 0x73, 0x12, 0x33, 0x0a, 0x16, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74,
+ 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x13, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x65, 0x72,
+ 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x12, 0x92, 0x01, 0x0a, 0x0f, 0x66, 0x61, 0x6c, 0x6c, 0x62,
+ 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x5f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
+ 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74,
+ 0x65, 0x72, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63,
+ 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0e, 0x66, 0x61, 0x6c,
+ 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x30, 0x0a, 0x14, 0x66,
+ 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x5f, 0x73, 0x75, 0x62,
+ 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x66, 0x61, 0x6c, 0x6c, 0x62,
+ 0x61, 0x63, 0x6b, 0x4b, 0x65, 0x79, 0x73, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x22, 0x79, 0x0a,
+ 0x1e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12,
+ 0x0f, 0x0a, 0x0b, 0x4e, 0x4f, 0x54, 0x5f, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00,
+ 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x4f, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10,
+ 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x4e, 0x59, 0x5f, 0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e,
+ 0x54, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x53,
+ 0x55, 0x42, 0x53, 0x45, 0x54, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x4b, 0x45, 0x59, 0x53, 0x5f,
+ 0x53, 0x55, 0x42, 0x53, 0x45, 0x54, 0x10, 0x04, 0x3a, 0x3b, 0x9a, 0xc5, 0x88, 0x1e, 0x36, 0x0a,
+ 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c,
+ 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x43, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0x4f, 0x0a, 0x16, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65,
+ 0x74, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12,
+ 0x0f, 0x0a, 0x0b, 0x4e, 0x4f, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x00,
+ 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x4e, 0x59, 0x5f, 0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54,
+ 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x53, 0x55,
+ 0x42, 0x53, 0x45, 0x54, 0x10, 0x02, 0x22, 0x4d, 0x0a, 0x1e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73,
+ 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61,
+ 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x18, 0x0a, 0x14, 0x4d, 0x45, 0x54, 0x41,
+ 0x44, 0x41, 0x54, 0x41, 0x5f, 0x4e, 0x4f, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b,
+ 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x4c,
+ 0x49, 0x53, 0x54, 0x10, 0x01, 0x3a, 0x2a, 0x9a, 0xc5, 0x88, 0x1e, 0x25, 0x0a, 0x23, 0x65, 0x6e,
+ 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74,
+ 0x65, 0x72, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x1a, 0xe3, 0x01, 0x0a, 0x0f, 0x53, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, 0x0a, 0x11, 0x73, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x74,
+ 0x61, 0x72, 0x74, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x01, 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, 0x0f, 0x73, 0x6c, 0x6f,
+ 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x43, 0x0a, 0x0a,
+ 0x61, 0x67, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
+ 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x44,
+ 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52, 0x0a, 0x61, 0x67, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f,
+ 0x6e, 0x12, 0x44, 0x0a, 0x12, 0x6d, 0x69, 0x6e, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x5f,
+ 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e,
0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65,
- 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x15, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x50, 0x61,
- 0x6e, 0x69, 0x63, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x74, 0x0a, 0x14,
- 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x61, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x6c, 0x62, 0x5f, 0x63, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x65, 0x6e, 0x76,
- 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65,
- 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d,
- 0x6d, 0x6f, 0x6e, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x5a, 0x6f, 0x6e, 0x65,
- 0x41, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52,
- 0x11, 0x7a, 0x6f, 0x6e, 0x65, 0x41, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66,
- 0x69, 0x67, 0x12, 0x89, 0x01, 0x0a, 0x1b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f,
- 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
- 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
+ 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74,
+ 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x1a, 0x72, 0x0a, 0x12, 0x52, 0x6f, 0x75, 0x6e, 0x64,
+ 0x52, 0x6f, 0x62, 0x69, 0x6e, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5c, 0x0a,
+ 0x11, 0x73, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e,
- 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f,
- 0x6e, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69,
+ 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x53, 0x6c, 0x6f, 0x77, 0x53,
+ 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x73, 0x6c, 0x6f, 0x77,
+ 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xc5, 0x02, 0x0a, 0x14,
+ 0x4c, 0x65, 0x61, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x62, 0x43, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x12, 0x48, 0x0a, 0x0c, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x63,
+ 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 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, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28,
+ 0x02, 0x52, 0x0b, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x53,
+ 0x0a, 0x13, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x5f, 0x62, 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e,
+ 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
+ 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65,
+ 0x52, 0x11, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42,
+ 0x69, 0x61, 0x73, 0x12, 0x5c, 0x0a, 0x11, 0x73, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x72,
+ 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30,
+ 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c,
+ 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
+ 0x2e, 0x53, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x52, 0x0f, 0x73, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x3a, 0x30, 0x9a, 0xc5, 0x88, 0x1e, 0x2b, 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
+ 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4c,
+ 0x65, 0x61, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x62, 0x43, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x1a, 0x91, 0x03, 0x0a, 0x10, 0x52, 0x69, 0x6e, 0x67, 0x48, 0x61, 0x73, 0x68,
+ 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x54, 0x0a, 0x11, 0x6d, 0x69, 0x6e, 0x69,
+ 0x6d, 0x75, 0x6d, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 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, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x32, 0x05, 0x18, 0x80, 0x80, 0x80, 0x04, 0x52, 0x0f, 0x6d,
+ 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x52, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x6d,
+ 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e,
+ 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x52, 0x69, 0x6e, 0x67, 0x48, 0x61, 0x73, 0x68,
+ 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x46, 0x75, 0x6e,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52,
+ 0x0c, 0x68, 0x61, 0x73, 0x68, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a,
+ 0x11, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x69,
+ 0x7a, 0x65, 0x18, 0x04, 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, 0x36,
+ 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x32, 0x05, 0x18, 0x80, 0x80,
+ 0x80, 0x04, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x52, 0x69, 0x6e, 0x67, 0x53,
+ 0x69, 0x7a, 0x65, 0x22, 0x2e, 0x0a, 0x0c, 0x48, 0x61, 0x73, 0x68, 0x46, 0x75, 0x6e, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07, 0x58, 0x58, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x10, 0x00,
+ 0x12, 0x11, 0x0a, 0x0d, 0x4d, 0x55, 0x52, 0x4d, 0x55, 0x52, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x5f,
+ 0x32, 0x10, 0x01, 0x3a, 0x2c, 0x9a, 0xc5, 0x88, 0x1e, 0x27, 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f,
+ 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
+ 0x2e, 0x52, 0x69, 0x6e, 0x67, 0x48, 0x61, 0x73, 0x68, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x1a, 0x59, 0x0a, 0x0e, 0x4d, 0x61, 0x67, 0x6c, 0x65,
+ 0x76, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x47, 0x0a, 0x0a, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 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, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0xfa, 0x42, 0x07,
+ 0x32, 0x05, 0x18, 0xcb, 0x96, 0xb1, 0x02, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x69,
+ 0x7a, 0x65, 0x1a, 0xf7, 0x01, 0x0a, 0x13, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x44,
+ 0x73, 0x74, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0f, 0x75, 0x73,
+ 0x65, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64,
+ 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65,
+ 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x68, 0x74,
+ 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x5d, 0x0a, 0x16,
+ 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6f, 0x76,
+ 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x03, 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, 0x09, 0xfa, 0x42, 0x06, 0x2a,
+ 0x04, 0x18, 0xff, 0xff, 0x03, 0x52, 0x14, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50,
+ 0x6f, 0x72, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x3a, 0x2f, 0x9a, 0xc5, 0x88,
+ 0x1e, 0x2a, 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32,
+ 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61,
+ 0x6c, 0x44, 0x73, 0x74, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xd5, 0x0b, 0x0a,
+ 0x0e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
+ 0x4e, 0x0a, 0x17, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x70, 0x61, 0x6e, 0x69, 0x63,
+ 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33,
+ 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x15, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68,
+ 0x79, 0x50, 0x61, 0x6e, 0x69, 0x63, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12,
+ 0x74, 0x0a, 0x14, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x61, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x6c, 0x62,
+ 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e,
+ 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75,
+ 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e,
+ 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x5a,
+ 0x6f, 0x6e, 0x65, 0x41, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x48, 0x00, 0x52, 0x11, 0x7a, 0x6f, 0x6e, 0x65, 0x41, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x62, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x89, 0x01, 0x0a, 0x1b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69,
+ 0x74, 0x79, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x62, 0x5f, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x65, 0x6e,
+ 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74,
+ 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f,
+ 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x6f, 0x63,
+ 0x61, 0x6c, 0x69, 0x74, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x4c, 0x62, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x18, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74,
+ 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x12, 0x49, 0x0a, 0x13, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x72, 0x67,
+ 0x65, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 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, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x43, 0x0a, 0x1f,
+ 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73,
+ 0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x68, 0x63, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x4e, 0x65, 0x77,
+ 0x48, 0x6f, 0x73, 0x74, 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x46, 0x69, 0x72, 0x73, 0x74, 0x48,
+ 0x63, 0x12, 0x4d, 0x0a, 0x24, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x6f, 0x6e, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x73,
+ 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x1f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x4f, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x53, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
+ 0x12, 0x8a, 0x01, 0x0a, 0x1c, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f,
+ 0x68, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
+ 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76,
+ 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
+ 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74,
+ 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x52, 0x19, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61,
+ 0x73, 0x68, 0x69, 0x6e, 0x67, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x57, 0x0a,
+ 0x14, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x73,
+ 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e,
+ 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
+ 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53,
+ 0x65, 0x74, 0x52, 0x12, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x48, 0x6f, 0x73, 0x74,
+ 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0x8d, 0x02, 0x0a, 0x11, 0x5a, 0x6f, 0x6e, 0x65, 0x41,
+ 0x77, 0x61, 0x72, 0x65, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3f, 0x0a, 0x0f,
+ 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79,
+ 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x72,
+ 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x46, 0x0a,
+ 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a,
+ 0x65, 0x18, 0x02, 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, 0x36, 0x34,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
+ 0x72, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x31, 0x0a, 0x15, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x74, 0x72,
+ 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x6e, 0x69, 0x63, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x66, 0x61, 0x69, 0x6c, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69,
+ 0x63, 0x4f, 0x6e, 0x50, 0x61, 0x6e, 0x69, 0x63, 0x3a, 0x3c, 0x9a, 0xc5, 0x88, 0x1e, 0x37, 0x0a,
+ 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c,
+ 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x62, 0x43, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x5a, 0x6f, 0x6e, 0x65, 0x41, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x62,
+ 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x5f, 0x0a, 0x18, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69,
0x74, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66,
- 0x69, 0x67, 0x48, 0x00, 0x52, 0x18, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x57, 0x65,
- 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x49,
- 0x0a, 0x13, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x5f, 0x77,
- 0x69, 0x6e, 0x64, 0x6f, 0x77, 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, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65,
- 0x72, 0x67, 0x65, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x43, 0x0a, 0x1f, 0x69, 0x67, 0x6e,
- 0x6f, 0x72, 0x65, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x5f, 0x75, 0x6e,
- 0x74, 0x69, 0x6c, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x68, 0x63, 0x18, 0x05, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x1a, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x4e, 0x65, 0x77, 0x48, 0x6f, 0x73,
- 0x74, 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x46, 0x69, 0x72, 0x73, 0x74, 0x48, 0x63, 0x12, 0x4d,
- 0x0a, 0x24, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69,
- 0x6f, 0x6e, 0x73, 0x5f, 0x6f, 0x6e, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x5f,
- 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1f, 0x63, 0x6c,
- 0x6f, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x6e,
- 0x48, 0x6f, 0x73, 0x74, 0x53, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x8a, 0x01,
- 0x0a, 0x1c, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73,
- 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e,
- 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43,
- 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x62, 0x43,
- 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74,
- 0x48, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
- 0x19, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x69,
- 0x6e, 0x67, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x57, 0x0a, 0x14, 0x6f, 0x76,
- 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74,
- 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e,
- 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x65, 0x74, 0x52,
- 0x12, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61,
- 0x74, 0x75, 0x73, 0x1a, 0x8d, 0x02, 0x0a, 0x11, 0x5a, 0x6f, 0x6e, 0x65, 0x41, 0x77, 0x61, 0x72,
- 0x65, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3f, 0x0a, 0x0f, 0x72, 0x6f, 0x75,
- 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e,
- 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x72, 0x6f, 0x75, 0x74,
- 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x46, 0x0a, 0x10, 0x6d, 0x69,
- 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02,
- 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, 0x36, 0x34, 0x56, 0x61, 0x6c,
- 0x75, 0x65, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x69,
- 0x7a, 0x65, 0x12, 0x31, 0x0a, 0x15, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x66, 0x66,
- 0x69, 0x63, 0x5f, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x6e, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28,
- 0x08, 0x52, 0x12, 0x66, 0x61, 0x69, 0x6c, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4f, 0x6e,
- 0x50, 0x61, 0x6e, 0x69, 0x63, 0x3a, 0x3c, 0x9a, 0xc5, 0x88, 0x1e, 0x37, 0x0a, 0x35, 0x65, 0x6e,
+ 0x69, 0x67, 0x3a, 0x43, 0x9a, 0xc5, 0x88, 0x1e, 0x3e, 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79,
+ 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e,
+ 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c,
+ 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x4c,
+ 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xf1, 0x01, 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x73,
+ 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x4c, 0x62, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, 0x18, 0x75, 0x73, 0x65, 0x5f, 0x68, 0x6f, 0x73,
+ 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x6e,
+ 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x75, 0x73, 0x65, 0x48, 0x6f, 0x73, 0x74,
+ 0x6e, 0x61, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x48, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x55,
+ 0x0a, 0x13, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x66,
+ 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 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, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02,
+ 0x28, 0x64, 0x52, 0x11, 0x68, 0x61, 0x73, 0x68, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x46,
+ 0x61, 0x63, 0x74, 0x6f, 0x72, 0x3a, 0x44, 0x9a, 0xc5, 0x88, 0x1e, 0x3f, 0x0a, 0x3d, 0x65, 0x6e,
0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74,
0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 0x2e, 0x5a, 0x6f, 0x6e, 0x65, 0x41, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x62, 0x43, 0x6f, 0x6e,
- 0x66, 0x69, 0x67, 0x1a, 0x5f, 0x0a, 0x18, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x57,
- 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a,
- 0x43, 0x9a, 0xc5, 0x88, 0x1e, 0x3e, 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70,
- 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d,
- 0x6d, 0x6f, 0x6e, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x6f, 0x63, 0x61,
- 0x6c, 0x69, 0x74, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x4c, 0x62, 0x43, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xf1, 0x01, 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74,
- 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66,
- 0x69, 0x67, 0x12, 0x37, 0x0a, 0x18, 0x75, 0x73, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61,
- 0x6d, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x75, 0x73, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d,
- 0x65, 0x46, 0x6f, 0x72, 0x48, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x55, 0x0a, 0x13, 0x68,
- 0x61, 0x73, 0x68, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74,
- 0x6f, 0x72, 0x18, 0x02, 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, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x64, 0x52,
- 0x11, 0x68, 0x61, 0x73, 0x68, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x61, 0x63, 0x74,
- 0x6f, 0x72, 0x3a, 0x44, 0x9a, 0xc5, 0x88, 0x1e, 0x3f, 0x0a, 0x3d, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e,
- 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43,
- 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67,
- 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x2a, 0x9a, 0xc5, 0x88, 0x1e, 0x25, 0x0a,
- 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c,
- 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x62, 0x43, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x42, 0x1b, 0x0a, 0x19, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79,
- 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65,
- 0x72, 0x1a, 0xd2, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x61, 0x74,
- 0x65, 0x12, 0x4e, 0x0a, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76,
- 0x61, 0x6c, 0x18, 0x01, 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, 0x0e, 0xfa, 0x42, 0x0b, 0xaa, 0x01, 0x08, 0x08, 0x01, 0x2a, 0x04, 0x10,
- 0xc0, 0x84, 0x3d, 0x52, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61,
- 0x6c, 0x12, 0x4a, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 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, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0xaa, 0x01, 0x06, 0x2a, 0x04, 0x10, 0xc0, 0x84, 0x3d,
- 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x3a, 0x27, 0x9a,
- 0xc5, 0x88, 0x1e, 0x22, 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e,
- 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65,
- 0x73, 0x68, 0x52, 0x61, 0x74, 0x65, 0x1a, 0x83, 0x02, 0x0a, 0x10, 0x50, 0x72, 0x65, 0x63, 0x6f,
- 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x78, 0x0a, 0x1d, 0x70,
- 0x65, 0x72, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x70, 0x72, 0x65, 0x63,
- 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65,
- 0x42, 0x17, 0xfa, 0x42, 0x14, 0x12, 0x12, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x40,
- 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0x52, 0x1a, 0x70, 0x65, 0x72, 0x55, 0x70,
- 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
- 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x75, 0x0a, 0x1b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74,
- 0x69, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x72,
- 0x61, 0x74, 0x69, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75,
- 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x17, 0xfa, 0x42, 0x14, 0x12, 0x12, 0x19,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x40, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0,
- 0x3f, 0x52, 0x19, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50, 0x72, 0x65,
- 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x1a, 0x66, 0x0a, 0x22,
- 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72,
- 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 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, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
- 0x3a, 0x02, 0x38, 0x01, 0x22, 0x57, 0x0a, 0x0d, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72,
- 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x10,
- 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x5f, 0x44, 0x4e, 0x53, 0x10,
- 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4c, 0x4f, 0x47, 0x49, 0x43, 0x41, 0x4c, 0x5f, 0x44, 0x4e, 0x53,
- 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x45, 0x44, 0x53, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x4f,
- 0x52, 0x49, 0x47, 0x49, 0x4e, 0x41, 0x4c, 0x5f, 0x44, 0x53, 0x54, 0x10, 0x04, 0x22, 0xa4, 0x01,
- 0x0a, 0x08, 0x4c, 0x62, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x4f,
- 0x55, 0x4e, 0x44, 0x5f, 0x52, 0x4f, 0x42, 0x49, 0x4e, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4c,
- 0x45, 0x41, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x01, 0x12, 0x0d,
- 0x0a, 0x09, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x10, 0x02, 0x12, 0x0a, 0x0a,
- 0x06, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x41, 0x47,
- 0x4c, 0x45, 0x56, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52,
- 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x44, 0x10, 0x06, 0x12, 0x20, 0x0a, 0x1c, 0x4c,
- 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4f,
- 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x07, 0x22, 0x04, 0x08,
- 0x04, 0x10, 0x04, 0x2a, 0x0f, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x41, 0x4c, 0x5f, 0x44, 0x53,
- 0x54, 0x5f, 0x4c, 0x42, 0x22, 0x50, 0x0a, 0x0f, 0x44, 0x6e, 0x73, 0x4c, 0x6f, 0x6f, 0x6b, 0x75,
- 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x55, 0x54, 0x4f, 0x10,
- 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x56, 0x34, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01, 0x12, 0x0b,
- 0x0a, 0x07, 0x56, 0x36, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x56,
- 0x34, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x52, 0x45, 0x44, 0x10, 0x03, 0x12, 0x07, 0x0a,
- 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x04, 0x22, 0x54, 0x0a, 0x18, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
- 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69,
- 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x53, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47,
- 0x55, 0x52, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x10, 0x00, 0x12,
- 0x1b, 0x0a, 0x17, 0x55, 0x53, 0x45, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x53, 0x54, 0x52, 0x45, 0x41,
- 0x4d, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x10, 0x01, 0x3a, 0x1b, 0x9a, 0xc5,
- 0x88, 0x1e, 0x16, 0x0a, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76,
- 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x18, 0x0a, 0x16, 0x63, 0x6c, 0x75,
- 0x73, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x74,
- 0x79, 0x70, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x4a, 0x04, 0x08, 0x0c, 0x10, 0x0d, 0x4a, 0x04, 0x08, 0x0f, 0x10, 0x10, 0x4a, 0x04, 0x08, 0x07,
- 0x10, 0x08, 0x4a, 0x04, 0x08, 0x0b, 0x10, 0x0c, 0x4a, 0x04, 0x08, 0x23, 0x10, 0x24, 0x52, 0x05,
- 0x68, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x0b, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65,
- 0x78, 0x74, 0x52, 0x1a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xda,
- 0x02, 0x0a, 0x13, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67,
- 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x4f, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69,
- 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e,
- 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67,
- 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x08, 0x70,
- 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x1a, 0xc8, 0x01, 0x0a, 0x06, 0x50, 0x6f, 0x6c, 0x69,
- 0x63, 0x79, 0x12, 0x60, 0x0a, 0x16, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x65,
- 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45,
- 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x14,
- 0x74, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x2e, 0x9a, 0xc5, 0x88, 0x1e, 0x29, 0x0a, 0x27, 0x65, 0x6e, 0x76,
- 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61,
- 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x50, 0x6f,
- 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02,
- 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x04,
- 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
- 0x69, 0x67, 0x3a, 0x27, 0x9a, 0xc5, 0x88, 0x1e, 0x22, 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61,
- 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x82, 0x01, 0x0a, 0x12,
- 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66,
- 0x69, 0x67, 0x12, 0x44, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64,
- 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76,
- 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76,
- 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63,
- 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x26, 0x9a, 0xc5, 0x88, 0x1e, 0x21, 0x0a,
- 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70,
- 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x22, 0xf9, 0x01, 0x0a, 0x19, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e,
- 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x47,
- 0x0a, 0x0d, 0x74, 0x63, 0x70, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 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, 0x12, 0x64, 0x0a, 0x30, 0x73, 0x65, 0x74, 0x5f, 0x6c,
- 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x6e,
- 0x61, 0x6d, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f,
- 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x08, 0x52, 0x2a, 0x73, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x72,
- 0x66, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x4f, 0x6e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65,
- 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x2d, 0x9a,
- 0xc5, 0x88, 0x1e, 0x28, 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e,
- 0x76, 0x32, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65,
- 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x72, 0x0a, 0x11,
- 0x54, 0x72, 0x61, 0x63, 0x6b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74,
- 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x62, 0x75, 0x64,
- 0x67, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65,
- 0x6f, 0x75, 0x74, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x73,
- 0x69, 0x7a, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x72, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x73,
- 0x42, 0x89, 0x01, 0x0a, 0x25, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f,
- 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
- 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x43, 0x6c, 0x75, 0x73,
- 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68,
- 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78,
- 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61,
- 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f,
- 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6c, 0x75, 0x73, 0x74,
- 0x65, 0x72, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x33,
+ 0x67, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68,
+ 0x69, 0x6e, 0x67, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x2a, 0x9a, 0xc5, 0x88,
+ 0x1e, 0x25, 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32,
+ 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c,
+ 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x1b, 0x0a, 0x19, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
+ 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69,
+ 0x66, 0x69, 0x65, 0x72, 0x1a, 0xd2, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68,
+ 0x52, 0x61, 0x74, 0x65, 0x12, 0x4e, 0x0a, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x74,
+ 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x01, 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, 0x0e, 0xfa, 0x42, 0x0b, 0xaa, 0x01, 0x08, 0x08, 0x01,
+ 0x2a, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x74, 0x65,
+ 0x72, 0x76, 0x61, 0x6c, 0x12, 0x4a, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 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, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0xaa, 0x01, 0x06, 0x2a, 0x04, 0x10,
+ 0xc0, 0x84, 0x3d, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c,
+ 0x3a, 0x27, 0x9a, 0xc5, 0x88, 0x1e, 0x22, 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61,
+ 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x52, 0x65,
+ 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x61, 0x74, 0x65, 0x1a, 0x83, 0x02, 0x0a, 0x10, 0x50, 0x72,
+ 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x78,
+ 0x0a, 0x1d, 0x70, 0x65, 0x72, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x70,
+ 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x42, 0x17, 0xfa, 0x42, 0x14, 0x12, 0x12, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x08, 0x40, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0x52, 0x1a, 0x70, 0x65,
+ 0x72, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e,
+ 0x65, 0x63, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x75, 0x0a, 0x1b, 0x70, 0x72, 0x65, 0x64,
+ 0x69, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
+ 0x74, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x17, 0xfa, 0x42, 0x14,
+ 0x12, 0x12, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x40, 0x29, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xf0, 0x3f, 0x52, 0x19, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x76, 0x65,
+ 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x1a,
+ 0x66, 0x0a, 0x22, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
+ 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 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, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x57, 0x0a, 0x0d, 0x44, 0x69, 0x73, 0x63, 0x6f,
+ 0x76, 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x41, 0x54,
+ 0x49, 0x43, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x5f, 0x44,
+ 0x4e, 0x53, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4c, 0x4f, 0x47, 0x49, 0x43, 0x41, 0x4c, 0x5f,
+ 0x44, 0x4e, 0x53, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x45, 0x44, 0x53, 0x10, 0x03, 0x12, 0x10,
+ 0x0a, 0x0c, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x41, 0x4c, 0x5f, 0x44, 0x53, 0x54, 0x10, 0x04,
+ 0x22, 0xa4, 0x01, 0x0a, 0x08, 0x4c, 0x62, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x0f, 0x0a,
+ 0x0b, 0x52, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x52, 0x4f, 0x42, 0x49, 0x4e, 0x10, 0x00, 0x12, 0x11,
+ 0x0a, 0x0d, 0x4c, 0x45, 0x41, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10,
+ 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x10, 0x02,
+ 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06,
+ 0x4d, 0x41, 0x47, 0x4c, 0x45, 0x56, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4c, 0x55, 0x53,
+ 0x54, 0x45, 0x52, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x44, 0x10, 0x06, 0x12, 0x20,
+ 0x0a, 0x1c, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x49, 0x4e, 0x47,
+ 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x07,
+ 0x22, 0x04, 0x08, 0x04, 0x10, 0x04, 0x2a, 0x0f, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x41, 0x4c,
+ 0x5f, 0x44, 0x53, 0x54, 0x5f, 0x4c, 0x42, 0x22, 0x50, 0x0a, 0x0f, 0x44, 0x6e, 0x73, 0x4c, 0x6f,
+ 0x6f, 0x6b, 0x75, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x55,
+ 0x54, 0x4f, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x56, 0x34, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10,
+ 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x56, 0x36, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x10,
+ 0x0a, 0x0c, 0x56, 0x34, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x52, 0x45, 0x44, 0x10, 0x03,
+ 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x04, 0x22, 0x54, 0x0a, 0x18, 0x43, 0x6c, 0x75,
+ 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x6c, 0x65,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x53, 0x45, 0x5f, 0x43, 0x4f, 0x4e,
+ 0x46, 0x49, 0x47, 0x55, 0x52, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c,
+ 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x53, 0x45, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x53, 0x54,
+ 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x10, 0x01, 0x3a,
+ 0x1b, 0x9a, 0xc5, 0x88, 0x1e, 0x16, 0x0a, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70,
+ 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x18, 0x0a, 0x16,
+ 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72,
+ 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x4a, 0x04, 0x08, 0x0c, 0x10, 0x0d, 0x4a, 0x04, 0x08, 0x0f, 0x10, 0x10, 0x4a,
+ 0x04, 0x08, 0x07, 0x10, 0x08, 0x4a, 0x04, 0x08, 0x0b, 0x10, 0x0c, 0x4a, 0x04, 0x08, 0x23, 0x10,
+ 0x24, 0x52, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x0b, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x6f,
+ 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x1a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x22, 0xda, 0x02, 0x0a, 0x13, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63,
+ 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x4f, 0x0a, 0x08, 0x70, 0x6f, 0x6c,
+ 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e,
+ 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74,
+ 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63,
+ 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
+ 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x1a, 0xc8, 0x01, 0x0a, 0x06, 0x50,
+ 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x60, 0x0a, 0x16, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x65,
+ 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70,
+ 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x52, 0x14, 0x74, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
+ 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x2e, 0x9a, 0xc5, 0x88, 0x1e, 0x29, 0x0a, 0x27,
+ 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x61,
+ 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
+ 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08,
+ 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x27, 0x9a, 0xc5, 0x88, 0x1e, 0x22, 0x0a, 0x20, 0x65, 0x6e,
+ 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42,
+ 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xf9,
+ 0x01, 0x0a, 0x19, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x47, 0x0a, 0x0d,
+ 0x74, 0x63, 0x70, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 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, 0x12, 0x64, 0x0a, 0x30, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x63,
+ 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d,
+ 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f,
+ 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x2a, 0x73, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61,
+ 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x4f, 0x6e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d,
+ 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x2d, 0x9a, 0xc5, 0x88,
+ 0x1e, 0x28, 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32,
+ 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x72, 0x0a, 0x11, 0x54, 0x72,
+ 0x61, 0x63, 0x6b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12,
+ 0x27, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x62, 0x75, 0x64, 0x67, 0x65,
+ 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75,
+ 0x74, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x73, 0x69, 0x7a,
+ 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x73, 0x42, 0x89,
+ 0x01, 0x0a, 0x25, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79,
+ 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c,
+ 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
+ 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62,
+ 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f,
+ 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65,
+ 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6c,
+ 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
+ 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
}
var (
@@ -3843,20 +3916,20 @@ func file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP() []byte {
return file_envoy_config_cluster_v3_cluster_proto_rawDescData
}
-var file_envoy_config_cluster_v3_cluster_proto_enumTypes = make([]protoimpl.EnumInfo, 7)
-var file_envoy_config_cluster_v3_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 25)
+var file_envoy_config_cluster_v3_cluster_proto_enumTypes = make([]protoimpl.EnumInfo, 8)
+var file_envoy_config_cluster_v3_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 24)
var file_envoy_config_cluster_v3_cluster_proto_goTypes = []interface{}{
(Cluster_DiscoveryType)(0), // 0: envoy.config.cluster.v3.Cluster.DiscoveryType
(Cluster_LbPolicy)(0), // 1: envoy.config.cluster.v3.Cluster.LbPolicy
(Cluster_DnsLookupFamily)(0), // 2: envoy.config.cluster.v3.Cluster.DnsLookupFamily
(Cluster_ClusterProtocolSelection)(0), // 3: envoy.config.cluster.v3.Cluster.ClusterProtocolSelection
(Cluster_LbSubsetConfig_LbSubsetFallbackPolicy)(0), // 4: envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy
- (Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy)(0), // 5: envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.LbSubsetSelectorFallbackPolicy
- (Cluster_RingHashLbConfig_HashFunction)(0), // 6: envoy.config.cluster.v3.Cluster.RingHashLbConfig.HashFunction
- (*ClusterCollection)(nil), // 7: envoy.config.cluster.v3.ClusterCollection
- (*Cluster)(nil), // 8: envoy.config.cluster.v3.Cluster
- (*LoadBalancingPolicy)(nil), // 9: envoy.config.cluster.v3.LoadBalancingPolicy
- (*UpstreamBindConfig)(nil), // 10: envoy.config.cluster.v3.UpstreamBindConfig
+ (Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy)(0), // 5: envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetMetadataFallbackPolicy
+ (Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy)(0), // 6: envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.LbSubsetSelectorFallbackPolicy
+ (Cluster_RingHashLbConfig_HashFunction)(0), // 7: envoy.config.cluster.v3.Cluster.RingHashLbConfig.HashFunction
+ (*ClusterCollection)(nil), // 8: envoy.config.cluster.v3.ClusterCollection
+ (*Cluster)(nil), // 9: envoy.config.cluster.v3.Cluster
+ (*LoadBalancingPolicy)(nil), // 10: envoy.config.cluster.v3.LoadBalancingPolicy
(*UpstreamConnectionOptions)(nil), // 11: envoy.config.cluster.v3.UpstreamConnectionOptions
(*TrackClusterStats)(nil), // 12: envoy.config.cluster.v3.TrackClusterStats
(*Cluster_TransportSocketMatch)(nil), // 13: envoy.config.cluster.v3.Cluster.TransportSocketMatch
@@ -3900,7 +3973,7 @@ var file_envoy_config_cluster_v3_cluster_proto_goTypes = []interface{}{
(*v32.ConfigSource)(nil), // 51: envoy.config.core.v3.ConfigSource
(*v32.TcpKeepalive)(nil), // 52: envoy.config.core.v3.TcpKeepalive
(*_struct.Struct)(nil), // 53: google.protobuf.Struct
- (*any.Any)(nil), // 54: google.protobuf.Any
+ (*any1.Any)(nil), // 54: google.protobuf.Any
(*v32.RuntimeDouble)(nil), // 55: envoy.config.core.v3.RuntimeDouble
(*v33.Percent)(nil), // 56: envoy.type.v3.Percent
(*wrappers.UInt64Value)(nil), // 57: google.protobuf.UInt64Value
@@ -3947,21 +4020,21 @@ var file_envoy_config_cluster_v3_cluster_proto_depIdxs = []int32{
3, // 36: envoy.config.cluster.v3.Cluster.protocol_selection:type_name -> envoy.config.cluster.v3.Cluster.ClusterProtocolSelection
11, // 37: envoy.config.cluster.v3.Cluster.upstream_connection_options:type_name -> envoy.config.cluster.v3.UpstreamConnectionOptions
50, // 38: envoy.config.cluster.v3.Cluster.filters:type_name -> envoy.config.cluster.v3.Filter
- 9, // 39: envoy.config.cluster.v3.Cluster.load_balancing_policy:type_name -> envoy.config.cluster.v3.LoadBalancingPolicy
+ 10, // 39: envoy.config.cluster.v3.Cluster.load_balancing_policy:type_name -> envoy.config.cluster.v3.LoadBalancingPolicy
51, // 40: envoy.config.cluster.v3.Cluster.lrs_server:type_name -> envoy.config.core.v3.ConfigSource
44, // 41: envoy.config.cluster.v3.Cluster.upstream_config:type_name -> envoy.config.core.v3.TypedExtensionConfig
12, // 42: envoy.config.cluster.v3.Cluster.track_cluster_stats:type_name -> envoy.config.cluster.v3.TrackClusterStats
25, // 43: envoy.config.cluster.v3.Cluster.preconnect_policy:type_name -> envoy.config.cluster.v3.Cluster.PreconnectPolicy
31, // 44: envoy.config.cluster.v3.LoadBalancingPolicy.policies:type_name -> envoy.config.cluster.v3.LoadBalancingPolicy.Policy
- 42, // 45: envoy.config.cluster.v3.UpstreamBindConfig.source_address:type_name -> envoy.config.core.v3.Address
- 52, // 46: envoy.config.cluster.v3.UpstreamConnectionOptions.tcp_keepalive:type_name -> envoy.config.core.v3.TcpKeepalive
- 53, // 47: envoy.config.cluster.v3.Cluster.TransportSocketMatch.match:type_name -> google.protobuf.Struct
- 48, // 48: envoy.config.cluster.v3.Cluster.TransportSocketMatch.transport_socket:type_name -> envoy.config.core.v3.TransportSocket
- 54, // 49: envoy.config.cluster.v3.Cluster.CustomClusterType.typed_config:type_name -> google.protobuf.Any
- 51, // 50: envoy.config.cluster.v3.Cluster.EdsClusterConfig.eds_config:type_name -> envoy.config.core.v3.ConfigSource
- 4, // 51: envoy.config.cluster.v3.Cluster.LbSubsetConfig.fallback_policy:type_name -> envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy
- 53, // 52: envoy.config.cluster.v3.Cluster.LbSubsetConfig.default_subset:type_name -> google.protobuf.Struct
- 27, // 53: envoy.config.cluster.v3.Cluster.LbSubsetConfig.subset_selectors:type_name -> envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector
+ 52, // 45: envoy.config.cluster.v3.UpstreamConnectionOptions.tcp_keepalive:type_name -> envoy.config.core.v3.TcpKeepalive
+ 53, // 46: envoy.config.cluster.v3.Cluster.TransportSocketMatch.match:type_name -> google.protobuf.Struct
+ 48, // 47: envoy.config.cluster.v3.Cluster.TransportSocketMatch.transport_socket:type_name -> envoy.config.core.v3.TransportSocket
+ 54, // 48: envoy.config.cluster.v3.Cluster.CustomClusterType.typed_config:type_name -> google.protobuf.Any
+ 51, // 49: envoy.config.cluster.v3.Cluster.EdsClusterConfig.eds_config:type_name -> envoy.config.core.v3.ConfigSource
+ 4, // 50: envoy.config.cluster.v3.Cluster.LbSubsetConfig.fallback_policy:type_name -> envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy
+ 53, // 51: envoy.config.cluster.v3.Cluster.LbSubsetConfig.default_subset:type_name -> google.protobuf.Struct
+ 27, // 52: envoy.config.cluster.v3.Cluster.LbSubsetConfig.subset_selectors:type_name -> envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector
+ 5, // 53: envoy.config.cluster.v3.Cluster.LbSubsetConfig.metadata_fallback_policy:type_name -> envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetMetadataFallbackPolicy
33, // 54: envoy.config.cluster.v3.Cluster.SlowStartConfig.slow_start_window:type_name -> google.protobuf.Duration
55, // 55: envoy.config.cluster.v3.Cluster.SlowStartConfig.aggression:type_name -> envoy.config.core.v3.RuntimeDouble
56, // 56: envoy.config.cluster.v3.Cluster.SlowStartConfig.min_weight_percent:type_name -> envoy.type.v3.Percent
@@ -3970,30 +4043,31 @@ var file_envoy_config_cluster_v3_cluster_proto_depIdxs = []int32{
55, // 59: envoy.config.cluster.v3.Cluster.LeastRequestLbConfig.active_request_bias:type_name -> envoy.config.core.v3.RuntimeDouble
17, // 60: envoy.config.cluster.v3.Cluster.LeastRequestLbConfig.slow_start_config:type_name -> envoy.config.cluster.v3.Cluster.SlowStartConfig
57, // 61: envoy.config.cluster.v3.Cluster.RingHashLbConfig.minimum_ring_size:type_name -> google.protobuf.UInt64Value
- 6, // 62: envoy.config.cluster.v3.Cluster.RingHashLbConfig.hash_function:type_name -> envoy.config.cluster.v3.Cluster.RingHashLbConfig.HashFunction
+ 7, // 62: envoy.config.cluster.v3.Cluster.RingHashLbConfig.hash_function:type_name -> envoy.config.cluster.v3.Cluster.RingHashLbConfig.HashFunction
57, // 63: envoy.config.cluster.v3.Cluster.RingHashLbConfig.maximum_ring_size:type_name -> google.protobuf.UInt64Value
57, // 64: envoy.config.cluster.v3.Cluster.MaglevLbConfig.table_size:type_name -> google.protobuf.UInt64Value
- 56, // 65: envoy.config.cluster.v3.Cluster.CommonLbConfig.healthy_panic_threshold:type_name -> envoy.type.v3.Percent
- 28, // 66: envoy.config.cluster.v3.Cluster.CommonLbConfig.zone_aware_lb_config:type_name -> envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig
- 29, // 67: envoy.config.cluster.v3.Cluster.CommonLbConfig.locality_weighted_lb_config:type_name -> envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig
- 33, // 68: envoy.config.cluster.v3.Cluster.CommonLbConfig.update_merge_window:type_name -> google.protobuf.Duration
- 30, // 69: envoy.config.cluster.v3.Cluster.CommonLbConfig.consistent_hashing_lb_config:type_name -> envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig
- 58, // 70: envoy.config.cluster.v3.Cluster.CommonLbConfig.override_host_status:type_name -> envoy.config.core.v3.HealthStatusSet
- 33, // 71: envoy.config.cluster.v3.Cluster.RefreshRate.base_interval:type_name -> google.protobuf.Duration
- 33, // 72: envoy.config.cluster.v3.Cluster.RefreshRate.max_interval:type_name -> google.protobuf.Duration
- 59, // 73: envoy.config.cluster.v3.Cluster.PreconnectPolicy.per_upstream_preconnect_ratio:type_name -> google.protobuf.DoubleValue
- 59, // 74: envoy.config.cluster.v3.Cluster.PreconnectPolicy.predictive_preconnect_ratio:type_name -> google.protobuf.DoubleValue
- 54, // 75: envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry.value:type_name -> google.protobuf.Any
- 5, // 76: envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.fallback_policy:type_name -> envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.LbSubsetSelectorFallbackPolicy
- 56, // 77: envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig.routing_enabled:type_name -> envoy.type.v3.Percent
- 57, // 78: envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig.min_cluster_size:type_name -> google.protobuf.UInt64Value
- 34, // 79: envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig.hash_balance_factor:type_name -> google.protobuf.UInt32Value
- 44, // 80: envoy.config.cluster.v3.LoadBalancingPolicy.Policy.typed_extension_config:type_name -> envoy.config.core.v3.TypedExtensionConfig
- 81, // [81:81] is the sub-list for method output_type
- 81, // [81:81] is the sub-list for method input_type
- 81, // [81:81] is the sub-list for extension type_name
- 81, // [81:81] is the sub-list for extension extendee
- 0, // [0:81] is the sub-list for field type_name
+ 34, // 65: envoy.config.cluster.v3.Cluster.OriginalDstLbConfig.upstream_port_override:type_name -> google.protobuf.UInt32Value
+ 56, // 66: envoy.config.cluster.v3.Cluster.CommonLbConfig.healthy_panic_threshold:type_name -> envoy.type.v3.Percent
+ 28, // 67: envoy.config.cluster.v3.Cluster.CommonLbConfig.zone_aware_lb_config:type_name -> envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig
+ 29, // 68: envoy.config.cluster.v3.Cluster.CommonLbConfig.locality_weighted_lb_config:type_name -> envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig
+ 33, // 69: envoy.config.cluster.v3.Cluster.CommonLbConfig.update_merge_window:type_name -> google.protobuf.Duration
+ 30, // 70: envoy.config.cluster.v3.Cluster.CommonLbConfig.consistent_hashing_lb_config:type_name -> envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig
+ 58, // 71: envoy.config.cluster.v3.Cluster.CommonLbConfig.override_host_status:type_name -> envoy.config.core.v3.HealthStatusSet
+ 33, // 72: envoy.config.cluster.v3.Cluster.RefreshRate.base_interval:type_name -> google.protobuf.Duration
+ 33, // 73: envoy.config.cluster.v3.Cluster.RefreshRate.max_interval:type_name -> google.protobuf.Duration
+ 59, // 74: envoy.config.cluster.v3.Cluster.PreconnectPolicy.per_upstream_preconnect_ratio:type_name -> google.protobuf.DoubleValue
+ 59, // 75: envoy.config.cluster.v3.Cluster.PreconnectPolicy.predictive_preconnect_ratio:type_name -> google.protobuf.DoubleValue
+ 54, // 76: envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry.value:type_name -> google.protobuf.Any
+ 6, // 77: envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.fallback_policy:type_name -> envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.LbSubsetSelectorFallbackPolicy
+ 56, // 78: envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig.routing_enabled:type_name -> envoy.type.v3.Percent
+ 57, // 79: envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig.min_cluster_size:type_name -> google.protobuf.UInt64Value
+ 34, // 80: envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig.hash_balance_factor:type_name -> google.protobuf.UInt32Value
+ 44, // 81: envoy.config.cluster.v3.LoadBalancingPolicy.Policy.typed_extension_config:type_name -> envoy.config.core.v3.TypedExtensionConfig
+ 82, // [82:82] is the sub-list for method output_type
+ 82, // [82:82] is the sub-list for method input_type
+ 82, // [82:82] is the sub-list for extension type_name
+ 82, // [82:82] is the sub-list for extension extendee
+ 0, // [0:82] is the sub-list for field type_name
}
func init() { file_envoy_config_cluster_v3_cluster_proto_init() }
@@ -4042,18 +4116,6 @@ func file_envoy_config_cluster_v3_cluster_proto_init() {
}
}
file_envoy_config_cluster_v3_cluster_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*UpstreamBindConfig); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_envoy_config_cluster_v3_cluster_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpstreamConnectionOptions); i {
case 0:
return &v.state
@@ -4065,7 +4127,7 @@ func file_envoy_config_cluster_v3_cluster_proto_init() {
return nil
}
}
- file_envoy_config_cluster_v3_cluster_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+ file_envoy_config_cluster_v3_cluster_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TrackClusterStats); i {
case 0:
return &v.state
@@ -4077,7 +4139,7 @@ func file_envoy_config_cluster_v3_cluster_proto_init() {
return nil
}
}
- file_envoy_config_cluster_v3_cluster_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+ file_envoy_config_cluster_v3_cluster_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Cluster_TransportSocketMatch); i {
case 0:
return &v.state
@@ -4089,7 +4151,7 @@ func file_envoy_config_cluster_v3_cluster_proto_init() {
return nil
}
}
- file_envoy_config_cluster_v3_cluster_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+ file_envoy_config_cluster_v3_cluster_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Cluster_CustomClusterType); i {
case 0:
return &v.state
@@ -4101,7 +4163,7 @@ func file_envoy_config_cluster_v3_cluster_proto_init() {
return nil
}
}
- file_envoy_config_cluster_v3_cluster_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+ file_envoy_config_cluster_v3_cluster_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Cluster_EdsClusterConfig); i {
case 0:
return &v.state
@@ -4113,7 +4175,7 @@ func file_envoy_config_cluster_v3_cluster_proto_init() {
return nil
}
}
- file_envoy_config_cluster_v3_cluster_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+ file_envoy_config_cluster_v3_cluster_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Cluster_LbSubsetConfig); i {
case 0:
return &v.state
@@ -4125,7 +4187,7 @@ func file_envoy_config_cluster_v3_cluster_proto_init() {
return nil
}
}
- file_envoy_config_cluster_v3_cluster_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
+ file_envoy_config_cluster_v3_cluster_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Cluster_SlowStartConfig); i {
case 0:
return &v.state
@@ -4137,7 +4199,7 @@ func file_envoy_config_cluster_v3_cluster_proto_init() {
return nil
}
}
- file_envoy_config_cluster_v3_cluster_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
+ file_envoy_config_cluster_v3_cluster_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Cluster_RoundRobinLbConfig); i {
case 0:
return &v.state
@@ -4149,7 +4211,7 @@ func file_envoy_config_cluster_v3_cluster_proto_init() {
return nil
}
}
- file_envoy_config_cluster_v3_cluster_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
+ file_envoy_config_cluster_v3_cluster_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Cluster_LeastRequestLbConfig); i {
case 0:
return &v.state
@@ -4161,7 +4223,7 @@ func file_envoy_config_cluster_v3_cluster_proto_init() {
return nil
}
}
- file_envoy_config_cluster_v3_cluster_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
+ file_envoy_config_cluster_v3_cluster_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Cluster_RingHashLbConfig); i {
case 0:
return &v.state
@@ -4173,7 +4235,7 @@ func file_envoy_config_cluster_v3_cluster_proto_init() {
return nil
}
}
- file_envoy_config_cluster_v3_cluster_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
+ file_envoy_config_cluster_v3_cluster_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Cluster_MaglevLbConfig); i {
case 0:
return &v.state
@@ -4185,7 +4247,7 @@ func file_envoy_config_cluster_v3_cluster_proto_init() {
return nil
}
}
- file_envoy_config_cluster_v3_cluster_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
+ file_envoy_config_cluster_v3_cluster_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Cluster_OriginalDstLbConfig); i {
case 0:
return &v.state
@@ -4197,7 +4259,7 @@ func file_envoy_config_cluster_v3_cluster_proto_init() {
return nil
}
}
- file_envoy_config_cluster_v3_cluster_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
+ file_envoy_config_cluster_v3_cluster_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Cluster_CommonLbConfig); i {
case 0:
return &v.state
@@ -4209,7 +4271,7 @@ func file_envoy_config_cluster_v3_cluster_proto_init() {
return nil
}
}
- file_envoy_config_cluster_v3_cluster_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
+ file_envoy_config_cluster_v3_cluster_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Cluster_RefreshRate); i {
case 0:
return &v.state
@@ -4221,7 +4283,7 @@ func file_envoy_config_cluster_v3_cluster_proto_init() {
return nil
}
}
- file_envoy_config_cluster_v3_cluster_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
+ file_envoy_config_cluster_v3_cluster_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Cluster_PreconnectPolicy); i {
case 0:
return &v.state
@@ -4233,7 +4295,7 @@ func file_envoy_config_cluster_v3_cluster_proto_init() {
return nil
}
}
- file_envoy_config_cluster_v3_cluster_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
+ file_envoy_config_cluster_v3_cluster_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Cluster_LbSubsetConfig_LbSubsetSelector); i {
case 0:
return &v.state
@@ -4245,7 +4307,7 @@ func file_envoy_config_cluster_v3_cluster_proto_init() {
return nil
}
}
- file_envoy_config_cluster_v3_cluster_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
+ file_envoy_config_cluster_v3_cluster_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Cluster_CommonLbConfig_ZoneAwareLbConfig); i {
case 0:
return &v.state
@@ -4257,7 +4319,7 @@ func file_envoy_config_cluster_v3_cluster_proto_init() {
return nil
}
}
- file_envoy_config_cluster_v3_cluster_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
+ file_envoy_config_cluster_v3_cluster_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Cluster_CommonLbConfig_LocalityWeightedLbConfig); i {
case 0:
return &v.state
@@ -4269,7 +4331,7 @@ func file_envoy_config_cluster_v3_cluster_proto_init() {
return nil
}
}
- file_envoy_config_cluster_v3_cluster_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
+ file_envoy_config_cluster_v3_cluster_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Cluster_CommonLbConfig_ConsistentHashingLbConfig); i {
case 0:
return &v.state
@@ -4281,7 +4343,7 @@ func file_envoy_config_cluster_v3_cluster_proto_init() {
return nil
}
}
- file_envoy_config_cluster_v3_cluster_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
+ file_envoy_config_cluster_v3_cluster_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LoadBalancingPolicy_Policy); i {
case 0:
return &v.state
@@ -4303,7 +4365,7 @@ func file_envoy_config_cluster_v3_cluster_proto_init() {
(*Cluster_LeastRequestLbConfig_)(nil),
(*Cluster_RoundRobinLbConfig_)(nil),
}
- file_envoy_config_cluster_v3_cluster_proto_msgTypes[16].OneofWrappers = []interface{}{
+ file_envoy_config_cluster_v3_cluster_proto_msgTypes[15].OneofWrappers = []interface{}{
(*Cluster_CommonLbConfig_ZoneAwareLbConfig_)(nil),
(*Cluster_CommonLbConfig_LocalityWeightedLbConfig_)(nil),
}
@@ -4312,8 +4374,8 @@ func file_envoy_config_cluster_v3_cluster_proto_init() {
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_envoy_config_cluster_v3_cluster_proto_rawDesc,
- NumEnums: 7,
- NumMessages: 25,
+ NumEnums: 8,
+ NumMessages: 24,
NumExtensions: 0,
NumServices: 0,
},
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/cluster.pb.validate.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/cluster.pb.validate.go
index 2ad9dfb843..85d0367721 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/cluster.pb.validate.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/cluster.pb.validate.go
@@ -1233,9 +1233,18 @@ func (m *Cluster) validate(all bool) error {
// no validation rules for ConnectionPoolPerDownstreamConnection
- switch m.ClusterDiscoveryType.(type) {
-
+ switch v := m.ClusterDiscoveryType.(type) {
case *Cluster_Type:
+ if v == nil {
+ err := ClusterValidationError{
+ field: "ClusterDiscoveryType",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
if _, ok := Cluster_DiscoveryType_name[int32(m.GetType())]; !ok {
err := ClusterValidationError{
@@ -1249,6 +1258,16 @@ func (m *Cluster) validate(all bool) error {
}
case *Cluster_ClusterType:
+ if v == nil {
+ err := ClusterValidationError{
+ field: "ClusterDiscoveryType",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
if all {
switch v := interface{}(m.GetClusterType()).(type) {
@@ -1279,11 +1298,21 @@ func (m *Cluster) validate(all bool) error {
}
}
+ default:
+ _ = v // ensures v is used
}
-
- switch m.LbConfig.(type) {
-
+ switch v := m.LbConfig.(type) {
case *Cluster_RingHashLbConfig_:
+ if v == nil {
+ err := ClusterValidationError{
+ field: "LbConfig",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
if all {
switch v := interface{}(m.GetRingHashLbConfig()).(type) {
@@ -1315,6 +1344,16 @@ func (m *Cluster) validate(all bool) error {
}
case *Cluster_MaglevLbConfig_:
+ if v == nil {
+ err := ClusterValidationError{
+ field: "LbConfig",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
if all {
switch v := interface{}(m.GetMaglevLbConfig()).(type) {
@@ -1346,6 +1385,16 @@ func (m *Cluster) validate(all bool) error {
}
case *Cluster_OriginalDstLbConfig_:
+ if v == nil {
+ err := ClusterValidationError{
+ field: "LbConfig",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
if all {
switch v := interface{}(m.GetOriginalDstLbConfig()).(type) {
@@ -1377,6 +1426,16 @@ func (m *Cluster) validate(all bool) error {
}
case *Cluster_LeastRequestLbConfig_:
+ if v == nil {
+ err := ClusterValidationError{
+ field: "LbConfig",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
if all {
switch v := interface{}(m.GetLeastRequestLbConfig()).(type) {
@@ -1408,6 +1467,16 @@ func (m *Cluster) validate(all bool) error {
}
case *Cluster_RoundRobinLbConfig_:
+ if v == nil {
+ err := ClusterValidationError{
+ field: "LbConfig",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
if all {
switch v := interface{}(m.GetRoundRobinLbConfig()).(type) {
@@ -1438,6 +1507,8 @@ func (m *Cluster) validate(all bool) error {
}
}
+ default:
+ _ = v // ensures v is used
}
if len(errors) > 0 {
@@ -1653,137 +1724,6 @@ var _ interface {
ErrorName() string
} = LoadBalancingPolicyValidationError{}
-// Validate checks the field values on UpstreamBindConfig with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *UpstreamBindConfig) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on UpstreamBindConfig with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// UpstreamBindConfigMultiError, or nil if none found.
-func (m *UpstreamBindConfig) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *UpstreamBindConfig) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if all {
- switch v := interface{}(m.GetSourceAddress()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, UpstreamBindConfigValidationError{
- field: "SourceAddress",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, UpstreamBindConfigValidationError{
- field: "SourceAddress",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetSourceAddress()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return UpstreamBindConfigValidationError{
- field: "SourceAddress",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if len(errors) > 0 {
- return UpstreamBindConfigMultiError(errors)
- }
-
- return nil
-}
-
-// UpstreamBindConfigMultiError is an error wrapping multiple validation errors
-// returned by UpstreamBindConfig.ValidateAll() if the designated constraints
-// aren't met.
-type UpstreamBindConfigMultiError []error
-
-// Error returns a concatenation of all the error messages it wraps.
-func (m UpstreamBindConfigMultiError) Error() string {
- var msgs []string
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
-
-// AllErrors returns a list of validation violation errors.
-func (m UpstreamBindConfigMultiError) AllErrors() []error { return m }
-
-// UpstreamBindConfigValidationError is the validation error returned by
-// UpstreamBindConfig.Validate if the designated constraints aren't met.
-type UpstreamBindConfigValidationError struct {
- field string
- reason string
- cause error
- key bool
-}
-
-// Field function returns field value.
-func (e UpstreamBindConfigValidationError) Field() string { return e.field }
-
-// Reason function returns reason value.
-func (e UpstreamBindConfigValidationError) Reason() string { return e.reason }
-
-// Cause function returns cause value.
-func (e UpstreamBindConfigValidationError) Cause() error { return e.cause }
-
-// Key function returns key value.
-func (e UpstreamBindConfigValidationError) Key() bool { return e.key }
-
-// ErrorName returns error name.
-func (e UpstreamBindConfigValidationError) ErrorName() string {
- return "UpstreamBindConfigValidationError"
-}
-
-// Error satisfies the builtin error interface
-func (e UpstreamBindConfigValidationError) Error() string {
- cause := ""
- if e.cause != nil {
- cause = fmt.Sprintf(" | caused by: %v", e.cause)
- }
-
- key := ""
- if e.key {
- key = "key for "
- }
-
- return fmt.Sprintf(
- "invalid %sUpstreamBindConfig.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = UpstreamBindConfigValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = UpstreamBindConfigValidationError{}
-
// Validate checks the field values on UpstreamConnectionOptions with the rules
// defined in the proto definition for this message. If any rules are
// violated, the first error encountered is returned, or nil if there are no violations.
@@ -2574,6 +2514,17 @@ func (m *Cluster_LbSubsetConfig) validate(all bool) error {
// no validation rules for ListAsAny
+ if _, ok := Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy_name[int32(m.GetMetadataFallbackPolicy())]; !ok {
+ err := Cluster_LbSubsetConfigValidationError{
+ field: "MetadataFallbackPolicy",
+ reason: "value must be one of the defined enum values",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
if len(errors) > 0 {
return Cluster_LbSubsetConfigMultiError(errors)
}
@@ -3436,6 +3387,21 @@ func (m *Cluster_OriginalDstLbConfig) validate(all bool) error {
// no validation rules for HttpHeaderName
+ if wrapper := m.GetUpstreamPortOverride(); wrapper != nil {
+
+ if wrapper.GetValue() > 65535 {
+ err := Cluster_OriginalDstLbConfigValidationError{
+ field: "UpstreamPortOverride",
+ reason: "value must be less than or equal to 65535",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
+ }
+
if len(errors) > 0 {
return Cluster_OriginalDstLbConfigMultiError(errors)
}
@@ -3659,9 +3625,18 @@ func (m *Cluster_CommonLbConfig) validate(all bool) error {
}
}
- switch m.LocalityConfigSpecifier.(type) {
-
+ switch v := m.LocalityConfigSpecifier.(type) {
case *Cluster_CommonLbConfig_ZoneAwareLbConfig_:
+ if v == nil {
+ err := Cluster_CommonLbConfigValidationError{
+ field: "LocalityConfigSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
if all {
switch v := interface{}(m.GetZoneAwareLbConfig()).(type) {
@@ -3693,6 +3668,16 @@ func (m *Cluster_CommonLbConfig) validate(all bool) error {
}
case *Cluster_CommonLbConfig_LocalityWeightedLbConfig_:
+ if v == nil {
+ err := Cluster_CommonLbConfigValidationError{
+ field: "LocalityConfigSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
if all {
switch v := interface{}(m.GetLocalityWeightedLbConfig()).(type) {
@@ -3723,6 +3708,8 @@ func (m *Cluster_CommonLbConfig) validate(all bool) error {
}
}
+ default:
+ _ = v // ensures v is used
}
if len(errors) > 0 {
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/filter.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/filter.pb.go
index 8ec63a3c68..04718a1170 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/filter.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/filter.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/config/cluster/v3/filter.proto
package clusterv3
@@ -9,7 +9,7 @@ package clusterv3
import (
_ "github.com/cncf/xds/go/udpa/annotations"
_ "github.com/envoyproxy/protoc-gen-validate/validate"
- any "github.com/golang/protobuf/ptypes/any"
+ any1 "github.com/golang/protobuf/ptypes/any"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
@@ -34,7 +34,7 @@ type Filter struct {
// instantiated. See the supported filters for further documentation.
// Note that Envoy's :ref:`downstream network
// filters ` are not valid upstream filters.
- TypedConfig *any.Any `protobuf:"bytes,2,opt,name=typed_config,json=typedConfig,proto3" json:"typed_config,omitempty"`
+ TypedConfig *any1.Any `protobuf:"bytes,2,opt,name=typed_config,json=typedConfig,proto3" json:"typed_config,omitempty"`
}
func (x *Filter) Reset() {
@@ -76,7 +76,7 @@ func (x *Filter) GetName() string {
return ""
}
-func (x *Filter) GetTypedConfig() *any.Any {
+func (x *Filter) GetTypedConfig() *any1.Any {
if x != nil {
return x.TypedConfig
}
@@ -131,8 +131,8 @@ func file_envoy_config_cluster_v3_filter_proto_rawDescGZIP() []byte {
var file_envoy_config_cluster_v3_filter_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_envoy_config_cluster_v3_filter_proto_goTypes = []interface{}{
- (*Filter)(nil), // 0: envoy.config.cluster.v3.Filter
- (*any.Any)(nil), // 1: google.protobuf.Any
+ (*Filter)(nil), // 0: envoy.config.cluster.v3.Filter
+ (*any1.Any)(nil), // 1: google.protobuf.Any
}
var file_envoy_config_cluster_v3_filter_proto_depIdxs = []int32{
1, // 0: envoy.config.cluster.v3.Filter.typed_config:type_name -> google.protobuf.Any
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/outlier_detection.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/outlier_detection.pb.go
index e8aa21613b..32333d3d1a 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/outlier_detection.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/outlier_detection.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/config/cluster/v3/outlier_detection.proto
package clusterv3
@@ -32,9 +32,9 @@ type OutlierDetection struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // The number of consecutive 5xx responses or local origin errors that are mapped
- // to 5xx error codes before a consecutive 5xx ejection
- // occurs. Defaults to 5.
+ // The number of consecutive server-side error responses (for HTTP traffic,
+ // 5xx responses; for TCP traffic, connection failures; for Redis, failure to
+ // respond PONG; etc.) before a consecutive 5xx ejection occurs. Defaults to 5.
Consecutive_5Xx *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=consecutive_5xx,json=consecutive5xx,proto3" json:"consecutive_5xx,omitempty"`
// The time interval between ejection analysis sweeps. This can result in
// both new ejections as well as hosts being returned to service. Defaults
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/common/matcher/v3/matcher.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/common/matcher/v3/matcher.pb.go
index daac929407..2e656bb70b 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/common/matcher/v3/matcher.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/common/matcher/v3/matcher.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/config/common/matcher/v3/matcher.proto
package matcherv3
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/common/matcher/v3/matcher.pb.validate.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/common/matcher/v3/matcher.pb.validate.go
index 953a15afef..a60724bbca 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/common/matcher/v3/matcher.pb.validate.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/common/matcher/v3/matcher.pb.validate.go
@@ -85,9 +85,20 @@ func (m *Matcher) validate(all bool) error {
}
}
- switch m.MatcherType.(type) {
-
+ oneofMatcherTypePresent := false
+ switch v := m.MatcherType.(type) {
case *Matcher_MatcherList_:
+ if v == nil {
+ err := MatcherValidationError{
+ field: "MatcherType",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofMatcherTypePresent = true
if all {
switch v := interface{}(m.GetMatcherList()).(type) {
@@ -119,6 +130,17 @@ func (m *Matcher) validate(all bool) error {
}
case *Matcher_MatcherTree_:
+ if v == nil {
+ err := MatcherValidationError{
+ field: "MatcherType",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofMatcherTypePresent = true
if all {
switch v := interface{}(m.GetMatcherTree()).(type) {
@@ -150,6 +172,9 @@ func (m *Matcher) validate(all bool) error {
}
default:
+ _ = v // ensures v is used
+ }
+ if !oneofMatcherTypePresent {
err := MatcherValidationError{
field: "MatcherType",
reason: "value is required",
@@ -158,7 +183,6 @@ func (m *Matcher) validate(all bool) error {
return err
}
errors = append(errors, err)
-
}
if len(errors) > 0 {
@@ -260,9 +284,20 @@ func (m *MatchPredicate) validate(all bool) error {
var errors []error
- switch m.Rule.(type) {
-
+ oneofRulePresent := false
+ switch v := m.Rule.(type) {
case *MatchPredicate_OrMatch:
+ if v == nil {
+ err := MatchPredicateValidationError{
+ field: "Rule",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofRulePresent = true
if all {
switch v := interface{}(m.GetOrMatch()).(type) {
@@ -294,6 +329,17 @@ func (m *MatchPredicate) validate(all bool) error {
}
case *MatchPredicate_AndMatch:
+ if v == nil {
+ err := MatchPredicateValidationError{
+ field: "Rule",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofRulePresent = true
if all {
switch v := interface{}(m.GetAndMatch()).(type) {
@@ -325,6 +371,17 @@ func (m *MatchPredicate) validate(all bool) error {
}
case *MatchPredicate_NotMatch:
+ if v == nil {
+ err := MatchPredicateValidationError{
+ field: "Rule",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofRulePresent = true
if all {
switch v := interface{}(m.GetNotMatch()).(type) {
@@ -356,6 +413,17 @@ func (m *MatchPredicate) validate(all bool) error {
}
case *MatchPredicate_AnyMatch:
+ if v == nil {
+ err := MatchPredicateValidationError{
+ field: "Rule",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofRulePresent = true
if m.GetAnyMatch() != true {
err := MatchPredicateValidationError{
@@ -369,6 +437,17 @@ func (m *MatchPredicate) validate(all bool) error {
}
case *MatchPredicate_HttpRequestHeadersMatch:
+ if v == nil {
+ err := MatchPredicateValidationError{
+ field: "Rule",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofRulePresent = true
if all {
switch v := interface{}(m.GetHttpRequestHeadersMatch()).(type) {
@@ -400,6 +479,17 @@ func (m *MatchPredicate) validate(all bool) error {
}
case *MatchPredicate_HttpRequestTrailersMatch:
+ if v == nil {
+ err := MatchPredicateValidationError{
+ field: "Rule",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofRulePresent = true
if all {
switch v := interface{}(m.GetHttpRequestTrailersMatch()).(type) {
@@ -431,6 +521,17 @@ func (m *MatchPredicate) validate(all bool) error {
}
case *MatchPredicate_HttpResponseHeadersMatch:
+ if v == nil {
+ err := MatchPredicateValidationError{
+ field: "Rule",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofRulePresent = true
if all {
switch v := interface{}(m.GetHttpResponseHeadersMatch()).(type) {
@@ -462,6 +563,17 @@ func (m *MatchPredicate) validate(all bool) error {
}
case *MatchPredicate_HttpResponseTrailersMatch:
+ if v == nil {
+ err := MatchPredicateValidationError{
+ field: "Rule",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofRulePresent = true
if all {
switch v := interface{}(m.GetHttpResponseTrailersMatch()).(type) {
@@ -493,6 +605,17 @@ func (m *MatchPredicate) validate(all bool) error {
}
case *MatchPredicate_HttpRequestGenericBodyMatch:
+ if v == nil {
+ err := MatchPredicateValidationError{
+ field: "Rule",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofRulePresent = true
if all {
switch v := interface{}(m.GetHttpRequestGenericBodyMatch()).(type) {
@@ -524,6 +647,17 @@ func (m *MatchPredicate) validate(all bool) error {
}
case *MatchPredicate_HttpResponseGenericBodyMatch:
+ if v == nil {
+ err := MatchPredicateValidationError{
+ field: "Rule",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofRulePresent = true
if all {
switch v := interface{}(m.GetHttpResponseGenericBodyMatch()).(type) {
@@ -555,6 +689,9 @@ func (m *MatchPredicate) validate(all bool) error {
}
default:
+ _ = v // ensures v is used
+ }
+ if !oneofRulePresent {
err := MatchPredicateValidationError{
field: "Rule",
reason: "value is required",
@@ -563,7 +700,6 @@ func (m *MatchPredicate) validate(all bool) error {
return err
}
errors = append(errors, err)
-
}
if len(errors) > 0 {
@@ -949,9 +1085,20 @@ func (m *Matcher_OnMatch) validate(all bool) error {
var errors []error
- switch m.OnMatch.(type) {
-
+ oneofOnMatchPresent := false
+ switch v := m.OnMatch.(type) {
case *Matcher_OnMatch_Matcher:
+ if v == nil {
+ err := Matcher_OnMatchValidationError{
+ field: "OnMatch",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofOnMatchPresent = true
if all {
switch v := interface{}(m.GetMatcher()).(type) {
@@ -983,6 +1130,17 @@ func (m *Matcher_OnMatch) validate(all bool) error {
}
case *Matcher_OnMatch_Action:
+ if v == nil {
+ err := Matcher_OnMatchValidationError{
+ field: "OnMatch",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofOnMatchPresent = true
if all {
switch v := interface{}(m.GetAction()).(type) {
@@ -1014,6 +1172,9 @@ func (m *Matcher_OnMatch) validate(all bool) error {
}
default:
+ _ = v // ensures v is used
+ }
+ if !oneofOnMatchPresent {
err := Matcher_OnMatchValidationError{
field: "OnMatch",
reason: "value is required",
@@ -1022,7 +1183,6 @@ func (m *Matcher_OnMatch) validate(all bool) error {
return err
}
errors = append(errors, err)
-
}
if len(errors) > 0 {
@@ -1312,9 +1472,20 @@ func (m *Matcher_MatcherTree) validate(all bool) error {
}
}
- switch m.TreeType.(type) {
-
+ oneofTreeTypePresent := false
+ switch v := m.TreeType.(type) {
case *Matcher_MatcherTree_ExactMatchMap:
+ if v == nil {
+ err := Matcher_MatcherTreeValidationError{
+ field: "TreeType",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofTreeTypePresent = true
if all {
switch v := interface{}(m.GetExactMatchMap()).(type) {
@@ -1346,6 +1517,17 @@ func (m *Matcher_MatcherTree) validate(all bool) error {
}
case *Matcher_MatcherTree_PrefixMatchMap:
+ if v == nil {
+ err := Matcher_MatcherTreeValidationError{
+ field: "TreeType",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofTreeTypePresent = true
if all {
switch v := interface{}(m.GetPrefixMatchMap()).(type) {
@@ -1377,6 +1559,17 @@ func (m *Matcher_MatcherTree) validate(all bool) error {
}
case *Matcher_MatcherTree_CustomMatch:
+ if v == nil {
+ err := Matcher_MatcherTreeValidationError{
+ field: "TreeType",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofTreeTypePresent = true
if all {
switch v := interface{}(m.GetCustomMatch()).(type) {
@@ -1408,6 +1601,9 @@ func (m *Matcher_MatcherTree) validate(all bool) error {
}
default:
+ _ = v // ensures v is used
+ }
+ if !oneofTreeTypePresent {
err := Matcher_MatcherTreeValidationError{
field: "TreeType",
reason: "value is required",
@@ -1416,7 +1612,6 @@ func (m *Matcher_MatcherTree) validate(all bool) error {
return err
}
errors = append(errors, err)
-
}
if len(errors) > 0 {
@@ -1521,9 +1716,20 @@ func (m *Matcher_MatcherList_Predicate) validate(all bool) error {
var errors []error
- switch m.MatchType.(type) {
-
+ oneofMatchTypePresent := false
+ switch v := m.MatchType.(type) {
case *Matcher_MatcherList_Predicate_SinglePredicate_:
+ if v == nil {
+ err := Matcher_MatcherList_PredicateValidationError{
+ field: "MatchType",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofMatchTypePresent = true
if all {
switch v := interface{}(m.GetSinglePredicate()).(type) {
@@ -1555,6 +1761,17 @@ func (m *Matcher_MatcherList_Predicate) validate(all bool) error {
}
case *Matcher_MatcherList_Predicate_OrMatcher:
+ if v == nil {
+ err := Matcher_MatcherList_PredicateValidationError{
+ field: "MatchType",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofMatchTypePresent = true
if all {
switch v := interface{}(m.GetOrMatcher()).(type) {
@@ -1586,6 +1803,17 @@ func (m *Matcher_MatcherList_Predicate) validate(all bool) error {
}
case *Matcher_MatcherList_Predicate_AndMatcher:
+ if v == nil {
+ err := Matcher_MatcherList_PredicateValidationError{
+ field: "MatchType",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofMatchTypePresent = true
if all {
switch v := interface{}(m.GetAndMatcher()).(type) {
@@ -1617,6 +1845,17 @@ func (m *Matcher_MatcherList_Predicate) validate(all bool) error {
}
case *Matcher_MatcherList_Predicate_NotMatcher:
+ if v == nil {
+ err := Matcher_MatcherList_PredicateValidationError{
+ field: "MatchType",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofMatchTypePresent = true
if all {
switch v := interface{}(m.GetNotMatcher()).(type) {
@@ -1648,6 +1887,9 @@ func (m *Matcher_MatcherList_Predicate) validate(all bool) error {
}
default:
+ _ = v // ensures v is used
+ }
+ if !oneofMatchTypePresent {
err := Matcher_MatcherList_PredicateValidationError{
field: "MatchType",
reason: "value is required",
@@ -1656,7 +1898,6 @@ func (m *Matcher_MatcherList_Predicate) validate(all bool) error {
return err
}
errors = append(errors, err)
-
}
if len(errors) > 0 {
@@ -1989,9 +2230,20 @@ func (m *Matcher_MatcherList_Predicate_SinglePredicate) validate(all bool) error
}
}
- switch m.Matcher.(type) {
-
+ oneofMatcherPresent := false
+ switch v := m.Matcher.(type) {
case *Matcher_MatcherList_Predicate_SinglePredicate_ValueMatch:
+ if v == nil {
+ err := Matcher_MatcherList_Predicate_SinglePredicateValidationError{
+ field: "Matcher",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofMatcherPresent = true
if all {
switch v := interface{}(m.GetValueMatch()).(type) {
@@ -2023,6 +2275,17 @@ func (m *Matcher_MatcherList_Predicate_SinglePredicate) validate(all bool) error
}
case *Matcher_MatcherList_Predicate_SinglePredicate_CustomMatch:
+ if v == nil {
+ err := Matcher_MatcherList_Predicate_SinglePredicateValidationError{
+ field: "Matcher",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofMatcherPresent = true
if all {
switch v := interface{}(m.GetCustomMatch()).(type) {
@@ -2054,6 +2317,9 @@ func (m *Matcher_MatcherList_Predicate_SinglePredicate) validate(all bool) error
}
default:
+ _ = v // ensures v is used
+ }
+ if !oneofMatcherPresent {
err := Matcher_MatcherList_Predicate_SinglePredicateValidationError{
field: "Matcher",
reason: "value is required",
@@ -2062,7 +2328,6 @@ func (m *Matcher_MatcherList_Predicate_SinglePredicate) validate(all bool) error
return err
}
errors = append(errors, err)
-
}
if len(errors) > 0 {
@@ -2631,9 +2896,20 @@ func (m *HttpGenericBodyMatch_GenericTextMatch) validate(all bool) error {
var errors []error
- switch m.Rule.(type) {
-
+ oneofRulePresent := false
+ switch v := m.Rule.(type) {
case *HttpGenericBodyMatch_GenericTextMatch_StringMatch:
+ if v == nil {
+ err := HttpGenericBodyMatch_GenericTextMatchValidationError{
+ field: "Rule",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofRulePresent = true
if utf8.RuneCountInString(m.GetStringMatch()) < 1 {
err := HttpGenericBodyMatch_GenericTextMatchValidationError{
@@ -2647,6 +2923,17 @@ func (m *HttpGenericBodyMatch_GenericTextMatch) validate(all bool) error {
}
case *HttpGenericBodyMatch_GenericTextMatch_BinaryMatch:
+ if v == nil {
+ err := HttpGenericBodyMatch_GenericTextMatchValidationError{
+ field: "Rule",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofRulePresent = true
if len(m.GetBinaryMatch()) < 1 {
err := HttpGenericBodyMatch_GenericTextMatchValidationError{
@@ -2660,6 +2947,9 @@ func (m *HttpGenericBodyMatch_GenericTextMatch) validate(all bool) error {
}
default:
+ _ = v // ensures v is used
+ }
+ if !oneofRulePresent {
err := HttpGenericBodyMatch_GenericTextMatchValidationError{
field: "Rule",
reason: "value is required",
@@ -2668,7 +2958,6 @@ func (m *HttpGenericBodyMatch_GenericTextMatch) validate(all bool) error {
return err
}
errors = append(errors, err)
-
}
if len(errors) > 0 {
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/address.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/address.pb.go
index 6fa1ca8ece..7f61c14b8a 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/address.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/address.pb.go
@@ -1,13 +1,14 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/config/core/v3/address.proto
package corev3
import (
_ "github.com/cncf/xds/go/udpa/annotations"
+ _ "github.com/envoyproxy/go-control-plane/envoy/annotations"
_ "github.com/envoyproxy/protoc-gen-validate/validate"
wrappers "github.com/golang/protobuf/ptypes/wrappers"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
@@ -130,8 +131,7 @@ func (x *Pipe) GetMode() uint32 {
}
// The address represents an envoy internal listener.
-// [#comment: TODO(lambdai): Make this address available for listener and endpoint.
-// TODO(asraa): When address available, remove workaround from test/server/server_fuzz_test.cc:30.]
+// [#comment: TODO(asraa): When address available, remove workaround from test/server/server_fuzz_test.cc:30.]
type EnvoyInternalAddress struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -140,6 +140,10 @@ type EnvoyInternalAddress struct {
// Types that are assignable to AddressNameSpecifier:
// *EnvoyInternalAddress_ServerListenerName
AddressNameSpecifier isEnvoyInternalAddress_AddressNameSpecifier `protobuf_oneof:"address_name_specifier"`
+ // Specifies an endpoint identifier to distinguish between multiple endpoints for the same internal listener in a
+ // single upstream pool. Only used in the upstream addresses for tracking changes to individual endpoints. This, for
+ // example, may be set to the final destination IP for the target internal listener.
+ EndpointId string `protobuf:"bytes,2,opt,name=endpoint_id,json=endpointId,proto3" json:"endpoint_id,omitempty"`
}
func (x *EnvoyInternalAddress) Reset() {
@@ -188,12 +192,20 @@ func (x *EnvoyInternalAddress) GetServerListenerName() string {
return ""
}
+func (x *EnvoyInternalAddress) GetEndpointId() string {
+ if x != nil {
+ return x.EndpointId
+ }
+ return ""
+}
+
type isEnvoyInternalAddress_AddressNameSpecifier interface {
isEnvoyInternalAddress_AddressNameSpecifier()
}
type EnvoyInternalAddress_ServerListenerName struct {
- // [#not-implemented-hide:] The :ref:`listener name ` of the destination internal listener.
+ // Specifies the :ref:`name ` of the
+ // internal listener.
ServerListenerName string `protobuf:"bytes,1,opt,name=server_listener_name,json=serverListenerName,proto3,oneof"`
}
@@ -214,8 +226,8 @@ type SocketAddress struct {
// within an upstream :ref:`BindConfig `, the address
// controls the source address of outbound connections. For :ref:`clusters
// `, the cluster type determines whether the
- // address must be an IP (*STATIC* or *EDS* clusters) or a hostname resolved by DNS
- // (*STRICT_DNS* or *LOGICAL_DNS* clusters). Address resolution can be customized
+ // address must be an IP (``STATIC`` or ``EDS`` clusters) or a hostname resolved by DNS
+ // (``STRICT_DNS`` or ``LOGICAL_DNS`` clusters). Address resolution can be customized
// via :ref:`resolver_name `.
Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
// Types that are assignable to PortSpecifier:
@@ -226,7 +238,7 @@ type SocketAddress struct {
// this is empty, a context dependent default applies. If the address is a concrete
// IP address, no resolution will occur. If address is a hostname this
// should be set for resolution other than DNS. Specifying a custom resolver with
- // *STRICT_DNS* or *LOGICAL_DNS* will generate an error at runtime.
+ // ``STRICT_DNS`` or ``LOGICAL_DNS`` will generate an error at runtime.
ResolverName string `protobuf:"bytes,5,opt,name=resolver_name,json=resolverName,proto3" json:"resolver_name,omitempty"`
// When binding to an IPv6 address above, this enables `IPv4 compatibility
// `_. Binding to ``::`` will
@@ -406,6 +418,70 @@ func (x *TcpKeepalive) GetKeepaliveInterval() *wrappers.UInt32Value {
return nil
}
+type ExtraSourceAddress struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The additional address to bind.
+ Address *SocketAddress `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
+ // Additional socket options that may not be present in Envoy source code or
+ // precompiled binaries. If specified, this will override the
+ // :ref:`socket_options `
+ // in the BindConfig. If specified with no
+ // :ref:`socket_options `
+ // or an empty list of :ref:`socket_options `,
+ // it means no socket option will apply.
+ SocketOptions *SocketOptionsOverride `protobuf:"bytes,2,opt,name=socket_options,json=socketOptions,proto3" json:"socket_options,omitempty"`
+}
+
+func (x *ExtraSourceAddress) Reset() {
+ *x = ExtraSourceAddress{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_envoy_config_core_v3_address_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExtraSourceAddress) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExtraSourceAddress) ProtoMessage() {}
+
+func (x *ExtraSourceAddress) ProtoReflect() protoreflect.Message {
+ mi := &file_envoy_config_core_v3_address_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 ExtraSourceAddress.ProtoReflect.Descriptor instead.
+func (*ExtraSourceAddress) Descriptor() ([]byte, []int) {
+ return file_envoy_config_core_v3_address_proto_rawDescGZIP(), []int{4}
+}
+
+func (x *ExtraSourceAddress) GetAddress() *SocketAddress {
+ if x != nil {
+ return x.Address
+ }
+ return nil
+}
+
+func (x *ExtraSourceAddress) GetSocketOptions() *SocketOptionsOverride {
+ if x != nil {
+ return x.SocketOptions
+ }
+ return nil
+}
+
+// [#next-free-field: 6]
type BindConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -413,23 +489,37 @@ type BindConfig struct {
// The address to bind to when creating a socket.
SourceAddress *SocketAddress `protobuf:"bytes,1,opt,name=source_address,json=sourceAddress,proto3" json:"source_address,omitempty"`
- // Whether to set the *IP_FREEBIND* option when creating the socket. When this
+ // Whether to set the ``IP_FREEBIND`` option when creating the socket. When this
// flag is set to true, allows the :ref:`source_address
- // ` to be an IP address
+ // ` to be an IP address
// that is not configured on the system running Envoy. When this flag is set
- // to false, the option *IP_FREEBIND* is disabled on the socket. When this
+ // to false, the option ``IP_FREEBIND`` is disabled on the socket. When this
// flag is not set (default), the socket is not modified, i.e. the option is
// neither enabled nor disabled.
Freebind *wrappers.BoolValue `protobuf:"bytes,2,opt,name=freebind,proto3" json:"freebind,omitempty"`
// Additional socket options that may not be present in Envoy source code or
// precompiled binaries.
SocketOptions []*SocketOption `protobuf:"bytes,3,rep,name=socket_options,json=socketOptions,proto3" json:"socket_options,omitempty"`
+ // Extra source addresses appended to the address specified in the `source_address`
+ // field. This enables to specify multiple source addresses. Currently, only one extra
+ // address can be supported, and the extra address should have a different IP version
+ // with the address in the `source_address` field. The address which has the same IP
+ // version with the target host's address IP version will be used as bind address. If more
+ // than one extra address specified, only the first address matched IP version will be
+ // returned. If there is no same IP version address found, the address in the `source_address`
+ // will be returned.
+ ExtraSourceAddresses []*ExtraSourceAddress `protobuf:"bytes,5,rep,name=extra_source_addresses,json=extraSourceAddresses,proto3" json:"extra_source_addresses,omitempty"`
+ // Deprecated by
+ // :ref:`extra_source_addresses `
+ //
+ // Deprecated: Do not use.
+ AdditionalSourceAddresses []*SocketAddress `protobuf:"bytes,4,rep,name=additional_source_addresses,json=additionalSourceAddresses,proto3" json:"additional_source_addresses,omitempty"`
}
func (x *BindConfig) Reset() {
*x = BindConfig{}
if protoimpl.UnsafeEnabled {
- mi := &file_envoy_config_core_v3_address_proto_msgTypes[4]
+ mi := &file_envoy_config_core_v3_address_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -442,7 +532,7 @@ func (x *BindConfig) String() string {
func (*BindConfig) ProtoMessage() {}
func (x *BindConfig) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_config_core_v3_address_proto_msgTypes[4]
+ mi := &file_envoy_config_core_v3_address_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -455,7 +545,7 @@ func (x *BindConfig) ProtoReflect() protoreflect.Message {
// Deprecated: Use BindConfig.ProtoReflect.Descriptor instead.
func (*BindConfig) Descriptor() ([]byte, []int) {
- return file_envoy_config_core_v3_address_proto_rawDescGZIP(), []int{4}
+ return file_envoy_config_core_v3_address_proto_rawDescGZIP(), []int{5}
}
func (x *BindConfig) GetSourceAddress() *SocketAddress {
@@ -479,6 +569,21 @@ func (x *BindConfig) GetSocketOptions() []*SocketOption {
return nil
}
+func (x *BindConfig) GetExtraSourceAddresses() []*ExtraSourceAddress {
+ if x != nil {
+ return x.ExtraSourceAddresses
+ }
+ return nil
+}
+
+// Deprecated: Do not use.
+func (x *BindConfig) GetAdditionalSourceAddresses() []*SocketAddress {
+ if x != nil {
+ return x.AdditionalSourceAddresses
+ }
+ return nil
+}
+
// Addresses specify either a logical or physical address and port, which are
// used to tell Envoy where to bind/listen, connect to upstream and find
// management servers.
@@ -497,7 +602,7 @@ type Address struct {
func (x *Address) Reset() {
*x = Address{}
if protoimpl.UnsafeEnabled {
- mi := &file_envoy_config_core_v3_address_proto_msgTypes[5]
+ mi := &file_envoy_config_core_v3_address_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -510,7 +615,7 @@ func (x *Address) String() string {
func (*Address) ProtoMessage() {}
func (x *Address) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_config_core_v3_address_proto_msgTypes[5]
+ mi := &file_envoy_config_core_v3_address_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -523,7 +628,7 @@ func (x *Address) ProtoReflect() protoreflect.Message {
// Deprecated: Use Address.ProtoReflect.Descriptor instead.
func (*Address) Descriptor() ([]byte, []int) {
- return file_envoy_config_core_v3_address_proto_rawDescGZIP(), []int{5}
+ return file_envoy_config_core_v3_address_proto_rawDescGZIP(), []int{6}
}
func (m *Address) GetAddress() isAddress_Address {
@@ -567,7 +672,8 @@ type Address_Pipe struct {
}
type Address_EnvoyInternalAddress struct {
- // [#not-implemented-hide:]
+ // Specifies a user-space address handled by :ref:`internal listeners
+ // `.
EnvoyInternalAddress *EnvoyInternalAddress `protobuf:"bytes,3,opt,name=envoy_internal_address,json=envoyInternalAddress,proto3,oneof"`
}
@@ -593,7 +699,7 @@ type CidrRange struct {
func (x *CidrRange) Reset() {
*x = CidrRange{}
if protoimpl.UnsafeEnabled {
- mi := &file_envoy_config_core_v3_address_proto_msgTypes[6]
+ mi := &file_envoy_config_core_v3_address_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -606,7 +712,7 @@ func (x *CidrRange) String() string {
func (*CidrRange) ProtoMessage() {}
func (x *CidrRange) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_config_core_v3_address_proto_msgTypes[6]
+ mi := &file_envoy_config_core_v3_address_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -619,7 +725,7 @@ func (x *CidrRange) ProtoReflect() protoreflect.Message {
// Deprecated: Use CidrRange.ProtoReflect.Descriptor instead.
func (*CidrRange) Descriptor() ([]byte, []int) {
- return file_envoy_config_core_v3_address_proto_rawDescGZIP(), []int{6}
+ return file_envoy_config_core_v3_address_proto_rawDescGZIP(), []int{7}
}
func (x *CidrRange) GetAddressPrefix() string {
@@ -647,120 +753,148 @@ var file_envoy_config_core_v3_address_proto_rawDesc = []byte{
0x2f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x70, 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, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
- 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
- 0x60, 0x0a, 0x04, 0x50, 0x69, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04,
- 0x70, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x0d, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x2a, 0x03, 0x18, 0xff, 0x03, 0x52, 0x04, 0x6d, 0x6f,
- 0x64, 0x65, 0x3a, 0x1d, 0x9a, 0xc5, 0x88, 0x1e, 0x18, 0x0a, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x69, 0x70,
- 0x65, 0x22, 0x69, 0x0a, 0x14, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e,
- 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x32, 0x0a, 0x14, 0x73, 0x65, 0x72,
- 0x76, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d,
- 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x65,
- 0x72, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x1d, 0x0a,
- 0x16, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x70,
- 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xf6, 0x02, 0x0a,
- 0x0d, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x52,
- 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
- 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
- 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64,
- 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0x08,
- 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
- 0x6f, 0x6c, 0x12, 0x21, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x61, 0x64,
- 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2a, 0x0a, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x76, 0x61,
- 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04,
- 0x18, 0xff, 0xff, 0x03, 0x48, 0x00, 0x52, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x56, 0x61, 0x6c, 0x75,
- 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18,
- 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f,
- 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x5f, 0x6e,
- 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x6c,
- 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x70, 0x76, 0x34, 0x5f,
- 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x70,
- 0x76, 0x34, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x22, 0x1c, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74,
- 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x43, 0x50, 0x10, 0x00, 0x12, 0x07, 0x0a,
- 0x03, 0x55, 0x44, 0x50, 0x10, 0x01, 0x3a, 0x26, 0x9a, 0xc5, 0x88, 0x1e, 0x21, 0x0a, 0x1f, 0x65,
- 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65,
- 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x15,
- 0x0a, 0x0e, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72,
- 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x90, 0x02, 0x0a, 0x0c, 0x54, 0x63, 0x70, 0x4b, 0x65, 0x65,
- 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x47, 0x0a, 0x10, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c,
- 0x69, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x18, 0x01, 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, 0x0f,
- 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x12,
- 0x43, 0x0a, 0x0e, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d,
- 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f,
+ 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f,
+ 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61,
+ 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69,
+ 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c,
+ 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x60, 0x0a, 0x04, 0x50, 0x69, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x04,
+ 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72,
+ 0x02, 0x10, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x04, 0x6d, 0x6f, 0x64,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x2a, 0x03, 0x18, 0xff,
+ 0x03, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x3a, 0x1d, 0x9a, 0xc5, 0x88, 0x1e, 0x18, 0x0a, 0x16,
+ 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72,
+ 0x65, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x14, 0x45, 0x6e, 0x76, 0x6f, 0x79,
+ 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12,
+ 0x32, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e,
+ 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
+ 0x12, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e,
+ 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f,
+ 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69,
+ 0x6e, 0x74, 0x49, 0x64, 0x42, 0x1d, 0x0a, 0x16, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f,
+ 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03,
+ 0xf8, 0x42, 0x01, 0x22, 0xf6, 0x02, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64,
+ 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x52, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
+ 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
+ 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53,
+ 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x50, 0x72, 0x6f,
+ 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52,
+ 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x21, 0x0a, 0x07, 0x61, 0x64, 0x64,
+ 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72,
+ 0x02, 0x10, 0x01, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2a, 0x0a, 0x0a,
+ 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
+ 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x18, 0xff, 0xff, 0x03, 0x48, 0x00, 0x52, 0x09, 0x70,
+ 0x6f, 0x72, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65,
+ 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09,
+ 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73,
+ 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x70, 0x76, 0x34, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x22,
+ 0x1c, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x07, 0x0a, 0x03, 0x54,
+ 0x43, 0x50, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x55, 0x44, 0x50, 0x10, 0x01, 0x3a, 0x26, 0x9a,
+ 0xc5, 0x88, 0x1e, 0x21, 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e,
+ 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64,
+ 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x15, 0x0a, 0x0e, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x70,
+ 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x90, 0x02, 0x0a,
+ 0x0c, 0x54, 0x63, 0x70, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x47, 0x0a,
+ 0x10, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x65,
+ 0x73, 0x18, 0x01, 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, 0x0f, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65,
+ 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x12, 0x43, 0x0a, 0x0e, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c,
+ 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 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, 0x0d, 0x6b, 0x65,
+ 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x12, 0x6b,
+ 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61,
+ 0x6c, 0x18, 0x03, 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, 0x0d, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65,
- 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x12, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76,
- 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x03, 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, 0x11,
- 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61,
- 0x6c, 0x3a, 0x25, 0x9a, 0xc5, 0x88, 0x1e, 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
- 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x63, 0x70, 0x4b,
- 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x22, 0x8a, 0x02, 0x0a, 0x0a, 0x42, 0x69, 0x6e,
- 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x54, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63,
- 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63,
- 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64,
- 0x72, 0x65, 0x73, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0d,
- 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x36, 0x0a,
- 0x08, 0x66, 0x72, 0x65, 0x65, 0x62, 0x69, 0x6e, 0x64, 0x18, 0x02, 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, 0x08, 0x66, 0x72, 0x65,
- 0x65, 0x62, 0x69, 0x6e, 0x64, 0x12, 0x49, 0x0a, 0x0e, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f,
- 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e,
- 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72,
- 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f,
- 0x6e, 0x52, 0x0d, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
- 0x3a, 0x23, 0x9a, 0xc5, 0x88, 0x1e, 0x1e, 0x0a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61,
- 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x43,
- 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x9f, 0x02, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
- 0x73, 0x12, 0x4c, 0x0a, 0x0e, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72,
- 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
- 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33,
- 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00,
- 0x52, 0x0d, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12,
- 0x30, 0x0a, 0x04, 0x70, 0x69, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
- 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72,
- 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x48, 0x00, 0x52, 0x04, 0x70, 0x69, 0x70,
- 0x65, 0x12, 0x62, 0x0a, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72,
- 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x49, 0x6e,
- 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52,
- 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64,
- 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x20, 0x9a, 0xc5, 0x88, 0x1e, 0x1b, 0x0a, 0x19, 0x65, 0x6e,
- 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
- 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x0e, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65,
- 0x73, 0x73, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xa6, 0x01, 0x0a, 0x09, 0x43, 0x69, 0x64, 0x72,
- 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x0e, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
- 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa,
- 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x50,
- 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x45, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f,
- 0x6c, 0x65, 0x6e, 0x18, 0x02, 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, 0x08, 0xfa, 0x42, 0x05, 0x2a, 0x03, 0x18, 0x80,
- 0x01, 0x52, 0x09, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x3a, 0x22, 0x9a, 0xc5,
- 0x88, 0x1e, 0x1d, 0x0a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76,
- 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65,
- 0x42, 0x80, 0x01, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f,
- 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
- 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
- 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e,
- 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67,
- 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f,
- 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72,
- 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x72, 0x65, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06,
- 0x02, 0x10, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65,
+ 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x3a, 0x25, 0x9a, 0xc5, 0x88, 0x1e, 0x20, 0x0a,
+ 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f,
+ 0x72, 0x65, 0x2e, 0x54, 0x63, 0x70, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x22,
+ 0xb1, 0x01, 0x0a, 0x12, 0x45, 0x78, 0x74, 0x72, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41,
+ 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x47, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
+ 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
+ 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53,
+ 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x08, 0xfa, 0x42,
+ 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12,
+ 0x52, 0x0a, 0x0e, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
+ 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53,
+ 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x76, 0x65, 0x72,
+ 0x72, 0x69, 0x64, 0x65, 0x52, 0x0d, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x22, 0xd2, 0x03, 0x0a, 0x0a, 0x42, 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x12, 0x4a, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64,
+ 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76,
+ 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76,
+ 0x33, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52,
+ 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x36,
+ 0x0a, 0x08, 0x66, 0x72, 0x65, 0x65, 0x62, 0x69, 0x6e, 0x64, 0x18, 0x02, 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, 0x08, 0x66, 0x72,
+ 0x65, 0x65, 0x62, 0x69, 0x6e, 0x64, 0x12, 0x49, 0x0a, 0x0e, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74,
+ 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22,
+ 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f,
+ 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x12, 0x5e, 0x0a, 0x16, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x53, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x14, 0x65, 0x78, 0x74,
+ 0x72, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65,
+ 0x73, 0x12, 0x70, 0x0a, 0x1b, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
+ 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73,
+ 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6f,
+ 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x0b, 0x18, 0x01, 0x92,
+ 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x52, 0x19, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
+ 0x73, 0x65, 0x73, 0x3a, 0x23, 0x9a, 0xc5, 0x88, 0x1e, 0x1e, 0x0a, 0x1c, 0x65, 0x6e, 0x76, 0x6f,
+ 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x69,
+ 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x9f, 0x02, 0x0a, 0x07, 0x41, 0x64, 0x64,
+ 0x72, 0x65, 0x73, 0x73, 0x12, 0x4c, 0x0a, 0x0e, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x61,
+ 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65,
+ 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65,
+ 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
+ 0x73, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65,
+ 0x73, 0x73, 0x12, 0x30, 0x0a, 0x04, 0x70, 0x69, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
+ 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x48, 0x00, 0x52, 0x04,
+ 0x70, 0x69, 0x70, 0x65, 0x12, 0x62, 0x0a, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x69, 0x6e,
+ 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x6e, 0x76, 0x6f,
+ 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
+ 0x48, 0x00, 0x52, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61,
+ 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x20, 0x9a, 0xc5, 0x88, 0x1e, 0x1b, 0x0a,
+ 0x19, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f,
+ 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x0e, 0x0a, 0x07, 0x61, 0x64,
+ 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xa6, 0x01, 0x0a, 0x09, 0x43,
+ 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x0e, 0x61, 0x64, 0x64, 0x72,
+ 0x65, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x61, 0x64, 0x64, 0x72, 0x65,
+ 0x73, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x45, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x66,
+ 0x69, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x02, 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, 0x08, 0xfa, 0x42, 0x05, 0x2a,
+ 0x03, 0x18, 0x80, 0x01, 0x52, 0x09, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x3a,
+ 0x22, 0x9a, 0xc5, 0x88, 0x1e, 0x1d, 0x0a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70,
+ 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61,
+ 0x6e, 0x67, 0x65, 0x42, 0x80, 0x01, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
+ 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x41, 0x64, 0x64, 0x72,
+ 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68,
+ 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78,
+ 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61,
+ 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f,
+ 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x72, 0x65, 0x76, 0x33, 0xba, 0x80,
+ 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -776,37 +910,43 @@ func file_envoy_config_core_v3_address_proto_rawDescGZIP() []byte {
}
var file_envoy_config_core_v3_address_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
-var file_envoy_config_core_v3_address_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
+var file_envoy_config_core_v3_address_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
var file_envoy_config_core_v3_address_proto_goTypes = []interface{}{
- (SocketAddress_Protocol)(0), // 0: envoy.config.core.v3.SocketAddress.Protocol
- (*Pipe)(nil), // 1: envoy.config.core.v3.Pipe
- (*EnvoyInternalAddress)(nil), // 2: envoy.config.core.v3.EnvoyInternalAddress
- (*SocketAddress)(nil), // 3: envoy.config.core.v3.SocketAddress
- (*TcpKeepalive)(nil), // 4: envoy.config.core.v3.TcpKeepalive
- (*BindConfig)(nil), // 5: envoy.config.core.v3.BindConfig
- (*Address)(nil), // 6: envoy.config.core.v3.Address
- (*CidrRange)(nil), // 7: envoy.config.core.v3.CidrRange
- (*wrappers.UInt32Value)(nil), // 8: google.protobuf.UInt32Value
- (*wrappers.BoolValue)(nil), // 9: google.protobuf.BoolValue
- (*SocketOption)(nil), // 10: envoy.config.core.v3.SocketOption
+ (SocketAddress_Protocol)(0), // 0: envoy.config.core.v3.SocketAddress.Protocol
+ (*Pipe)(nil), // 1: envoy.config.core.v3.Pipe
+ (*EnvoyInternalAddress)(nil), // 2: envoy.config.core.v3.EnvoyInternalAddress
+ (*SocketAddress)(nil), // 3: envoy.config.core.v3.SocketAddress
+ (*TcpKeepalive)(nil), // 4: envoy.config.core.v3.TcpKeepalive
+ (*ExtraSourceAddress)(nil), // 5: envoy.config.core.v3.ExtraSourceAddress
+ (*BindConfig)(nil), // 6: envoy.config.core.v3.BindConfig
+ (*Address)(nil), // 7: envoy.config.core.v3.Address
+ (*CidrRange)(nil), // 8: envoy.config.core.v3.CidrRange
+ (*wrappers.UInt32Value)(nil), // 9: google.protobuf.UInt32Value
+ (*SocketOptionsOverride)(nil), // 10: envoy.config.core.v3.SocketOptionsOverride
+ (*wrappers.BoolValue)(nil), // 11: google.protobuf.BoolValue
+ (*SocketOption)(nil), // 12: envoy.config.core.v3.SocketOption
}
var file_envoy_config_core_v3_address_proto_depIdxs = []int32{
0, // 0: envoy.config.core.v3.SocketAddress.protocol:type_name -> envoy.config.core.v3.SocketAddress.Protocol
- 8, // 1: envoy.config.core.v3.TcpKeepalive.keepalive_probes:type_name -> google.protobuf.UInt32Value
- 8, // 2: envoy.config.core.v3.TcpKeepalive.keepalive_time:type_name -> google.protobuf.UInt32Value
- 8, // 3: envoy.config.core.v3.TcpKeepalive.keepalive_interval:type_name -> google.protobuf.UInt32Value
- 3, // 4: envoy.config.core.v3.BindConfig.source_address:type_name -> envoy.config.core.v3.SocketAddress
- 9, // 5: envoy.config.core.v3.BindConfig.freebind:type_name -> google.protobuf.BoolValue
- 10, // 6: envoy.config.core.v3.BindConfig.socket_options:type_name -> envoy.config.core.v3.SocketOption
- 3, // 7: envoy.config.core.v3.Address.socket_address:type_name -> envoy.config.core.v3.SocketAddress
- 1, // 8: envoy.config.core.v3.Address.pipe:type_name -> envoy.config.core.v3.Pipe
- 2, // 9: envoy.config.core.v3.Address.envoy_internal_address:type_name -> envoy.config.core.v3.EnvoyInternalAddress
- 8, // 10: envoy.config.core.v3.CidrRange.prefix_len:type_name -> google.protobuf.UInt32Value
- 11, // [11:11] is the sub-list for method output_type
- 11, // [11:11] is the sub-list for method input_type
- 11, // [11:11] is the sub-list for extension type_name
- 11, // [11:11] is the sub-list for extension extendee
- 0, // [0:11] is the sub-list for field type_name
+ 9, // 1: envoy.config.core.v3.TcpKeepalive.keepalive_probes:type_name -> google.protobuf.UInt32Value
+ 9, // 2: envoy.config.core.v3.TcpKeepalive.keepalive_time:type_name -> google.protobuf.UInt32Value
+ 9, // 3: envoy.config.core.v3.TcpKeepalive.keepalive_interval:type_name -> google.protobuf.UInt32Value
+ 3, // 4: envoy.config.core.v3.ExtraSourceAddress.address:type_name -> envoy.config.core.v3.SocketAddress
+ 10, // 5: envoy.config.core.v3.ExtraSourceAddress.socket_options:type_name -> envoy.config.core.v3.SocketOptionsOverride
+ 3, // 6: envoy.config.core.v3.BindConfig.source_address:type_name -> envoy.config.core.v3.SocketAddress
+ 11, // 7: envoy.config.core.v3.BindConfig.freebind:type_name -> google.protobuf.BoolValue
+ 12, // 8: envoy.config.core.v3.BindConfig.socket_options:type_name -> envoy.config.core.v3.SocketOption
+ 5, // 9: envoy.config.core.v3.BindConfig.extra_source_addresses:type_name -> envoy.config.core.v3.ExtraSourceAddress
+ 3, // 10: envoy.config.core.v3.BindConfig.additional_source_addresses:type_name -> envoy.config.core.v3.SocketAddress
+ 3, // 11: envoy.config.core.v3.Address.socket_address:type_name -> envoy.config.core.v3.SocketAddress
+ 1, // 12: envoy.config.core.v3.Address.pipe:type_name -> envoy.config.core.v3.Pipe
+ 2, // 13: envoy.config.core.v3.Address.envoy_internal_address:type_name -> envoy.config.core.v3.EnvoyInternalAddress
+ 9, // 14: envoy.config.core.v3.CidrRange.prefix_len:type_name -> google.protobuf.UInt32Value
+ 15, // [15:15] is the sub-list for method output_type
+ 15, // [15:15] is the sub-list for method input_type
+ 15, // [15:15] is the sub-list for extension type_name
+ 15, // [15:15] is the sub-list for extension extendee
+ 0, // [0:15] is the sub-list for field type_name
}
func init() { file_envoy_config_core_v3_address_proto_init() }
@@ -865,7 +1005,7 @@ func file_envoy_config_core_v3_address_proto_init() {
}
}
file_envoy_config_core_v3_address_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*BindConfig); i {
+ switch v := v.(*ExtraSourceAddress); i {
case 0:
return &v.state
case 1:
@@ -877,7 +1017,7 @@ func file_envoy_config_core_v3_address_proto_init() {
}
}
file_envoy_config_core_v3_address_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*Address); i {
+ switch v := v.(*BindConfig); i {
case 0:
return &v.state
case 1:
@@ -889,6 +1029,18 @@ func file_envoy_config_core_v3_address_proto_init() {
}
}
file_envoy_config_core_v3_address_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Address); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_envoy_config_core_v3_address_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CidrRange); i {
case 0:
return &v.state
@@ -908,7 +1060,7 @@ func file_envoy_config_core_v3_address_proto_init() {
(*SocketAddress_PortValue)(nil),
(*SocketAddress_NamedPort)(nil),
}
- file_envoy_config_core_v3_address_proto_msgTypes[5].OneofWrappers = []interface{}{
+ file_envoy_config_core_v3_address_proto_msgTypes[6].OneofWrappers = []interface{}{
(*Address_SocketAddress)(nil),
(*Address_Pipe)(nil),
(*Address_EnvoyInternalAddress)(nil),
@@ -919,7 +1071,7 @@ func file_envoy_config_core_v3_address_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_envoy_config_core_v3_address_proto_rawDesc,
NumEnums: 1,
- NumMessages: 7,
+ NumMessages: 8,
NumExtensions: 0,
NumServices: 0,
},
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/address.pb.validate.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/address.pb.validate.go
index 862ed83270..25610ab041 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/address.pb.validate.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/address.pb.validate.go
@@ -177,12 +177,27 @@ func (m *EnvoyInternalAddress) validate(all bool) error {
var errors []error
- switch m.AddressNameSpecifier.(type) {
+ // no validation rules for EndpointId
+ oneofAddressNameSpecifierPresent := false
+ switch v := m.AddressNameSpecifier.(type) {
case *EnvoyInternalAddress_ServerListenerName:
+ if v == nil {
+ err := EnvoyInternalAddressValidationError{
+ field: "AddressNameSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofAddressNameSpecifierPresent = true
// no validation rules for ServerListenerName
-
default:
+ _ = v // ensures v is used
+ }
+ if !oneofAddressNameSpecifierPresent {
err := EnvoyInternalAddressValidationError{
field: "AddressNameSpecifier",
reason: "value is required",
@@ -191,7 +206,6 @@ func (m *EnvoyInternalAddress) validate(all bool) error {
return err
}
errors = append(errors, err)
-
}
if len(errors) > 0 {
@@ -322,9 +336,20 @@ func (m *SocketAddress) validate(all bool) error {
// no validation rules for Ipv4Compat
- switch m.PortSpecifier.(type) {
-
+ oneofPortSpecifierPresent := false
+ switch v := m.PortSpecifier.(type) {
case *SocketAddress_PortValue:
+ if v == nil {
+ err := SocketAddressValidationError{
+ field: "PortSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofPortSpecifierPresent = true
if m.GetPortValue() > 65535 {
err := SocketAddressValidationError{
@@ -338,9 +363,22 @@ func (m *SocketAddress) validate(all bool) error {
}
case *SocketAddress_NamedPort:
+ if v == nil {
+ err := SocketAddressValidationError{
+ field: "PortSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofPortSpecifierPresent = true
// no validation rules for NamedPort
-
default:
+ _ = v // ensures v is used
+ }
+ if !oneofPortSpecifierPresent {
err := SocketAddressValidationError{
field: "PortSpecifier",
reason: "value is required",
@@ -349,7 +387,6 @@ func (m *SocketAddress) validate(all bool) error {
return err
}
errors = append(errors, err)
-
}
if len(errors) > 0 {
@@ -616,6 +653,177 @@ var _ interface {
ErrorName() string
} = TcpKeepaliveValidationError{}
+// Validate checks the field values on ExtraSourceAddress with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the first error encountered is returned, or nil if there are no violations.
+func (m *ExtraSourceAddress) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on ExtraSourceAddress with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// ExtraSourceAddressMultiError, or nil if none found.
+func (m *ExtraSourceAddress) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *ExtraSourceAddress) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ if m.GetAddress() == nil {
+ err := ExtraSourceAddressValidationError{
+ field: "Address",
+ reason: "value is required",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
+ if all {
+ switch v := interface{}(m.GetAddress()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ExtraSourceAddressValidationError{
+ field: "Address",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ExtraSourceAddressValidationError{
+ field: "Address",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetAddress()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ExtraSourceAddressValidationError{
+ field: "Address",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if all {
+ switch v := interface{}(m.GetSocketOptions()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ExtraSourceAddressValidationError{
+ field: "SocketOptions",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ExtraSourceAddressValidationError{
+ field: "SocketOptions",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetSocketOptions()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ExtraSourceAddressValidationError{
+ field: "SocketOptions",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if len(errors) > 0 {
+ return ExtraSourceAddressMultiError(errors)
+ }
+
+ return nil
+}
+
+// ExtraSourceAddressMultiError is an error wrapping multiple validation errors
+// returned by ExtraSourceAddress.ValidateAll() if the designated constraints
+// aren't met.
+type ExtraSourceAddressMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m ExtraSourceAddressMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m ExtraSourceAddressMultiError) AllErrors() []error { return m }
+
+// ExtraSourceAddressValidationError is the validation error returned by
+// ExtraSourceAddress.Validate if the designated constraints aren't met.
+type ExtraSourceAddressValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e ExtraSourceAddressValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e ExtraSourceAddressValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e ExtraSourceAddressValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e ExtraSourceAddressValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e ExtraSourceAddressValidationError) ErrorName() string {
+ return "ExtraSourceAddressValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e ExtraSourceAddressValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sExtraSourceAddress.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = ExtraSourceAddressValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = ExtraSourceAddressValidationError{}
+
// Validate checks the field values on BindConfig with the rules defined in the
// proto definition for this message. If any rules are violated, the first
// error encountered is returned, or nil if there are no violations.
@@ -638,17 +846,6 @@ func (m *BindConfig) validate(all bool) error {
var errors []error
- if m.GetSourceAddress() == nil {
- err := BindConfigValidationError{
- field: "SourceAddress",
- reason: "value is required",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
if all {
switch v := interface{}(m.GetSourceAddress()).(type) {
case interface{ ValidateAll() error }:
@@ -741,6 +938,74 @@ func (m *BindConfig) validate(all bool) error {
}
+ for idx, item := range m.GetExtraSourceAddresses() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, BindConfigValidationError{
+ field: fmt.Sprintf("ExtraSourceAddresses[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, BindConfigValidationError{
+ field: fmt.Sprintf("ExtraSourceAddresses[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return BindConfigValidationError{
+ field: fmt.Sprintf("ExtraSourceAddresses[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ }
+
+ for idx, item := range m.GetAdditionalSourceAddresses() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, BindConfigValidationError{
+ field: fmt.Sprintf("AdditionalSourceAddresses[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, BindConfigValidationError{
+ field: fmt.Sprintf("AdditionalSourceAddresses[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return BindConfigValidationError{
+ field: fmt.Sprintf("AdditionalSourceAddresses[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ }
+
if len(errors) > 0 {
return BindConfigMultiError(errors)
}
@@ -839,9 +1104,20 @@ func (m *Address) validate(all bool) error {
var errors []error
- switch m.Address.(type) {
-
+ oneofAddressPresent := false
+ switch v := m.Address.(type) {
case *Address_SocketAddress:
+ if v == nil {
+ err := AddressValidationError{
+ field: "Address",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofAddressPresent = true
if all {
switch v := interface{}(m.GetSocketAddress()).(type) {
@@ -873,6 +1149,17 @@ func (m *Address) validate(all bool) error {
}
case *Address_Pipe:
+ if v == nil {
+ err := AddressValidationError{
+ field: "Address",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofAddressPresent = true
if all {
switch v := interface{}(m.GetPipe()).(type) {
@@ -904,6 +1191,17 @@ func (m *Address) validate(all bool) error {
}
case *Address_EnvoyInternalAddress:
+ if v == nil {
+ err := AddressValidationError{
+ field: "Address",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofAddressPresent = true
if all {
switch v := interface{}(m.GetEnvoyInternalAddress()).(type) {
@@ -935,6 +1233,9 @@ func (m *Address) validate(all bool) error {
}
default:
+ _ = v // ensures v is used
+ }
+ if !oneofAddressPresent {
err := AddressValidationError{
field: "Address",
reason: "value is required",
@@ -943,7 +1244,6 @@ func (m *Address) validate(all bool) error {
return err
}
errors = append(errors, err)
-
}
if len(errors) > 0 {
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/backoff.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/backoff.pb.go
index d749f29dee..63066573a3 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/backoff.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/backoff.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/config/core/v3/backoff.proto
package corev3
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/base.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/base.pb.go
index 7f9b3ab9f3..d9ec4f4f84 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/base.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/base.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/config/core/v3/base.proto
package corev3
@@ -12,7 +12,7 @@ import (
_ "github.com/envoyproxy/go-control-plane/envoy/annotations"
v3 "github.com/envoyproxy/go-control-plane/envoy/type/v3"
_ "github.com/envoyproxy/protoc-gen-validate/validate"
- any "github.com/golang/protobuf/ptypes/any"
+ any1 "github.com/golang/protobuf/ptypes/any"
_struct "github.com/golang/protobuf/ptypes/struct"
wrappers "github.com/golang/protobuf/ptypes/wrappers"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
@@ -205,7 +205,7 @@ func (TrafficDirection) EnumDescriptor() ([]byte, []int) {
return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{2}
}
-// [#not-implemented-hide:] Describes the supported actions types for header append action.
+// Describes the supported actions types for header append action.
type HeaderValueOption_HeaderAppendAction int32
const (
@@ -557,14 +557,14 @@ type Node struct {
Extensions []*Extension `protobuf:"bytes,9,rep,name=extensions,proto3" json:"extensions,omitempty"`
// Client feature support list. These are well known features described
// in the Envoy API repository for a given major version of an API. Client features
- // use reverse DNS naming scheme, for example `com.acme.feature`.
+ // use reverse DNS naming scheme, for example ``com.acme.feature``.
// See :ref:`the list of features ` that xDS client may
// support.
ClientFeatures []string `protobuf:"bytes,10,rep,name=client_features,json=clientFeatures,proto3" json:"client_features,omitempty"`
// Known listening ports on the node as a generic hint to the management server
// for filtering :ref:`listeners ` to be returned. For example,
// if there is a listener bound to port 80, the list can optionally contain the
- // SocketAddress `(0.0.0.0,80)`. The field is optional and just a hint.
+ // SocketAddress ``(0.0.0.0,80)``. The field is optional and just a hint.
//
// Deprecated: Do not use.
ListeningAddresses []*Address `protobuf:"bytes,11,rep,name=listening_addresses,json=listeningAddresses,proto3" json:"listening_addresses,omitempty"`
@@ -733,20 +733,20 @@ type Metadata struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.*
+ // Key is the reverse DNS filter name, e.g. com.acme.widget. The ``envoy.*``
// namespace is reserved for Envoy's built-in filters.
- // If both *filter_metadata* and
+ // If both ``filter_metadata`` and
// :ref:`typed_filter_metadata `
// fields are present in the metadata with same keys,
- // only *typed_filter_metadata* field will be parsed.
+ // only ``typed_filter_metadata`` field will be parsed.
FilterMetadata map[string]*_struct.Struct `protobuf:"bytes,1,rep,name=filter_metadata,json=filterMetadata,proto3" json:"filter_metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
- // Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.*
+ // Key is the reverse DNS filter name, e.g. com.acme.widget. The ``envoy.*``
// namespace is reserved for Envoy's built-in filters.
// The value is encoded as google.protobuf.Any.
// If both :ref:`filter_metadata `
- // and *typed_filter_metadata* fields are present in the metadata with same keys,
- // only *typed_filter_metadata* field will be parsed.
- TypedFilterMetadata map[string]*any.Any `protobuf:"bytes,2,rep,name=typed_filter_metadata,json=typedFilterMetadata,proto3" json:"typed_filter_metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ // and ``typed_filter_metadata`` fields are present in the metadata with same keys,
+ // only ``typed_filter_metadata`` field will be parsed.
+ TypedFilterMetadata map[string]*any1.Any `protobuf:"bytes,2,rep,name=typed_filter_metadata,json=typedFilterMetadata,proto3" json:"typed_filter_metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *Metadata) Reset() {
@@ -788,7 +788,7 @@ func (x *Metadata) GetFilterMetadata() map[string]*_struct.Struct {
return nil
}
-func (x *Metadata) GetTypedFilterMetadata() map[string]*any.Any {
+func (x *Metadata) GetTypedFilterMetadata() map[string]*any1.Any {
if x != nil {
return x.TypedFilterMetadata
}
@@ -1099,7 +1099,7 @@ type HeaderValue struct {
//
// The same :ref:`format specifier ` as used for
// :ref:`HTTP access logging ` applies here, however
- // unknown header values are replaced with the empty string instead of `-`.
+ // unknown header values are replaced with the empty string instead of ``-``.
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}
@@ -1159,9 +1159,20 @@ type HeaderValueOption struct {
Header *HeaderValue `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
// Should the value be appended? If true (default), the value is appended to
// existing values. Otherwise it replaces any existing values.
+ // This field is deprecated and please use
+ // :ref:`append_action ` as replacement.
+ //
+ // .. note::
+ // The :ref:`external authorization service ` and
+ // :ref:`external processor service ` have
+ // default value (``false``) for this field.
+ //
+ // Deprecated: Do not use.
Append *wrappers.BoolValue `protobuf:"bytes,2,opt,name=append,proto3" json:"append,omitempty"`
- // [#not-implemented-hide:] Describes the action taken to append/overwrite the given value for an existing header
- // or to only add this header if it's absent. Value defaults to :ref:`APPEND_IF_EXISTS_OR_ADD`.
+ // Describes the action taken to append/overwrite the given value for an existing header
+ // or to only add this header if it's absent.
+ // Value defaults to :ref:`APPEND_IF_EXISTS_OR_ADD
+ // `.
AppendAction HeaderValueOption_HeaderAppendAction `protobuf:"varint,3,opt,name=append_action,json=appendAction,proto3,enum=envoy.config.core.v3.HeaderValueOption_HeaderAppendAction" json:"append_action,omitempty"`
// Is the header value allowed to be empty? If false (default), custom headers with empty values are dropped,
// otherwise they are added.
@@ -1207,6 +1218,7 @@ func (x *HeaderValueOption) GetHeader() *HeaderValue {
return nil
}
+// Deprecated: Do not use.
func (x *HeaderValueOption) GetAppend() *wrappers.BoolValue {
if x != nil {
return x.Append
@@ -1716,7 +1728,7 @@ func (m *TransportSocket) GetConfigType() isTransportSocket_ConfigType {
return nil
}
-func (x *TransportSocket) GetTypedConfig() *any.Any {
+func (x *TransportSocket) GetTypedConfig() *any1.Any {
if x, ok := x.GetConfigType().(*TransportSocket_TypedConfig); ok {
return x.TypedConfig
}
@@ -1728,7 +1740,7 @@ type isTransportSocket_ConfigType interface {
}
type TransportSocket_TypedConfig struct {
- TypedConfig *any.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"`
+ TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"`
}
func (*TransportSocket_TypedConfig) isTransportSocket_ConfigType() {}
@@ -1742,7 +1754,7 @@ func (*TransportSocket_TypedConfig) isTransportSocket_ConfigType() {}
// :ref:`FractionalPercent ` proto represented as JSON/YAML
// and may also be represented as an integer with the assumption that the value is an integral
// percentage out of 100. For instance, a runtime key lookup returning the value "42" would parse
-// as a `FractionalPercent` whose numerator is 42 and denominator is HUNDRED.
+// as a ``FractionalPercent`` whose numerator is 42 and denominator is HUNDRED.
type RuntimeFractionalPercent struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -2048,153 +2060,153 @@ var file_envoy_config_core_v3_base_proto_rawDesc = []byte{
0x01, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x24, 0x9a, 0xc5, 0x88, 0x1e, 0x1f,
0x0a, 0x1d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63,
0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22,
- 0xb3, 0x03, 0x0a, 0x11, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f,
+ 0xc0, 0x03, 0x0a, 0x11, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61,
0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02,
- 0x10, 0x01, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x06, 0x61, 0x70,
+ 0x10, 0x01, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x06, 0x61, 0x70,
0x70, 0x65, 0x6e, 0x64, 0x18, 0x02, 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, 0x06, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x69,
- 0x0a, 0x0d, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61,
- 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48,
- 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f,
- 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x61, 0x70, 0x70,
- 0x65, 0x6e, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x6b, 0x65, 0x65,
- 0x70, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20,
- 0x01, 0x28, 0x08, 0x52, 0x0e, 0x6b, 0x65, 0x65, 0x70, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x56, 0x61,
- 0x6c, 0x75, 0x65, 0x22, 0x64, 0x0a, 0x12, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x70, 0x70,
- 0x65, 0x6e, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x50, 0x50,
- 0x45, 0x4e, 0x44, 0x5f, 0x49, 0x46, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x5f, 0x4f, 0x52,
- 0x5f, 0x41, 0x44, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x44, 0x44, 0x5f, 0x49, 0x46,
- 0x5f, 0x41, 0x42, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x4f, 0x56, 0x45,
- 0x52, 0x57, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x49, 0x46, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53,
- 0x5f, 0x4f, 0x52, 0x5f, 0x41, 0x44, 0x44, 0x10, 0x02, 0x3a, 0x2a, 0x9a, 0xc5, 0x88, 0x1e, 0x25,
- 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63,
- 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f,
- 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6c, 0x0a, 0x09, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d,
- 0x61, 0x70, 0x12, 0x3b, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20,
- 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
- 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65,
- 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x3a,
- 0x22, 0x9a, 0xc5, 0x88, 0x1e, 0x1d, 0x0a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70,
- 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
- 0x4d, 0x61, 0x70, 0x22, 0x2f, 0x0a, 0x10, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x44, 0x69,
- 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04,
- 0x70, 0x61, 0x74, 0x68, 0x22, 0xf4, 0x01, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75,
- 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00,
- 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x69, 0x6e,
- 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c,
- 0x48, 0x00, 0x52, 0x0b, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12,
- 0x25, 0x0a, 0x0d, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
- 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65,
- 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x3c, 0x0a, 0x14, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f,
- 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04,
- 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52,
- 0x13, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69,
- 0x61, 0x62, 0x6c, 0x65, 0x3a, 0x23, 0x9a, 0xc5, 0x88, 0x1e, 0x1e, 0x0a, 0x1c, 0x65, 0x6e, 0x76,
- 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44,
- 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x10, 0x0a, 0x09, 0x73, 0x70, 0x65,
- 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xd4, 0x01, 0x0a, 0x0b,
- 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x4b, 0x0a, 0x0e, 0x72,
- 0x65, 0x74, 0x72, 0x79, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x6f, 0x66, 0x66, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
- 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x6f,
- 0x66, 0x66, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0c, 0x72, 0x65, 0x74, 0x72,
- 0x79, 0x42, 0x61, 0x63, 0x6b, 0x4f, 0x66, 0x66, 0x12, 0x52, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f,
- 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
+ 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0b, 0x18, 0x01, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03,
+ 0x33, 0x2e, 0x30, 0x52, 0x06, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x69, 0x0a, 0x0d, 0x61,
+ 0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x65, 0x61, 0x64,
+ 0x65, 0x72, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08,
+ 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64,
+ 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x65,
+ 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0e, 0x6b, 0x65, 0x65, 0x70, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65,
+ 0x22, 0x64, 0x0a, 0x12, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64,
+ 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x50, 0x50, 0x45, 0x4e, 0x44,
+ 0x5f, 0x49, 0x46, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x5f, 0x4f, 0x52, 0x5f, 0x41, 0x44,
+ 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x44, 0x44, 0x5f, 0x49, 0x46, 0x5f, 0x41, 0x42,
+ 0x53, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x4f, 0x56, 0x45, 0x52, 0x57, 0x52,
+ 0x49, 0x54, 0x45, 0x5f, 0x49, 0x46, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x5f, 0x4f, 0x52,
+ 0x5f, 0x41, 0x44, 0x44, 0x10, 0x02, 0x3a, 0x2a, 0x9a, 0xc5, 0x88, 0x1e, 0x25, 0x0a, 0x23, 0x65,
+ 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65,
+ 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x22, 0x6c, 0x0a, 0x09, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x12,
+ 0x3b, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
+ 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x3a, 0x22, 0x9a, 0xc5,
+ 0x88, 0x1e, 0x1d, 0x0a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76,
+ 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x70,
+ 0x22, 0x2f, 0x0a, 0x10, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x44, 0x69, 0x72, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74,
+ 0x68, 0x22, 0xf4, 0x01, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x12, 0x25, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x08, 0x66,
+ 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x69, 0x6e, 0x6c, 0x69, 0x6e,
+ 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52,
+ 0x0b, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0d,
+ 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x72,
+ 0x69, 0x6e, 0x67, 0x12, 0x3c, 0x0a, 0x14, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65,
+ 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x13, 0x65, 0x6e,
+ 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c,
+ 0x65, 0x3a, 0x23, 0x9a, 0xc5, 0x88, 0x1e, 0x1e, 0x0a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
+ 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61,
+ 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x10, 0x0a, 0x09, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66,
+ 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xd4, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x74,
+ 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x4b, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x72,
+ 0x79, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x6f, 0x66, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
+ 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x53,
+ 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x42, 0x61,
+ 0x63, 0x6b, 0x4f, 0x66, 0x66, 0x12, 0x52, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x74,
+ 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 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, 0x13, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x0d,
+ 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x0a, 0x6e,
+ 0x75, 0x6d, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x24, 0x9a, 0xc5, 0x88, 0x1e, 0x1f,
+ 0x0a, 0x1d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63,
+ 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22,
+ 0xe8, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x12, 0x42, 0x0a, 0x08, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72, 0x69,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74,
+ 0x74, 0x70, 0x55, 0x72, 0x69, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52,
+ 0x07, 0x68, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x12, 0x1f, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x32,
+ 0x35, 0x36, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10,
+ 0x01, 0x52, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x44, 0x0a, 0x0c, 0x72, 0x65, 0x74,
+ 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63,
+ 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69,
+ 0x63, 0x79, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x3a,
+ 0x29, 0x9a, 0xc5, 0x88, 0x1e, 0x24, 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70,
+ 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65,
+ 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xc9, 0x01, 0x0a, 0x0f, 0x41,
+ 0x73, 0x79, 0x6e, 0x63, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x38,
+ 0x0a, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e,
+ 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72,
+ 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48,
+ 0x00, 0x52, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x40, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f,
+ 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
+ 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e,
+ 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x3a, 0x28, 0x9a, 0xc5, 0x88, 0x1e,
+ 0x23, 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e,
+ 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x42, 0x10, 0x0a, 0x09, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65,
+ 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xb0, 0x01, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73,
+ 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61,
+ 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10,
+ 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64,
+ 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 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, 0x13, 0xf2, 0x98, 0xfe,
- 0x8f, 0x05, 0x0d, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73,
- 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x24, 0x9a, 0xc5,
- 0x88, 0x1e, 0x1f, 0x0a, 0x1d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76,
- 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69,
- 0x63, 0x79, 0x22, 0xe8, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x44, 0x61, 0x74,
- 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x42, 0x0a, 0x08, 0x68, 0x74, 0x74, 0x70, 0x5f,
- 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
- 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33,
- 0x2e, 0x48, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02,
- 0x10, 0x01, 0x52, 0x07, 0x68, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x12, 0x1f, 0x0a, 0x06, 0x73,
- 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04,
- 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x44, 0x0a, 0x0c,
- 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50,
- 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69,
- 0x63, 0x79, 0x3a, 0x29, 0x9a, 0xc5, 0x88, 0x1e, 0x24, 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x6d,
- 0x6f, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xc9, 0x01,
- 0x0a, 0x0f, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63,
- 0x65, 0x12, 0x38, 0x0a, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
- 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72,
- 0x63, 0x65, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x40, 0x0a, 0x06, 0x72,
- 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e,
- 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
- 0x76, 0x33, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75,
- 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x3a, 0x28, 0x9a,
- 0xc5, 0x88, 0x1e, 0x23, 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e,
- 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x44, 0x61, 0x74,
- 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x10, 0x0a, 0x09, 0x73, 0x70, 0x65, 0x63, 0x69,
- 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xb0, 0x01, 0x0a, 0x0f, 0x54, 0x72,
- 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1b, 0x0a,
- 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04,
- 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79,
- 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
- 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43,
- 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x28, 0x9a, 0xc5, 0x88, 0x1e, 0x23, 0x0a, 0x21, 0x65, 0x6e,
- 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
- 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x42,
- 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04,
- 0x08, 0x02, 0x10, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xbf, 0x01, 0x0a,
- 0x18, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
- 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x4f, 0x0a, 0x0d, 0x64, 0x65, 0x66,
- 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33,
- 0x2e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65,
- 0x6e, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x64, 0x65,
- 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x75,
- 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x0a, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4b, 0x65, 0x79, 0x3a, 0x31, 0x9a, 0xc5, 0x88,
- 0x1e, 0x2c, 0x0a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32,
- 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61,
- 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x22, 0x55,
- 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x12, 0x1e,
- 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x3a, 0x25,
- 0x9a, 0xc5, 0x88, 0x1e, 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69,
- 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
- 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x2a, 0x28, 0x0a, 0x0f, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67,
- 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41,
- 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x49, 0x47, 0x48, 0x10, 0x01, 0x2a,
- 0x89, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f,
- 0x64, 0x12, 0x16, 0x0a, 0x12, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50,
- 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x47, 0x45, 0x54,
- 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x45, 0x41, 0x44, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04,
- 0x50, 0x4f, 0x53, 0x54, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x55, 0x54, 0x10, 0x04, 0x12,
- 0x0a, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x43,
- 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x50, 0x54, 0x49,
- 0x4f, 0x4e, 0x53, 0x10, 0x07, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x08,
- 0x12, 0x09, 0x0a, 0x05, 0x50, 0x41, 0x54, 0x43, 0x48, 0x10, 0x09, 0x2a, 0x3e, 0x0a, 0x10, 0x54,
- 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
- 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00,
- 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a,
- 0x08, 0x4f, 0x55, 0x54, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x02, 0x42, 0x7d, 0x0a, 0x22, 0x69,
- 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76,
- 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76,
- 0x33, 0x42, 0x09, 0x42, 0x61, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42,
- 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
- 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e,
- 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x72, 0x65,
- 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x33,
+ 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x3a, 0x28, 0x9a, 0xc5, 0x88, 0x1e, 0x23, 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79,
+ 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x72, 0x61,
+ 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x0d, 0x0a, 0x0b,
+ 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10,
+ 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xbf, 0x01, 0x0a, 0x18, 0x52, 0x75,
+ 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50,
+ 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x4f, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
+ 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e,
+ 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x72,
+ 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x42,
+ 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75,
+ 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x74, 0x69,
+ 0x6d, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x75,
+ 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4b, 0x65, 0x79, 0x3a, 0x31, 0x9a, 0xc5, 0x88, 0x1e, 0x2c, 0x0a,
+ 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f,
+ 0x72, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x22, 0x55, 0x0a, 0x0c, 0x43,
+ 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x69,
+ 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x3a, 0x25, 0x9a, 0xc5, 0x88,
+ 0x1e, 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32,
+ 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6c, 0x61,
+ 0x6e, 0x65, 0x2a, 0x28, 0x0a, 0x0f, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x69,
+ 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54,
+ 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x49, 0x47, 0x48, 0x10, 0x01, 0x2a, 0x89, 0x01, 0x0a,
+ 0x0d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x16,
+ 0x0a, 0x12, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
+ 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x47, 0x45, 0x54, 0x10, 0x01, 0x12,
+ 0x08, 0x0a, 0x04, 0x48, 0x45, 0x41, 0x44, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x4f, 0x53,
+ 0x54, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x55, 0x54, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06,
+ 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x4e, 0x4e,
+ 0x45, 0x43, 0x54, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x53,
+ 0x10, 0x07, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x08, 0x12, 0x09, 0x0a,
+ 0x05, 0x50, 0x41, 0x54, 0x43, 0x48, 0x10, 0x09, 0x2a, 0x3e, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x66,
+ 0x66, 0x69, 0x63, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0f, 0x0a, 0x0b,
+ 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a,
+ 0x07, 0x49, 0x4e, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x55,
+ 0x54, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x02, 0x42, 0x7d, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65,
+ 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
+ 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x09,
+ 0x42, 0x61, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74,
+ 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f,
+ 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c,
+ 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x72, 0x65, 0x76, 0x33, 0xba,
+ 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -2248,7 +2260,7 @@ var file_envoy_config_core_v3_base_proto_goTypes = []interface{}{
(*BackoffStrategy)(nil), // 33: envoy.config.core.v3.BackoffStrategy
(*wrappers.UInt32Value)(nil), // 34: google.protobuf.UInt32Value
(*HttpUri)(nil), // 35: envoy.config.core.v3.HttpUri
- (*any.Any)(nil), // 36: google.protobuf.Any
+ (*any1.Any)(nil), // 36: google.protobuf.Any
(*v3.FractionalPercent)(nil), // 37: envoy.type.v3.FractionalPercent
(*v31.ContextParams)(nil), // 38: xds.core.v3.ContextParams
}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/base.pb.validate.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/base.pb.validate.go
index 47d09142d6..696a394630 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/base.pb.validate.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/base.pb.validate.go
@@ -632,12 +632,30 @@ func (m *Node) validate(all bool) error {
}
- switch m.UserAgentVersionType.(type) {
-
+ switch v := m.UserAgentVersionType.(type) {
case *Node_UserAgentVersion:
+ if v == nil {
+ err := NodeValidationError{
+ field: "UserAgentVersionType",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
// no validation rules for UserAgentVersion
-
case *Node_UserAgentBuildVersion:
+ if v == nil {
+ err := NodeValidationError{
+ field: "UserAgentVersionType",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
if all {
switch v := interface{}(m.GetUserAgentBuildVersion()).(type) {
@@ -668,6 +686,8 @@ func (m *Node) validate(all bool) error {
}
}
+ default:
+ _ = v // ensures v is used
}
if len(errors) > 0 {
@@ -2178,9 +2198,20 @@ func (m *DataSource) validate(all bool) error {
var errors []error
- switch m.Specifier.(type) {
-
+ oneofSpecifierPresent := false
+ switch v := m.Specifier.(type) {
case *DataSource_Filename:
+ if v == nil {
+ err := DataSourceValidationError{
+ field: "Specifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofSpecifierPresent = true
if utf8.RuneCountInString(m.GetFilename()) < 1 {
err := DataSourceValidationError{
@@ -2194,12 +2225,43 @@ func (m *DataSource) validate(all bool) error {
}
case *DataSource_InlineBytes:
+ if v == nil {
+ err := DataSourceValidationError{
+ field: "Specifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofSpecifierPresent = true
// no validation rules for InlineBytes
-
case *DataSource_InlineString:
+ if v == nil {
+ err := DataSourceValidationError{
+ field: "Specifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofSpecifierPresent = true
// no validation rules for InlineString
-
case *DataSource_EnvironmentVariable:
+ if v == nil {
+ err := DataSourceValidationError{
+ field: "Specifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofSpecifierPresent = true
if utf8.RuneCountInString(m.GetEnvironmentVariable()) < 1 {
err := DataSourceValidationError{
@@ -2213,6 +2275,9 @@ func (m *DataSource) validate(all bool) error {
}
default:
+ _ = v // ensures v is used
+ }
+ if !oneofSpecifierPresent {
err := DataSourceValidationError{
field: "Specifier",
reason: "value is required",
@@ -2221,7 +2286,6 @@ func (m *DataSource) validate(all bool) error {
return err
}
errors = append(errors, err)
-
}
if len(errors) > 0 {
@@ -2660,9 +2724,20 @@ func (m *AsyncDataSource) validate(all bool) error {
var errors []error
- switch m.Specifier.(type) {
-
+ oneofSpecifierPresent := false
+ switch v := m.Specifier.(type) {
case *AsyncDataSource_Local:
+ if v == nil {
+ err := AsyncDataSourceValidationError{
+ field: "Specifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofSpecifierPresent = true
if all {
switch v := interface{}(m.GetLocal()).(type) {
@@ -2694,6 +2769,17 @@ func (m *AsyncDataSource) validate(all bool) error {
}
case *AsyncDataSource_Remote:
+ if v == nil {
+ err := AsyncDataSourceValidationError{
+ field: "Specifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofSpecifierPresent = true
if all {
switch v := interface{}(m.GetRemote()).(type) {
@@ -2725,6 +2811,9 @@ func (m *AsyncDataSource) validate(all bool) error {
}
default:
+ _ = v // ensures v is used
+ }
+ if !oneofSpecifierPresent {
err := AsyncDataSourceValidationError{
field: "Specifier",
reason: "value is required",
@@ -2733,7 +2822,6 @@ func (m *AsyncDataSource) validate(all bool) error {
return err
}
errors = append(errors, err)
-
}
if len(errors) > 0 {
@@ -2847,9 +2935,18 @@ func (m *TransportSocket) validate(all bool) error {
errors = append(errors, err)
}
- switch m.ConfigType.(type) {
-
+ switch v := m.ConfigType.(type) {
case *TransportSocket_TypedConfig:
+ if v == nil {
+ err := TransportSocketValidationError{
+ field: "ConfigType",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
if all {
switch v := interface{}(m.GetTypedConfig()).(type) {
@@ -2880,6 +2977,8 @@ func (m *TransportSocket) validate(all bool) error {
}
}
+ default:
+ _ = v // ensures v is used
}
if len(errors) > 0 {
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/config_source.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/config_source.pb.go
index 41c7d793c6..f0584ffed2 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/config_source.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/config_source.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/config/core/v3/config_source.proto
package corev3
@@ -11,7 +11,7 @@ import (
v3 "github.com/cncf/xds/go/xds/core/v3"
_ "github.com/envoyproxy/go-control-plane/envoy/annotations"
_ "github.com/envoyproxy/protoc-gen-validate/validate"
- any "github.com/golang/protobuf/ptypes/any"
+ any1 "github.com/golang/protobuf/ptypes/any"
duration "github.com/golang/protobuf/ptypes/duration"
wrappers "github.com/golang/protobuf/ptypes/wrappers"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
@@ -200,7 +200,7 @@ type ApiConfigSource struct {
// A list of config validators that will be executed when a new update is
// received from the ApiConfigSource. Note that each validator handles a
// specific xDS service type, and only the validators corresponding to the
- // type url (in `:ref: DiscoveryResponse` or `:ref: DeltaDiscoveryResponse`)
+ // type url (in ``:ref: DiscoveryResponse`` or ``:ref: DeltaDiscoveryResponse``)
// will be invoked.
// If the validator returns false or throws an exception, the config will be rejected by
// the client, and a NACK will be sent.
@@ -473,23 +473,23 @@ type PathConfigSource struct {
//
// .. note::
//
- // If `watched_directory` is *not* configured, Envoy will watch the file path for *moves.*
+ // If ``watched_directory`` is *not* configured, Envoy will watch the file path for *moves*.
// This is because in general only moves are atomic. The same method of swapping files as is
// demonstrated in the :ref:`runtime documentation ` can be
- // used here also. If `watched_directory` is configured, no watch will be placed directly on
- // this path. Instead, the configured `watched_directory` will be used to trigger reloads of
+ // used here also. If ``watched_directory`` is configured, no watch will be placed directly on
+ // this path. Instead, the configured ``watched_directory`` will be used to trigger reloads of
// this path. This is required in certain deployment scenarios. See below for more information.
Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
- // If configured, this directory will be watched for *moves.* When an entry in this directory is
- // moved to, the `path` will be reloaded. This is required in certain deployment scenarios.
+ // If configured, this directory will be watched for *moves*. When an entry in this directory is
+ // moved to, the ``path`` will be reloaded. This is required in certain deployment scenarios.
//
// Specifically, if trying to load an xDS resource using a
// `Kubernetes ConfigMap `_, the
// following configuration might be used:
// 1. Store xds.yaml inside a ConfigMap.
- // 2. Mount the ConfigMap to `/config_map/xds`
- // 3. Configure path `/config_map/xds/xds.yaml`
- // 4. Configure watched directory `/config_map/xds`
+ // 2. Mount the ConfigMap to ``/config_map/xds``
+ // 3. Configure path ``/config_map/xds/xds.yaml``
+ // 4. Configure watched directory ``/config_map/xds``
//
// The above configuration will ensure that Envoy watches the owning directory for moves which is
// required due to how Kubernetes manages ConfigMap symbolic links during atomic updates.
@@ -555,7 +555,7 @@ type ConfigSource struct {
unknownFields protoimpl.UnknownFields
// Authorities that this config source may be used for. An authority specified in a xdstp:// URL
- // is resolved to a *ConfigSource* prior to configuration fetch. This field provides the
+ // is resolved to a ``ConfigSource`` prior to configuration fetch. This field provides the
// association between authority name and configuration source.
// [#not-implemented-hide:]
Authorities []*v3.Authority `protobuf:"bytes,7,rep,name=authorities,proto3" json:"authorities,omitempty"`
@@ -681,7 +681,7 @@ type isConfigSource_ConfigSourceSpecifier interface {
}
type ConfigSource_Path struct {
- // Deprecated in favor of `path_config_source`. Use that field instead.
+ // Deprecated in favor of ``path_config_source``. Use that field instead.
//
// Deprecated: Do not use.
Path string `protobuf:"bytes,1,opt,name=path,proto3,oneof"`
@@ -747,8 +747,8 @@ type ExtensionConfigSource struct {
ConfigSource *ConfigSource `protobuf:"bytes,1,opt,name=config_source,json=configSource,proto3" json:"config_source,omitempty"`
// Optional default configuration to use as the initial configuration if
// there is a failure to receive the initial extension configuration or if
- // `apply_default_config_without_warming` flag is set.
- DefaultConfig *any.Any `protobuf:"bytes,2,opt,name=default_config,json=defaultConfig,proto3" json:"default_config,omitempty"`
+ // ``apply_default_config_without_warming`` flag is set.
+ DefaultConfig *any1.Any `protobuf:"bytes,2,opt,name=default_config,json=defaultConfig,proto3" json:"default_config,omitempty"`
// Use the default config as the initial configuration without warming and
// waiting for the first discovery response. Requires the default configuration
// to be supplied.
@@ -797,7 +797,7 @@ func (x *ExtensionConfigSource) GetConfigSource() *ConfigSource {
return nil
}
-func (x *ExtensionConfigSource) GetDefaultConfig() *any.Any {
+func (x *ExtensionConfigSource) GetDefaultConfig() *any1.Any {
if x != nil {
return x.DefaultConfig
}
@@ -1044,7 +1044,7 @@ var file_envoy_config_core_v3_config_source_proto_goTypes = []interface{}{
(*wrappers.DoubleValue)(nil), // 13: google.protobuf.DoubleValue
(*WatchedDirectory)(nil), // 14: envoy.config.core.v3.WatchedDirectory
(*v3.Authority)(nil), // 15: xds.core.v3.Authority
- (*any.Any)(nil), // 16: google.protobuf.Any
+ (*any1.Any)(nil), // 16: google.protobuf.Any
}
var file_envoy_config_core_v3_config_source_proto_depIdxs = []int32{
1, // 0: envoy.config.core.v3.ApiConfigSource.api_type:type_name -> envoy.config.core.v3.ApiConfigSource.ApiType
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/config_source.pb.validate.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/config_source.pb.validate.go
index 33367e727a..edab151352 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/config_source.pb.validate.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/config_source.pb.validate.go
@@ -910,12 +910,33 @@ func (m *ConfigSource) validate(all bool) error {
errors = append(errors, err)
}
- switch m.ConfigSourceSpecifier.(type) {
-
+ oneofConfigSourceSpecifierPresent := false
+ switch v := m.ConfigSourceSpecifier.(type) {
case *ConfigSource_Path:
+ if v == nil {
+ err := ConfigSourceValidationError{
+ field: "ConfigSourceSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofConfigSourceSpecifierPresent = true
// no validation rules for Path
-
case *ConfigSource_PathConfigSource:
+ if v == nil {
+ err := ConfigSourceValidationError{
+ field: "ConfigSourceSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofConfigSourceSpecifierPresent = true
if all {
switch v := interface{}(m.GetPathConfigSource()).(type) {
@@ -947,6 +968,17 @@ func (m *ConfigSource) validate(all bool) error {
}
case *ConfigSource_ApiConfigSource:
+ if v == nil {
+ err := ConfigSourceValidationError{
+ field: "ConfigSourceSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofConfigSourceSpecifierPresent = true
if all {
switch v := interface{}(m.GetApiConfigSource()).(type) {
@@ -978,6 +1010,17 @@ func (m *ConfigSource) validate(all bool) error {
}
case *ConfigSource_Ads:
+ if v == nil {
+ err := ConfigSourceValidationError{
+ field: "ConfigSourceSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofConfigSourceSpecifierPresent = true
if all {
switch v := interface{}(m.GetAds()).(type) {
@@ -1009,6 +1052,17 @@ func (m *ConfigSource) validate(all bool) error {
}
case *ConfigSource_Self:
+ if v == nil {
+ err := ConfigSourceValidationError{
+ field: "ConfigSourceSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofConfigSourceSpecifierPresent = true
if all {
switch v := interface{}(m.GetSelf()).(type) {
@@ -1040,6 +1094,9 @@ func (m *ConfigSource) validate(all bool) error {
}
default:
+ _ = v // ensures v is used
+ }
+ if !oneofConfigSourceSpecifierPresent {
err := ConfigSourceValidationError{
field: "ConfigSourceSpecifier",
reason: "value is required",
@@ -1048,7 +1105,6 @@ func (m *ConfigSource) validate(all bool) error {
return err
}
errors = append(errors, err)
-
}
if len(errors) > 0 {
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/event_service_config.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/event_service_config.pb.go
index 04420fec87..56dab5b987 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/event_service_config.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/event_service_config.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/config/core/v3/event_service_config.proto
package corev3
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/event_service_config.pb.validate.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/event_service_config.pb.validate.go
index 971a6d6018..a55672c275 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/event_service_config.pb.validate.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/event_service_config.pb.validate.go
@@ -57,9 +57,20 @@ func (m *EventServiceConfig) validate(all bool) error {
var errors []error
- switch m.ConfigSourceSpecifier.(type) {
-
+ oneofConfigSourceSpecifierPresent := false
+ switch v := m.ConfigSourceSpecifier.(type) {
case *EventServiceConfig_GrpcService:
+ if v == nil {
+ err := EventServiceConfigValidationError{
+ field: "ConfigSourceSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofConfigSourceSpecifierPresent = true
if all {
switch v := interface{}(m.GetGrpcService()).(type) {
@@ -91,6 +102,9 @@ func (m *EventServiceConfig) validate(all bool) error {
}
default:
+ _ = v // ensures v is used
+ }
+ if !oneofConfigSourceSpecifierPresent {
err := EventServiceConfigValidationError{
field: "ConfigSourceSpecifier",
reason: "value is required",
@@ -99,7 +113,6 @@ func (m *EventServiceConfig) validate(all bool) error {
return err
}
errors = append(errors, err)
-
}
if len(errors) > 0 {
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/extension.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/extension.pb.go
index 4b7e6ba0e5..ecf3e6b5cf 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/extension.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/extension.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/config/core/v3/extension.proto
package corev3
@@ -9,7 +9,7 @@ package corev3
import (
_ "github.com/cncf/xds/go/udpa/annotations"
_ "github.com/envoyproxy/protoc-gen-validate/validate"
- any "github.com/golang/protobuf/ptypes/any"
+ any1 "github.com/golang/protobuf/ptypes/any"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
@@ -34,12 +34,12 @@ type TypedExtensionConfig struct {
// it serves the role of an opaque identifier.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// The typed config for the extension. The type URL will be used to identify
- // the extension. In the case that the type URL is *xds.type.v3.TypedStruct*
- // (or, for historical reasons, *udpa.type.v1.TypedStruct*), the inner type
- // URL of *TypedStruct* will be utilized. See the
+ // the extension. In the case that the type URL is ``xds.type.v3.TypedStruct``
+ // (or, for historical reasons, ``udpa.type.v1.TypedStruct``), the inner type
+ // URL of ``TypedStruct`` will be utilized. See the
// :ref:`extension configuration overview
// ` for further details.
- TypedConfig *any.Any `protobuf:"bytes,2,opt,name=typed_config,json=typedConfig,proto3" json:"typed_config,omitempty"`
+ TypedConfig *any1.Any `protobuf:"bytes,2,opt,name=typed_config,json=typedConfig,proto3" json:"typed_config,omitempty"`
}
func (x *TypedExtensionConfig) Reset() {
@@ -81,7 +81,7 @@ func (x *TypedExtensionConfig) GetName() string {
return ""
}
-func (x *TypedExtensionConfig) GetTypedConfig() *any.Any {
+func (x *TypedExtensionConfig) GetTypedConfig() *any1.Any {
if x != nil {
return x.TypedConfig
}
@@ -134,7 +134,7 @@ func file_envoy_config_core_v3_extension_proto_rawDescGZIP() []byte {
var file_envoy_config_core_v3_extension_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_envoy_config_core_v3_extension_proto_goTypes = []interface{}{
(*TypedExtensionConfig)(nil), // 0: envoy.config.core.v3.TypedExtensionConfig
- (*any.Any)(nil), // 1: google.protobuf.Any
+ (*any1.Any)(nil), // 1: google.protobuf.Any
}
var file_envoy_config_core_v3_extension_proto_depIdxs = []int32{
1, // 0: envoy.config.core.v3.TypedExtensionConfig.typed_config:type_name -> google.protobuf.Any
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/grpc_method_list.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/grpc_method_list.pb.go
index 8cf0785a02..5e0e91178a 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/grpc_method_list.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/grpc_method_list.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/config/core/v3/grpc_method_list.proto
package corev3
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/grpc_service.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/grpc_service.pb.go
index 2a2dd78c1e..1bab4b9e83 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/grpc_service.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/grpc_service.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/config/core/v3/grpc_service.proto
package corev3
@@ -9,7 +9,7 @@ package corev3
import (
_ "github.com/cncf/xds/go/udpa/annotations"
_ "github.com/envoyproxy/protoc-gen-validate/validate"
- any "github.com/golang/protobuf/ptypes/any"
+ any1 "github.com/golang/protobuf/ptypes/any"
duration "github.com/golang/protobuf/ptypes/duration"
_struct "github.com/golang/protobuf/ptypes/struct"
wrappers "github.com/golang/protobuf/ptypes/wrappers"
@@ -148,9 +148,14 @@ type GrpcService_EnvoyGrpc struct {
// in the :ref:`Cluster ` :ref:`transport_socket
// `.
ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
- // The `:authority` header in the grpc request. If this field is not set, the authority header value will be `cluster_name`.
+ // The ``:authority`` header in the grpc request. If this field is not set, the authority header value will be ``cluster_name``.
// Note that this authority does not override the SNI. The SNI is provided by the transport socket of the cluster.
Authority string `protobuf:"bytes,2,opt,name=authority,proto3" json:"authority,omitempty"`
+ // Indicates the retry policy for re-establishing the gRPC stream
+ // This field is optional. If max interval is not provided, it will be set to ten times the provided base interval.
+ // Currently only supported for xDS gRPC streams.
+ // If not set, xDS gRPC streams default base interval:500ms, maximum interval:30s will be applied.
+ RetryPolicy *RetryPolicy `protobuf:"bytes,3,opt,name=retry_policy,json=retryPolicy,proto3" json:"retry_policy,omitempty"`
}
func (x *GrpcService_EnvoyGrpc) Reset() {
@@ -199,6 +204,13 @@ func (x *GrpcService_EnvoyGrpc) GetAuthority() string {
return ""
}
+func (x *GrpcService_EnvoyGrpc) GetRetryPolicy() *RetryPolicy {
+ if x != nil {
+ return x.RetryPolicy
+ }
+ return nil
+}
+
// [#next-free-field: 9]
type GrpcService_GoogleGrpc struct {
state protoimpl.MessageState
@@ -924,7 +936,7 @@ func (m *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) G
return nil
}
-func (x *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) GetTypedConfig() *any.Any {
+func (x *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) GetTypedConfig() *any1.Any {
if x, ok := x.GetConfigType().(*GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_TypedConfig); ok {
return x.TypedConfig
}
@@ -936,7 +948,7 @@ type isGrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_Conf
}
type GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_TypedConfig struct {
- TypedConfig *any.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"`
+ TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"`
}
func (*GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_TypedConfig) isGrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_ConfigType() {
@@ -954,7 +966,7 @@ type GrpcService_GoogleGrpc_CallCredentials_StsService struct {
// URI of the token exchange service that handles token exchange requests.
// [#comment:TODO(asraa): Add URI validation when implemented. Tracked by
- // https://github.com/envoyproxy/protoc-gen-validate/issues/303]
+ // https://github.com/bufbuild/protoc-gen-validate/issues/303]
TokenExchangeServiceUri string `protobuf:"bytes,1,opt,name=token_exchange_service_uri,json=tokenExchangeServiceUri,proto3" json:"token_exchange_service_uri,omitempty"`
// Location of the target service or resource where the client
// intends to use the requested security token.
@@ -1186,7 +1198,7 @@ var file_envoy_config_core_v3_grpc_service_proto_rawDesc = []byte{
0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69,
0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x22, 0x8c, 0x21, 0x0a, 0x0b, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76,
+ 0x6f, 0x74, 0x6f, 0x22, 0xd2, 0x21, 0x0a, 0x0b, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76,
0x69, 0x63, 0x65, 0x12, 0x4c, 0x0a, 0x0a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x67, 0x72, 0x70,
0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47,
@@ -1205,262 +1217,266 @@ var file_envoy_config_core_v3_grpc_service_proto_rawDesc = []byte{
0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56,
0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x4d, 0x65, 0x74,
- 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x98, 0x01, 0x0a, 0x09, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x47,
+ 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0xde, 0x01, 0x0a, 0x09, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x47,
0x72, 0x70, 0x63, 0x12, 0x2a, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e,
0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02,
0x10, 0x01, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12,
0x2f, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x42, 0x11, 0xfa, 0x42, 0x0e, 0x72, 0x0c, 0x10, 0x00, 0x28, 0x80, 0x80, 0x01, 0xc0,
0x01, 0x02, 0xc8, 0x01, 0x00, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79,
- 0x3a, 0x2e, 0x9a, 0xc5, 0x88, 0x1e, 0x29, 0x0a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61,
- 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53,
- 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x47, 0x72, 0x70, 0x63,
- 0x1a, 0xfa, 0x1c, 0x0a, 0x0a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x12,
- 0x26, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x74, 0x61,
- 0x72, 0x67, 0x65, 0x74, 0x55, 0x72, 0x69, 0x12, 0x70, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x6e, 0x6e,
- 0x65, 0x6c, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e,
- 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63,
- 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72,
- 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e,
- 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x12, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x72,
- 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x67, 0x0a, 0x10, 0x63, 0x61, 0x6c,
- 0x6c, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x03, 0x20,
- 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
+ 0x12, 0x44, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65,
+ 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79,
+ 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x3a, 0x2e, 0x9a, 0xc5, 0x88, 0x1e, 0x29, 0x0a, 0x27, 0x65,
+ 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65,
+ 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x76,
+ 0x6f, 0x79, 0x47, 0x72, 0x70, 0x63, 0x1a, 0xfa, 0x1c, 0x0a, 0x0a, 0x47, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x47, 0x72, 0x70, 0x63, 0x12, 0x26, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f,
+ 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02,
+ 0x10, 0x01, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x72, 0x69, 0x12, 0x70, 0x0a,
+ 0x13, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
+ 0x69, 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76,
+ 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76,
+ 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
+ 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x12, 0x63, 0x68, 0x61,
+ 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12,
+ 0x67, 0x0a, 0x10, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69,
+ 0x61, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
+ 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33,
+ 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64,
+ 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x0f, 0x63, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65,
+ 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74,
+ 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa,
+ 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66,
+ 0x69, 0x78, 0x12, 0x38, 0x0a, 0x18, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c,
+ 0x73, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c,
+ 0x73, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x06,
+ 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 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, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5e, 0x0a,
+ 0x1d, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x62, 0x75, 0x66, 0x66,
+ 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 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, 0x19, 0x70, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x75, 0x66,
+ 0x66, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x5b, 0x0a,
+ 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53,
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70,
- 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c,
- 0x73, 0x52, 0x0f, 0x63, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61,
- 0x6c, 0x73, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69,
- 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01,
- 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x38, 0x0a, 0x18,
- 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x5f, 0x66, 0x61, 0x63, 0x74,
- 0x6f, 0x72, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16,
- 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x46, 0x61, 0x63, 0x74, 0x6f,
- 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x18, 0x06, 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,
- 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5e, 0x0a, 0x1d, 0x70, 0x65, 0x72, 0x5f, 0x73,
- 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6d,
- 0x69, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 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, 0x19, 0x70, 0x65,
- 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x4c, 0x69, 0x6d,
- 0x69, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x5b, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e,
- 0x65, 0x6c, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e,
- 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72,
- 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
- 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e,
- 0x6e, 0x65, 0x6c, 0x41, 0x72, 0x67, 0x73, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
- 0x41, 0x72, 0x67, 0x73, 0x1a, 0x9d, 0x02, 0x0a, 0x0e, 0x53, 0x73, 0x6c, 0x43, 0x72, 0x65, 0x64,
- 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x3f, 0x0a, 0x0a, 0x72, 0x6f, 0x6f, 0x74, 0x5f,
- 0x63, 0x65, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e,
- 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
- 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x72,
- 0x6f, 0x6f, 0x74, 0x43, 0x65, 0x72, 0x74, 0x73, 0x12, 0x49, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76,
- 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e,
+ 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x72, 0x67, 0x73, 0x52, 0x0b, 0x63,
+ 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x9d, 0x02, 0x0a, 0x0e, 0x53,
+ 0x73, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x3f, 0x0a,
+ 0x0a, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x52, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x43, 0x65, 0x72, 0x74, 0x73, 0x12, 0x49,
+ 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x06, 0xb8, 0xb7, 0x8b, 0xa4, 0x02, 0x01, 0x52, 0x0a, 0x70,
+ 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x3f, 0x0a, 0x0a, 0x63, 0x65, 0x72,
+ 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e,
0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72,
- 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42,
- 0x06, 0xb8, 0xb7, 0x8b, 0xa4, 0x02, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65,
- 0x4b, 0x65, 0x79, 0x12, 0x3f, 0x0a, 0x0a, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69,
- 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
- 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44,
- 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x43,
- 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3e, 0x9a, 0xc5, 0x88, 0x1e, 0x39, 0x0a, 0x37, 0x65, 0x6e, 0x76,
+ 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52,
+ 0x09, 0x63, 0x65, 0x72, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3e, 0x9a, 0xc5, 0x88, 0x1e,
+ 0x39, 0x0a, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e,
+ 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
+ 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x73, 0x6c, 0x43,
+ 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x1a, 0x60, 0x0a, 0x16, 0x47, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
+ 0x69, 0x61, 0x6c, 0x73, 0x3a, 0x46, 0x9a, 0xc5, 0x88, 0x1e, 0x41, 0x0a, 0x3f, 0x65, 0x6e, 0x76,
0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47,
0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x73, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
- 0x69, 0x61, 0x6c, 0x73, 0x1a, 0x60, 0x0a, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x4c, 0x6f,
- 0x63, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x3a, 0x46,
- 0x9a, 0xc5, 0x88, 0x1e, 0x41, 0x0a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69,
- 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72,
- 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e,
- 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65,
- 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x1a, 0x92, 0x03, 0x0a, 0x12, 0x43, 0x68, 0x61, 0x6e, 0x6e,
- 0x65, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x66, 0x0a,
- 0x0f, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
- 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72,
- 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x47, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x73, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69,
- 0x61, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x73, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e,
- 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x3f, 0x0a, 0x0e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f,
- 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 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,
- 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44,
- 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x72, 0x0a, 0x11, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f,
- 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x43, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72,
- 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e,
- 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65,
- 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x43,
- 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x3a, 0x42, 0x9a, 0xc5, 0x88, 0x1e,
- 0x3d, 0x0a, 0x3b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e,
- 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
- 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e,
- 0x6e, 0x65, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x42, 0x1b,
- 0x0a, 0x14, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x65,
- 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0x88, 0x0f, 0x0a, 0x0f,
- 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12,
- 0x23, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54,
- 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x4c, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x63,
- 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20,
+ 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61,
+ 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x1a, 0x92, 0x03, 0x0a,
+ 0x12, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69,
+ 0x61, 0x6c, 0x73, 0x12, 0x66, 0x0a, 0x0f, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65,
+ 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65,
+ 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65,
+ 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e,
+ 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x73, 0x6c, 0x43, 0x72,
+ 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x73, 0x6c,
+ 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x3f, 0x0a, 0x0e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 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, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x13, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x67, 0x69,
- 0x6e, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x66,
- 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
- 0x48, 0x00, 0x52, 0x12, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73,
- 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x9e, 0x01, 0x0a, 0x1a, 0x73, 0x65, 0x72, 0x76, 0x69,
- 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6a, 0x77, 0x74, 0x5f, 0x61,
- 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5f, 0x2e, 0x65, 0x6e,
- 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
- 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72,
- 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
- 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4a, 0x57, 0x54, 0x41, 0x63, 0x63, 0x65, 0x73,
- 0x73, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x17,
- 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4a, 0x77,
- 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x72, 0x0a, 0x0a, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x5f, 0x69, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x65, 0x6e,
- 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
- 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72,
- 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x49, 0x41, 0x4d, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x48, 0x00,
- 0x52, 0x09, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x49, 0x61, 0x6d, 0x12, 0x7d, 0x0a, 0x0b, 0x66,
- 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x5a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
- 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76,
- 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43,
- 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x4d,
- 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61,
- 0x6c, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x48, 0x00, 0x52, 0x0a,
- 0x66, 0x72, 0x6f, 0x6d, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x6a, 0x0a, 0x0b, 0x73, 0x74,
- 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x47, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63,
- 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69,
- 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61,
- 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x53, 0x74,
- 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x74, 0x73, 0x53,
- 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x1a, 0xd9, 0x01, 0x0a, 0x22, 0x53, 0x65, 0x72, 0x76, 0x69,
- 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4a, 0x57, 0x54, 0x41, 0x63, 0x63, 0x65,
- 0x73, 0x73, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x19, 0x0a,
- 0x08, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x07, 0x6a, 0x73, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x6f, 0x6b, 0x65,
- 0x6e, 0x5f, 0x6c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e,
- 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x4c,
- 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x3a, 0x62,
- 0x9a, 0xc5, 0x88, 0x1e, 0x5d, 0x0a, 0x5b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69,
- 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0d, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x72, 0x0a, 0x11,
+ 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c,
+ 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
+ 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47,
+ 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61,
+ 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x10,
+ 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73,
+ 0x3a, 0x42, 0x9a, 0xc5, 0x88, 0x1e, 0x3d, 0x0a, 0x3b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61,
+ 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53,
+ 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70,
+ 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
+ 0x69, 0x61, 0x6c, 0x73, 0x42, 0x1b, 0x0a, 0x14, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69,
+ 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42,
+ 0x01, 0x1a, 0x88, 0x0f, 0x0a, 0x0f, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e,
+ 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f,
+ 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x61,
+ 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x4c, 0x0a, 0x15, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x67,
+ 0x69, 0x6e, 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, 0x45, 0x6d, 0x70, 0x74,
+ 0x79, 0x48, 0x00, 0x52, 0x13, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x75,
+ 0x74, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x12, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x9e, 0x01, 0x0a,
+ 0x1a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
+ 0x5f, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x5f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72,
0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e,
0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e,
0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4a, 0x57,
0x54, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61,
- 0x6c, 0x73, 0x1a, 0xcc, 0x01, 0x0a, 0x14, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x49, 0x41, 0x4d,
- 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x61,
- 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b,
- 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72,
- 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2d, 0x0a, 0x12,
- 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74,
- 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72,
- 0x69, 0x74, 0x79, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x3a, 0x54, 0x9a, 0xc5, 0x88,
- 0x1e, 0x4f, 0x0a, 0x4d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32,
- 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
- 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c,
- 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x47, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x49, 0x41, 0x4d, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c,
- 0x73, 0x1a, 0xea, 0x01, 0x0a, 0x1d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x72,
- 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x6c, 0x75,
- 0x67, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64,
- 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e,
- 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
- 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66,
- 0x69, 0x67, 0x3a, 0x5d, 0x9a, 0xc5, 0x88, 0x1e, 0x58, 0x0a, 0x56, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70,
+ 0x6c, 0x73, 0x48, 0x00, 0x52, 0x17, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63,
+ 0x6f, 0x75, 0x6e, 0x74, 0x4a, 0x77, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x72, 0x0a,
+ 0x0a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x51, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72,
+ 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e,
+ 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e,
+ 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x49, 0x41, 0x4d, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
+ 0x69, 0x61, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x09, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x49, 0x61,
+ 0x6d, 0x12, 0x7d, 0x0a, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72,
+ 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
+ 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x72, 0x65,
+ 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x6c, 0x75, 0x67,
+ 0x69, 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e,
+ 0x12, 0x6a, 0x0a, 0x0b, 0x73, 0x74, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70,
0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47,
0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69,
- 0x61, 0x6c, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x72, 0x65, 0x64,
- 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x6c, 0x75, 0x67, 0x69,
- 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65,
- 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xd7,
- 0x03, 0x0a, 0x0a, 0x53, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a,
- 0x1a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f,
- 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x17, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65,
- 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x55, 0x72, 0x69, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65,
- 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65,
- 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e,
- 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e,
- 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65,
- 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65,
- 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x35, 0x0a, 0x12, 0x73, 0x75,
- 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68,
- 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52,
- 0x10, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x61, 0x74,
- 0x68, 0x12, 0x35, 0x0a, 0x12, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x6f, 0x6b,
- 0x65, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa,
- 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x10, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54,
- 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x6f,
- 0x72, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x08, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x61,
- 0x74, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
- 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63,
- 0x74, 0x6f, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x4a, 0x9a, 0xc5,
- 0x88, 0x1e, 0x45, 0x0a, 0x43, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76,
- 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69,
- 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61,
- 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x53, 0x74,
- 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x3a, 0x3f, 0x9a, 0xc5, 0x88, 0x1e, 0x3a, 0x0a,
- 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f,
+ 0x61, 0x6c, 0x73, 0x2e, 0x53, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x48, 0x00,
+ 0x52, 0x0a, 0x73, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x1a, 0xd9, 0x01, 0x0a,
+ 0x22, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4a,
+ 0x57, 0x54, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69,
+ 0x61, 0x6c, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x73, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x34,
+ 0x0a, 0x16, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65,
+ 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14,
+ 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x4c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63,
+ 0x6f, 0x6e, 0x64, 0x73, 0x3a, 0x62, 0x9a, 0xc5, 0x88, 0x1e, 0x5d, 0x0a, 0x5b, 0x65, 0x6e, 0x76,
+ 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47,
+ 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e,
+ 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63,
+ 0x6f, 0x75, 0x6e, 0x74, 0x4a, 0x57, 0x54, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x72, 0x65,
+ 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x1a, 0xcc, 0x01, 0x0a, 0x14, 0x47, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x49, 0x41, 0x4d, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c,
+ 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12,
+ 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b,
+ 0x65, 0x6e, 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f,
+ 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11,
+ 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x3a, 0x54, 0x9a, 0xc5, 0x88, 0x1e, 0x4f, 0x0a, 0x4d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
+ 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63,
+ 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72,
+ 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61,
+ 0x6c, 0x73, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x49, 0x41, 0x4d, 0x43, 0x72, 0x65, 0x64,
+ 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x1a, 0xea, 0x01, 0x0a, 0x1d, 0x4d, 0x65, 0x74, 0x61,
+ 0x64, 0x61, 0x74, 0x61, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x46,
+ 0x72, 0x6f, 0x6d, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
+ 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a,
+ 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70,
+ 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x5d, 0x9a, 0xc5, 0x88, 0x1e, 0x58, 0x0a,
+ 0x56, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f,
0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72,
- 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x42, 0x1b, 0x0a, 0x14, 0x63, 0x72, 0x65,
- 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65,
- 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0xc3, 0x02, 0x0a, 0x0b, 0x43, 0x68, 0x61, 0x6e, 0x6e,
- 0x65, 0x6c, 0x41, 0x72, 0x67, 0x73, 0x12, 0x56, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x01,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e,
- 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63,
- 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72,
- 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x72, 0x67, 0x73, 0x2e, 0x41,
- 0x72, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x1a, 0x63,
- 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e,
- 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
- 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09,
- 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48,
- 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x16, 0x0a, 0x0f, 0x76,
- 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03,
- 0xf8, 0x42, 0x01, 0x1a, 0x77, 0x0a, 0x09, 0x41, 0x72, 0x67, 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, 0x54, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72,
+ 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
+ 0x74, 0x61, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x46, 0x72, 0x6f,
+ 0x6d, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x06, 0x63, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xd7, 0x03, 0x0a, 0x0a, 0x53, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76,
+ 0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x1a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x65, 0x78, 0x63,
+ 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x72,
+ 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x45, 0x78,
+ 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x55, 0x72, 0x69,
+ 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08,
+ 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
+ 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70,
+ 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x30,
+ 0x0a, 0x14, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
+ 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x72, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65,
+ 0x12, 0x35, 0x0a, 0x12, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
+ 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42,
+ 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x10, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x6f,
+ 0x6b, 0x65, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, 0x35, 0x0a, 0x12, 0x73, 0x75, 0x62, 0x6a, 0x65,
+ 0x63, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x10, 0x73, 0x75,
+ 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28,
+ 0x0a, 0x10, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x70, 0x61,
+ 0x74, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x54,
+ 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x6f,
+ 0x72, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79,
+ 0x70, 0x65, 0x3a, 0x4a, 0x9a, 0xc5, 0x88, 0x1e, 0x45, 0x0a, 0x43, 0x65, 0x6e, 0x76, 0x6f, 0x79,
+ 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70,
+ 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47,
+ 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69,
+ 0x61, 0x6c, 0x73, 0x2e, 0x53, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x3a, 0x3f,
+ 0x9a, 0xc5, 0x88, 0x1e, 0x3a, 0x0a, 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69,
+ 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72,
0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e,
- 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x72, 0x67, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x75,
- 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x2f, 0x9a, 0xc5,
- 0x88, 0x1e, 0x2a, 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76,
- 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69,
- 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x3a, 0x24, 0x9a,
- 0xc5, 0x88, 0x1e, 0x1f, 0x0a, 0x1d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e,
- 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76,
- 0x69, 0x63, 0x65, 0x42, 0x17, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x70,
- 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x4a, 0x04, 0x08, 0x04,
- 0x10, 0x05, 0x42, 0x84, 0x01, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70,
- 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x10, 0x47, 0x72, 0x70, 0x63, 0x53,
- 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67,
- 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70,
- 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d,
- 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66,
- 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x72, 0x65, 0x76,
- 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x33,
+ 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x42,
+ 0x1b, 0x0a, 0x14, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x70,
+ 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0xc3, 0x02, 0x0a,
+ 0x0b, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x72, 0x67, 0x73, 0x12, 0x56, 0x0a, 0x04,
+ 0x61, 0x72, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x76,
+ 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76,
+ 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
+ 0x41, 0x72, 0x67, 0x73, 0x2e, 0x41, 0x72, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04,
+ 0x61, 0x72, 0x67, 0x73, 0x1a, 0x63, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a,
+ 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x42, 0x16, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69,
+ 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0x77, 0x0a, 0x09, 0x41, 0x72, 0x67,
+ 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, 0x54, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
+ 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47,
+ 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x72, 0x67,
+ 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
+ 0x38, 0x01, 0x3a, 0x2f, 0x9a, 0xc5, 0x88, 0x1e, 0x2a, 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79,
+ 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70,
+ 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47,
+ 0x72, 0x70, 0x63, 0x3a, 0x24, 0x9a, 0xc5, 0x88, 0x1e, 0x1f, 0x0a, 0x1d, 0x65, 0x6e, 0x76, 0x6f,
+ 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72,
+ 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x17, 0x0a, 0x10, 0x74, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8,
+ 0x42, 0x01, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x42, 0x84, 0x01, 0x0a, 0x22, 0x69, 0x6f, 0x2e,
+ 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
+ 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x42,
+ 0x10, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74,
+ 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
+ 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f,
+ 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f,
+ 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33,
+ 0x3b, 0x63, 0x6f, 0x72, 0x65, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -1493,41 +1509,43 @@ var file_envoy_config_core_v3_grpc_service_proto_goTypes = []interface{}{
nil, // 13: envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelArgs.ArgsEntry
(*duration.Duration)(nil), // 14: google.protobuf.Duration
(*HeaderValue)(nil), // 15: envoy.config.core.v3.HeaderValue
- (*_struct.Struct)(nil), // 16: google.protobuf.Struct
- (*wrappers.UInt32Value)(nil), // 17: google.protobuf.UInt32Value
- (*DataSource)(nil), // 18: envoy.config.core.v3.DataSource
- (*emptypb.Empty)(nil), // 19: google.protobuf.Empty
- (*any.Any)(nil), // 20: google.protobuf.Any
+ (*RetryPolicy)(nil), // 16: envoy.config.core.v3.RetryPolicy
+ (*_struct.Struct)(nil), // 17: google.protobuf.Struct
+ (*wrappers.UInt32Value)(nil), // 18: google.protobuf.UInt32Value
+ (*DataSource)(nil), // 19: envoy.config.core.v3.DataSource
+ (*emptypb.Empty)(nil), // 20: google.protobuf.Empty
+ (*any1.Any)(nil), // 21: google.protobuf.Any
}
var file_envoy_config_core_v3_grpc_service_proto_depIdxs = []int32{
1, // 0: envoy.config.core.v3.GrpcService.envoy_grpc:type_name -> envoy.config.core.v3.GrpcService.EnvoyGrpc
2, // 1: envoy.config.core.v3.GrpcService.google_grpc:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc
14, // 2: envoy.config.core.v3.GrpcService.timeout:type_name -> google.protobuf.Duration
15, // 3: envoy.config.core.v3.GrpcService.initial_metadata:type_name -> envoy.config.core.v3.HeaderValue
- 5, // 4: envoy.config.core.v3.GrpcService.GoogleGrpc.channel_credentials:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelCredentials
- 6, // 5: envoy.config.core.v3.GrpcService.GoogleGrpc.call_credentials:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials
- 16, // 6: envoy.config.core.v3.GrpcService.GoogleGrpc.config:type_name -> google.protobuf.Struct
- 17, // 7: envoy.config.core.v3.GrpcService.GoogleGrpc.per_stream_buffer_limit_bytes:type_name -> google.protobuf.UInt32Value
- 7, // 8: envoy.config.core.v3.GrpcService.GoogleGrpc.channel_args:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelArgs
- 18, // 9: envoy.config.core.v3.GrpcService.GoogleGrpc.SslCredentials.root_certs:type_name -> envoy.config.core.v3.DataSource
- 18, // 10: envoy.config.core.v3.GrpcService.GoogleGrpc.SslCredentials.private_key:type_name -> envoy.config.core.v3.DataSource
- 18, // 11: envoy.config.core.v3.GrpcService.GoogleGrpc.SslCredentials.cert_chain:type_name -> envoy.config.core.v3.DataSource
- 3, // 12: envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelCredentials.ssl_credentials:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.SslCredentials
- 19, // 13: envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelCredentials.google_default:type_name -> google.protobuf.Empty
- 4, // 14: envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelCredentials.local_credentials:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.GoogleLocalCredentials
- 19, // 15: envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.google_compute_engine:type_name -> google.protobuf.Empty
- 8, // 16: envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.service_account_jwt_access:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials
- 9, // 17: envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.google_iam:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials
- 10, // 18: envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.from_plugin:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin
- 11, // 19: envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.sts_service:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.StsService
- 13, // 20: envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelArgs.args:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelArgs.ArgsEntry
- 20, // 21: envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin.typed_config:type_name -> google.protobuf.Any
- 12, // 22: envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelArgs.ArgsEntry.value:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelArgs.Value
- 23, // [23:23] is the sub-list for method output_type
- 23, // [23:23] is the sub-list for method input_type
- 23, // [23:23] is the sub-list for extension type_name
- 23, // [23:23] is the sub-list for extension extendee
- 0, // [0:23] is the sub-list for field type_name
+ 16, // 4: envoy.config.core.v3.GrpcService.EnvoyGrpc.retry_policy:type_name -> envoy.config.core.v3.RetryPolicy
+ 5, // 5: envoy.config.core.v3.GrpcService.GoogleGrpc.channel_credentials:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelCredentials
+ 6, // 6: envoy.config.core.v3.GrpcService.GoogleGrpc.call_credentials:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials
+ 17, // 7: envoy.config.core.v3.GrpcService.GoogleGrpc.config:type_name -> google.protobuf.Struct
+ 18, // 8: envoy.config.core.v3.GrpcService.GoogleGrpc.per_stream_buffer_limit_bytes:type_name -> google.protobuf.UInt32Value
+ 7, // 9: envoy.config.core.v3.GrpcService.GoogleGrpc.channel_args:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelArgs
+ 19, // 10: envoy.config.core.v3.GrpcService.GoogleGrpc.SslCredentials.root_certs:type_name -> envoy.config.core.v3.DataSource
+ 19, // 11: envoy.config.core.v3.GrpcService.GoogleGrpc.SslCredentials.private_key:type_name -> envoy.config.core.v3.DataSource
+ 19, // 12: envoy.config.core.v3.GrpcService.GoogleGrpc.SslCredentials.cert_chain:type_name -> envoy.config.core.v3.DataSource
+ 3, // 13: envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelCredentials.ssl_credentials:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.SslCredentials
+ 20, // 14: envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelCredentials.google_default:type_name -> google.protobuf.Empty
+ 4, // 15: envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelCredentials.local_credentials:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.GoogleLocalCredentials
+ 20, // 16: envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.google_compute_engine:type_name -> google.protobuf.Empty
+ 8, // 17: envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.service_account_jwt_access:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials
+ 9, // 18: envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.google_iam:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials
+ 10, // 19: envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.from_plugin:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin
+ 11, // 20: envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.sts_service:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.StsService
+ 13, // 21: envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelArgs.args:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelArgs.ArgsEntry
+ 21, // 22: envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin.typed_config:type_name -> google.protobuf.Any
+ 12, // 23: envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelArgs.ArgsEntry.value:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelArgs.Value
+ 24, // [24:24] is the sub-list for method output_type
+ 24, // [24:24] is the sub-list for method input_type
+ 24, // [24:24] is the sub-list for extension type_name
+ 24, // [24:24] is the sub-list for extension extendee
+ 0, // [0:24] is the sub-list for field type_name
}
func init() { file_envoy_config_core_v3_grpc_service_proto_init() }
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/grpc_service.pb.validate.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/grpc_service.pb.validate.go
index 56d2507221..8fd2523759 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/grpc_service.pb.validate.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/grpc_service.pb.validate.go
@@ -120,9 +120,20 @@ func (m *GrpcService) validate(all bool) error {
}
- switch m.TargetSpecifier.(type) {
-
+ oneofTargetSpecifierPresent := false
+ switch v := m.TargetSpecifier.(type) {
case *GrpcService_EnvoyGrpc_:
+ if v == nil {
+ err := GrpcServiceValidationError{
+ field: "TargetSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofTargetSpecifierPresent = true
if all {
switch v := interface{}(m.GetEnvoyGrpc()).(type) {
@@ -154,6 +165,17 @@ func (m *GrpcService) validate(all bool) error {
}
case *GrpcService_GoogleGrpc_:
+ if v == nil {
+ err := GrpcServiceValidationError{
+ field: "TargetSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofTargetSpecifierPresent = true
if all {
switch v := interface{}(m.GetGoogleGrpc()).(type) {
@@ -185,6 +207,9 @@ func (m *GrpcService) validate(all bool) error {
}
default:
+ _ = v // ensures v is used
+ }
+ if !oneofTargetSpecifierPresent {
err := GrpcServiceValidationError{
field: "TargetSpecifier",
reason: "value is required",
@@ -193,7 +218,6 @@ func (m *GrpcService) validate(all bool) error {
return err
}
errors = append(errors, err)
-
}
if len(errors) > 0 {
@@ -339,6 +363,35 @@ func (m *GrpcService_EnvoyGrpc) validate(all bool) error {
errors = append(errors, err)
}
+ if all {
+ switch v := interface{}(m.GetRetryPolicy()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, GrpcService_EnvoyGrpcValidationError{
+ field: "RetryPolicy",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, GrpcService_EnvoyGrpcValidationError{
+ field: "RetryPolicy",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetRetryPolicy()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return GrpcService_EnvoyGrpcValidationError{
+ field: "RetryPolicy",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
if len(errors) > 0 {
return GrpcService_EnvoyGrpcMultiError(errors)
}
@@ -1022,9 +1075,20 @@ func (m *GrpcService_GoogleGrpc_ChannelCredentials) validate(all bool) error {
var errors []error
- switch m.CredentialSpecifier.(type) {
-
+ oneofCredentialSpecifierPresent := false
+ switch v := m.CredentialSpecifier.(type) {
case *GrpcService_GoogleGrpc_ChannelCredentials_SslCredentials:
+ if v == nil {
+ err := GrpcService_GoogleGrpc_ChannelCredentialsValidationError{
+ field: "CredentialSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofCredentialSpecifierPresent = true
if all {
switch v := interface{}(m.GetSslCredentials()).(type) {
@@ -1056,6 +1120,17 @@ func (m *GrpcService_GoogleGrpc_ChannelCredentials) validate(all bool) error {
}
case *GrpcService_GoogleGrpc_ChannelCredentials_GoogleDefault:
+ if v == nil {
+ err := GrpcService_GoogleGrpc_ChannelCredentialsValidationError{
+ field: "CredentialSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofCredentialSpecifierPresent = true
if all {
switch v := interface{}(m.GetGoogleDefault()).(type) {
@@ -1087,6 +1162,17 @@ func (m *GrpcService_GoogleGrpc_ChannelCredentials) validate(all bool) error {
}
case *GrpcService_GoogleGrpc_ChannelCredentials_LocalCredentials:
+ if v == nil {
+ err := GrpcService_GoogleGrpc_ChannelCredentialsValidationError{
+ field: "CredentialSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofCredentialSpecifierPresent = true
if all {
switch v := interface{}(m.GetLocalCredentials()).(type) {
@@ -1118,6 +1204,9 @@ func (m *GrpcService_GoogleGrpc_ChannelCredentials) validate(all bool) error {
}
default:
+ _ = v // ensures v is used
+ }
+ if !oneofCredentialSpecifierPresent {
err := GrpcService_GoogleGrpc_ChannelCredentialsValidationError{
field: "CredentialSpecifier",
reason: "value is required",
@@ -1126,7 +1215,6 @@ func (m *GrpcService_GoogleGrpc_ChannelCredentials) validate(all bool) error {
return err
}
errors = append(errors, err)
-
}
if len(errors) > 0 {
@@ -1235,12 +1323,33 @@ func (m *GrpcService_GoogleGrpc_CallCredentials) validate(all bool) error {
var errors []error
- switch m.CredentialSpecifier.(type) {
-
+ oneofCredentialSpecifierPresent := false
+ switch v := m.CredentialSpecifier.(type) {
case *GrpcService_GoogleGrpc_CallCredentials_AccessToken:
+ if v == nil {
+ err := GrpcService_GoogleGrpc_CallCredentialsValidationError{
+ field: "CredentialSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofCredentialSpecifierPresent = true
// no validation rules for AccessToken
-
case *GrpcService_GoogleGrpc_CallCredentials_GoogleComputeEngine:
+ if v == nil {
+ err := GrpcService_GoogleGrpc_CallCredentialsValidationError{
+ field: "CredentialSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofCredentialSpecifierPresent = true
if all {
switch v := interface{}(m.GetGoogleComputeEngine()).(type) {
@@ -1272,9 +1381,30 @@ func (m *GrpcService_GoogleGrpc_CallCredentials) validate(all bool) error {
}
case *GrpcService_GoogleGrpc_CallCredentials_GoogleRefreshToken:
+ if v == nil {
+ err := GrpcService_GoogleGrpc_CallCredentialsValidationError{
+ field: "CredentialSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofCredentialSpecifierPresent = true
// no validation rules for GoogleRefreshToken
-
case *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJwtAccess:
+ if v == nil {
+ err := GrpcService_GoogleGrpc_CallCredentialsValidationError{
+ field: "CredentialSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofCredentialSpecifierPresent = true
if all {
switch v := interface{}(m.GetServiceAccountJwtAccess()).(type) {
@@ -1306,6 +1436,17 @@ func (m *GrpcService_GoogleGrpc_CallCredentials) validate(all bool) error {
}
case *GrpcService_GoogleGrpc_CallCredentials_GoogleIam:
+ if v == nil {
+ err := GrpcService_GoogleGrpc_CallCredentialsValidationError{
+ field: "CredentialSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofCredentialSpecifierPresent = true
if all {
switch v := interface{}(m.GetGoogleIam()).(type) {
@@ -1337,6 +1478,17 @@ func (m *GrpcService_GoogleGrpc_CallCredentials) validate(all bool) error {
}
case *GrpcService_GoogleGrpc_CallCredentials_FromPlugin:
+ if v == nil {
+ err := GrpcService_GoogleGrpc_CallCredentialsValidationError{
+ field: "CredentialSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofCredentialSpecifierPresent = true
if all {
switch v := interface{}(m.GetFromPlugin()).(type) {
@@ -1368,6 +1520,17 @@ func (m *GrpcService_GoogleGrpc_CallCredentials) validate(all bool) error {
}
case *GrpcService_GoogleGrpc_CallCredentials_StsService_:
+ if v == nil {
+ err := GrpcService_GoogleGrpc_CallCredentialsValidationError{
+ field: "CredentialSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofCredentialSpecifierPresent = true
if all {
switch v := interface{}(m.GetStsService()).(type) {
@@ -1399,6 +1562,9 @@ func (m *GrpcService_GoogleGrpc_CallCredentials) validate(all bool) error {
}
default:
+ _ = v // ensures v is used
+ }
+ if !oneofCredentialSpecifierPresent {
err := GrpcService_GoogleGrpc_CallCredentialsValidationError{
field: "CredentialSpecifier",
reason: "value is required",
@@ -1407,7 +1573,6 @@ func (m *GrpcService_GoogleGrpc_CallCredentials) validate(all bool) error {
return err
}
errors = append(errors, err)
-
}
if len(errors) > 0 {
@@ -1916,9 +2081,18 @@ func (m *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) v
// no validation rules for Name
- switch m.ConfigType.(type) {
-
+ switch v := m.ConfigType.(type) {
case *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_TypedConfig:
+ if v == nil {
+ err := GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError{
+ field: "ConfigType",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
if all {
switch v := interface{}(m.GetTypedConfig()).(type) {
@@ -1949,6 +2123,8 @@ func (m *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) v
}
}
+ default:
+ _ = v // ensures v is used
}
if len(errors) > 0 {
@@ -2217,15 +2393,38 @@ func (m *GrpcService_GoogleGrpc_ChannelArgs_Value) validate(all bool) error {
var errors []error
- switch m.ValueSpecifier.(type) {
-
+ oneofValueSpecifierPresent := false
+ switch v := m.ValueSpecifier.(type) {
case *GrpcService_GoogleGrpc_ChannelArgs_Value_StringValue:
+ if v == nil {
+ err := GrpcService_GoogleGrpc_ChannelArgs_ValueValidationError{
+ field: "ValueSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofValueSpecifierPresent = true
// no validation rules for StringValue
-
case *GrpcService_GoogleGrpc_ChannelArgs_Value_IntValue:
+ if v == nil {
+ err := GrpcService_GoogleGrpc_ChannelArgs_ValueValidationError{
+ field: "ValueSpecifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofValueSpecifierPresent = true
// no validation rules for IntValue
-
default:
+ _ = v // ensures v is used
+ }
+ if !oneofValueSpecifierPresent {
err := GrpcService_GoogleGrpc_ChannelArgs_ValueValidationError{
field: "ValueSpecifier",
reason: "value is required",
@@ -2234,7 +2433,6 @@ func (m *GrpcService_GoogleGrpc_ChannelArgs_Value) validate(all bool) error {
return err
}
errors = append(errors, err)
-
}
if len(errors) > 0 {
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/health_check.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/health_check.pb.go
index be63a5a26b..8578ce93fe 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/health_check.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/health_check.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/config/core/v3/health_check.proto
package corev3
@@ -11,7 +11,7 @@ import (
v31 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3"
v3 "github.com/envoyproxy/go-control-plane/envoy/type/v3"
_ "github.com/envoyproxy/protoc-gen-validate/validate"
- any "github.com/golang/protobuf/ptypes/any"
+ any1 "github.com/golang/protobuf/ptypes/any"
duration "github.com/golang/protobuf/ptypes/duration"
_struct "github.com/golang/protobuf/ptypes/struct"
wrappers "github.com/golang/protobuf/ptypes/wrappers"
@@ -32,7 +32,7 @@ const (
type HealthStatus int32
const (
- // The health status is not known. This is interpreted by Envoy as *HEALTHY*.
+ // The health status is not known. This is interpreted by Envoy as ``HEALTHY``.
HealthStatus_UNKNOWN HealthStatus = 0
// Healthy.
HealthStatus_HEALTHY HealthStatus = 1
@@ -42,10 +42,10 @@ const (
// ``_
// or
// ``_.
- // This is interpreted by Envoy as *UNHEALTHY*.
+ // This is interpreted by Envoy as ``UNHEALTHY``.
HealthStatus_DRAINING HealthStatus = 3
// Health check timed out. This is part of HDS and is interpreted by Envoy as
- // *UNHEALTHY*.
+ // ``UNHEALTHY``.
HealthStatus_TIMEOUT HealthStatus = 4
// Degraded.
HealthStatus_DEGRADED HealthStatus = 5
@@ -165,14 +165,14 @@ type HealthCheck struct {
// interval Envoy will add interval_jitter to the wait time.
IntervalJitter *duration.Duration `protobuf:"bytes,3,opt,name=interval_jitter,json=intervalJitter,proto3" json:"interval_jitter,omitempty"`
// An optional jitter amount as a percentage of interval_ms. If specified,
- // during every interval Envoy will add interval_ms *
- // interval_jitter_percent / 100 to the wait time.
+ // during every interval Envoy will add ``interval_ms`` *
+ // ``interval_jitter_percent`` / 100 to the wait time.
//
// If interval_jitter_ms and interval_jitter_percent are both set, both of
// them will be used to increase the wait time.
IntervalJitterPercent uint32 `protobuf:"varint,18,opt,name=interval_jitter_percent,json=intervalJitterPercent,proto3" json:"interval_jitter_percent,omitempty"`
// The number of unhealthy health checks required before a host is marked
- // unhealthy. Note that for *http* health checking if a host responds with a code not in
+ // unhealthy. Note that for ``http`` health checking if a host responds with a code not in
// :ref:`expected_statuses `
// or :ref:`retriable_statuses `,
// this threshold is ignored and the host is considered immediately unhealthy.
@@ -205,7 +205,7 @@ type HealthCheck struct {
// (including new hosts) when the cluster has received no traffic.
//
// This is useful for when we want to send frequent health checks with
- // `no_traffic_interval` but then revert to lower frequency `no_traffic_healthy_interval` once
+ // ``no_traffic_interval`` but then revert to lower frequency ``no_traffic_healthy_interval`` once
// a host in the cluster is marked as healthy.
//
// Once a cluster has been used for traffic routing, Envoy will shift back to using the
@@ -267,7 +267,7 @@ type HealthCheck struct {
// name: envoy.transport_sockets.tls
// config: { ... } # tls socket configuration
//
- // If this field is set, then for health checks it will supersede an entry of *envoy.transport_socket* in the
+ // If this field is set, then for health checks it will supersede an entry of ``envoy.transport_socket`` in the
// :ref:`LbEndpoint.Metadata `.
// This allows using different transport socket capabilities for health checking versus proxying to the
// endpoint.
@@ -586,7 +586,7 @@ type HealthCheck_Payload_Text struct {
}
type HealthCheck_Payload_Binary struct {
- // [#not-implemented-hide:] Binary payload.
+ // Binary payload.
Binary []byte `protobuf:"bytes,2,opt,name=binary,proto3,oneof"`
}
@@ -594,7 +594,7 @@ func (*HealthCheck_Payload_Text) isHealthCheck_Payload_Payload() {}
func (*HealthCheck_Payload_Binary) isHealthCheck_Payload_Payload() {}
-// [#next-free-field: 13]
+// [#next-free-field: 15]
type HealthCheck_HttpHealthCheck struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -606,12 +606,23 @@ type HealthCheck_HttpHealthCheck struct {
// :ref:`hostname ` field.
Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
// Specifies the HTTP path that will be requested during health checking. For example
- // */healthcheck*.
+ // ``/healthcheck``.
Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
// [#not-implemented-hide:] HTTP specific payload.
Send *HealthCheck_Payload `protobuf:"bytes,3,opt,name=send,proto3" json:"send,omitempty"`
- // [#not-implemented-hide:] HTTP specific response.
- Receive *HealthCheck_Payload `protobuf:"bytes,4,opt,name=receive,proto3" json:"receive,omitempty"`
+ // Specifies a list of HTTP expected responses to match in the first ``response_buffer_size`` bytes of the response body.
+ // If it is set, both the expected response check and status code determine the health check.
+ // When checking the response, “fuzzy” matching is performed such that each payload block must be found,
+ // and in the order specified, but not necessarily contiguous.
+ //
+ // .. note::
+ //
+ // It is recommended to set ``response_buffer_size`` based on the total Payload size for efficiency.
+ // The default buffer size is 1024 bytes when it is not set.
+ Receive []*HealthCheck_Payload `protobuf:"bytes,4,rep,name=receive,proto3" json:"receive,omitempty"`
+ // Specifies the size of response buffer in bytes that is used to Payload match.
+ // The default value is 1024. Setting to 0 implies that the Payload will be matched against the entire response.
+ ResponseBufferSize *wrappers.UInt64Value `protobuf:"bytes,14,opt,name=response_buffer_size,json=responseBufferSize,proto3" json:"response_buffer_size,omitempty"`
// Specifies a list of HTTP headers that should be added to each request that is sent to the
// health checked cluster. For more information, including details on header value syntax, see
// the documentation on :ref:`custom request headers
@@ -643,6 +654,11 @@ type HealthCheck_HttpHealthCheck struct {
// `. See the :ref:`architecture overview
// ` for more information.
ServiceNameMatcher *v31.StringMatcher `protobuf:"bytes,11,opt,name=service_name_matcher,json=serviceNameMatcher,proto3" json:"service_name_matcher,omitempty"`
+ // HTTP Method that will be used for health checking, default is "GET".
+ // GET, HEAD, POST, PUT, DELETE, OPTIONS, TRACE, PATCH methods are supported, but making request body is not supported.
+ // CONNECT method is disallowed because it is not appropriate for health check request.
+ // If a non-200 response is expected by the method, it needs to be set in :ref:`expected_statuses `.
+ Method RequestMethod `protobuf:"varint,13,opt,name=method,proto3,enum=envoy.config.core.v3.RequestMethod" json:"method,omitempty"`
}
func (x *HealthCheck_HttpHealthCheck) Reset() {
@@ -698,13 +714,20 @@ func (x *HealthCheck_HttpHealthCheck) GetSend() *HealthCheck_Payload {
return nil
}
-func (x *HealthCheck_HttpHealthCheck) GetReceive() *HealthCheck_Payload {
+func (x *HealthCheck_HttpHealthCheck) GetReceive() []*HealthCheck_Payload {
if x != nil {
return x.Receive
}
return nil
}
+func (x *HealthCheck_HttpHealthCheck) GetResponseBufferSize() *wrappers.UInt64Value {
+ if x != nil {
+ return x.ResponseBufferSize
+ }
+ return nil
+}
+
func (x *HealthCheck_HttpHealthCheck) GetRequestHeadersToAdd() []*HeaderValueOption {
if x != nil {
return x.RequestHeadersToAdd
@@ -747,6 +770,13 @@ func (x *HealthCheck_HttpHealthCheck) GetServiceNameMatcher() *v31.StringMatcher
return nil
}
+func (x *HealthCheck_HttpHealthCheck) GetMethod() RequestMethod {
+ if x != nil {
+ return x.Method
+ }
+ return RequestMethod_METHOD_UNSPECIFIED
+}
+
type HealthCheck_TcpHealthCheck struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -755,7 +785,7 @@ type HealthCheck_TcpHealthCheck struct {
// Empty payloads imply a connect-only health check.
Send *HealthCheck_Payload `protobuf:"bytes,1,opt,name=send,proto3" json:"send,omitempty"`
// When checking the response, “fuzzy” matching is performed such that each
- // binary block must be found, and in the order specified, but not
+ // payload block must be found, and in the order specified, but not
// necessarily contiguous.
Receive []*HealthCheck_Payload `protobuf:"bytes,2,rep,name=receive,proto3" json:"receive,omitempty"`
}
@@ -1000,7 +1030,7 @@ func (m *HealthCheck_CustomHealthCheck) GetConfigType() isHealthCheck_CustomHeal
return nil
}
-func (x *HealthCheck_CustomHealthCheck) GetTypedConfig() *any.Any {
+func (x *HealthCheck_CustomHealthCheck) GetTypedConfig() *any1.Any {
if x, ok := x.GetConfigType().(*HealthCheck_CustomHealthCheck_TypedConfig); ok {
return x.TypedConfig
}
@@ -1012,7 +1042,7 @@ type isHealthCheck_CustomHealthCheck_ConfigType interface {
}
type HealthCheck_CustomHealthCheck_TypedConfig struct {
- TypedConfig *any.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"`
+ TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"`
}
func (*HealthCheck_CustomHealthCheck_TypedConfig) isHealthCheck_CustomHealthCheck_ConfigType() {}
@@ -1109,7 +1139,7 @@ var file_envoy_config_core_v3_health_check_proto_rawDesc = []byte{
0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74,
0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x92, 0x01, 0x07, 0x22,
0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73,
- 0x22, 0xef, 0x1c, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b,
+ 0x22, 0x91, 0x1e, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b,
0x12, 0x3f, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 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, 0x0a, 0xfa, 0x42,
@@ -1232,7 +1262,7 @@ var file_envoy_config_core_v3_health_check_proto_rawDesc = []byte{
0x1e, 0x27, 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32,
0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63,
0x6b, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x0e, 0x0a, 0x07, 0x70, 0x61, 0x79,
- 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0xaa, 0x06, 0x0a, 0x0f, 0x48, 0x74,
+ 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0xcc, 0x07, 0x0a, 0x0f, 0x48, 0x74,
0x74, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1f, 0x0a,
0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08,
0x72, 0x06, 0xc0, 0x01, 0x02, 0xc8, 0x01, 0x00, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x21,
@@ -1242,120 +1272,130 @@ var file_envoy_config_core_v3_health_check_proto_rawDesc = []byte{
0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63,
0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65,
0x63, 0x6b, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x04, 0x73, 0x65, 0x6e, 0x64,
- 0x12, 0x43, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x12, 0x43, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43,
0x68, 0x65, 0x63, 0x6b, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x72, 0x65,
- 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x67, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18,
- 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61,
- 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09,
- 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10, 0xe8, 0x07, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x4b,
- 0x0a, 0x19, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72,
- 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28,
- 0x09, 0x42, 0x10, 0xfa, 0x42, 0x0d, 0x92, 0x01, 0x0a, 0x22, 0x08, 0x72, 0x06, 0xc0, 0x01, 0x01,
- 0xc8, 0x01, 0x00, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64,
- 0x65, 0x72, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x46, 0x0a, 0x11, 0x65,
- 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73,
- 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74,
- 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x61, 0x6e, 0x67,
- 0x65, 0x52, 0x10, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75,
- 0x73, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x12, 0x72, 0x65, 0x74, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65,
- 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x57, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0e, 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, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x28, 0x00, 0x52, 0x12, 0x72, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x67,
+ 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72,
+ 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27,
+ 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f,
+ 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10,
+ 0xe8, 0x07, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65,
+ 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x4b, 0x0a, 0x19, 0x72, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65,
+ 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x42, 0x10, 0xfa, 0x42, 0x0d, 0x92,
+ 0x01, 0x0a, 0x22, 0x08, 0x72, 0x06, 0xc0, 0x01, 0x01, 0xc8, 0x01, 0x00, 0x52, 0x16, 0x72, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x52, 0x65,
+ 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x46, 0x0a, 0x11, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64,
+ 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x19, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e,
- 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x11, 0x72, 0x65, 0x74, 0x72,
- 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x54, 0x0a,
- 0x11, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79,
- 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x43, 0x6c,
- 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02,
- 0x10, 0x01, 0x52, 0x0f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54,
- 0x79, 0x70, 0x65, 0x12, 0x56, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e,
- 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d,
- 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
- 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
- 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x3a, 0x34, 0x9a, 0xc5, 0x88,
- 0x1e, 0x2f, 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32,
- 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63,
- 0x6b, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63,
- 0x6b, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, 0x52, 0x0c, 0x73,
- 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x75, 0x73, 0x65,
- 0x5f, 0x68, 0x74, 0x74, 0x70, 0x32, 0x1a, 0xc9, 0x01, 0x0a, 0x0e, 0x54, 0x63, 0x70, 0x48, 0x65,
- 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x3d, 0x0a, 0x04, 0x73, 0x65, 0x6e,
- 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
- 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48,
- 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f,
- 0x61, 0x64, 0x52, 0x04, 0x73, 0x65, 0x6e, 0x64, 0x12, 0x43, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x65,
- 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
+ 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x10, 0x65, 0x78, 0x70, 0x65,
+ 0x63, 0x74, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x12,
+ 0x72, 0x65, 0x74, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
+ 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x61,
+ 0x6e, 0x67, 0x65, 0x52, 0x11, 0x72, 0x65, 0x74, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74,
+ 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x54, 0x0a, 0x11, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x5f,
+ 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28,
+ 0x0e, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76,
+ 0x33, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70,
+ 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x63, 0x6f, 0x64,
+ 0x65, 0x63, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x56, 0x0a, 0x14,
+ 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x74,
+ 0x63, 0x68, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76,
+ 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e,
+ 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72,
+ 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74,
+ 0x63, 0x68, 0x65, 0x72, 0x12, 0x47, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x0d,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x82, 0x01,
+ 0x04, 0x10, 0x01, 0x20, 0x06, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3a, 0x34, 0x9a,
+ 0xc5, 0x88, 0x1e, 0x2f, 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e,
+ 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68,
+ 0x65, 0x63, 0x6b, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68,
+ 0x65, 0x63, 0x6b, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, 0x52,
+ 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x75,
+ 0x73, 0x65, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x32, 0x1a, 0xc9, 0x01, 0x0a, 0x0e, 0x54, 0x63, 0x70,
+ 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x3d, 0x0a, 0x04, 0x73,
+ 0x65, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33,
0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x50, 0x61, 0x79,
- 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x3a, 0x33, 0x9a,
- 0xc5, 0x88, 0x1e, 0x2e, 0x0a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e,
- 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68,
- 0x65, 0x63, 0x6b, 0x2e, 0x54, 0x63, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65,
- 0x63, 0x6b, 0x1a, 0x5b, 0x0a, 0x10, 0x52, 0x65, 0x64, 0x69, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74,
- 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x3a, 0x35, 0x9a, 0xc5, 0x88, 0x1e, 0x30, 0x0a,
- 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f,
- 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x52,
- 0x65, 0x64, 0x69, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x1a,
- 0xf4, 0x01, 0x0a, 0x0f, 0x47, 0x72, 0x70, 0x63, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68,
- 0x65, 0x63, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e,
- 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69,
- 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72,
- 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06,
- 0xc0, 0x01, 0x02, 0xc8, 0x01, 0x00, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74,
- 0x79, 0x12, 0x5d, 0x0a, 0x10, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x74,
- 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e,
+ 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x04, 0x73, 0x65, 0x6e, 0x64, 0x12, 0x43, 0x0a, 0x07, 0x72, 0x65,
+ 0x63, 0x65, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e,
0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
- 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70,
- 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10, 0xe8, 0x07, 0x52,
- 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
- 0x3a, 0x34, 0x9a, 0xc5, 0x88, 0x1e, 0x2f, 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61,
- 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74,
- 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x48, 0x65, 0x61, 0x6c, 0x74,
- 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x1a, 0xc0, 0x01, 0x0a, 0x11, 0x43, 0x75, 0x73, 0x74, 0x6f,
- 0x6d, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1b, 0x0a, 0x04,
- 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72,
- 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70,
- 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
- 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x36, 0x9a, 0xc5, 0x88, 0x1e, 0x31, 0x0a, 0x2f, 0x65, 0x6e, 0x76,
- 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48,
- 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f,
- 0x6d, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x0d, 0x0a, 0x0b,
- 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10,
- 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x64, 0x0a, 0x0a, 0x54, 0x6c, 0x73,
- 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6c, 0x70, 0x6e, 0x5f,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52,
- 0x0d, 0x61, 0x6c, 0x70, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x3a, 0x2f,
- 0x9a, 0xc5, 0x88, 0x1e, 0x2a, 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69,
- 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43,
- 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x54, 0x6c, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a,
- 0x24, 0x9a, 0xc5, 0x88, 0x1e, 0x1f, 0x0a, 0x1d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70,
+ 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x50,
+ 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x3a,
+ 0x33, 0x9a, 0xc5, 0x88, 0x1e, 0x2e, 0x0a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70,
0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68,
- 0x43, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x15, 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f,
- 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x4a, 0x04, 0x08, 0x0a,
- 0x10, 0x0b, 0x2a, 0x60, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74,
- 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12,
- 0x0b, 0x0a, 0x07, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09,
- 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x44,
- 0x52, 0x41, 0x49, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x49, 0x4d,
- 0x45, 0x4f, 0x55, 0x54, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x47, 0x52, 0x41, 0x44,
- 0x45, 0x44, 0x10, 0x05, 0x42, 0x84, 0x01, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
- 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e,
- 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x10, 0x48, 0x65, 0x61,
- 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
- 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f,
- 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
- 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x72,
- 0x65, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x33,
+ 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x54, 0x63, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43,
+ 0x68, 0x65, 0x63, 0x6b, 0x1a, 0x5b, 0x0a, 0x10, 0x52, 0x65, 0x64, 0x69, 0x73, 0x48, 0x65, 0x61,
+ 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x3a, 0x35, 0x9a, 0xc5, 0x88, 0x1e,
+ 0x30, 0x0a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e,
+ 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b,
+ 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63,
+ 0x6b, 0x1a, 0xf4, 0x01, 0x0a, 0x0f, 0x47, 0x72, 0x70, 0x63, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68,
+ 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
+ 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72,
+ 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68,
+ 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08,
+ 0x72, 0x06, 0xc0, 0x01, 0x02, 0xc8, 0x01, 0x00, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72,
+ 0x69, 0x74, 0x79, 0x12, 0x5d, 0x0a, 0x10, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6d,
+ 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e,
+ 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72,
+ 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65,
+ 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10, 0xe8,
+ 0x07, 0x52, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
+ 0x74, 0x61, 0x3a, 0x34, 0x9a, 0xc5, 0x88, 0x1e, 0x2f, 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79,
+ 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61,
+ 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x48, 0x65, 0x61,
+ 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x1a, 0xc0, 0x01, 0x0a, 0x11, 0x43, 0x75, 0x73,
+ 0x74, 0x6f, 0x6d, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1b,
+ 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42,
+ 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x74,
+ 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64,
+ 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x36, 0x9a, 0xc5, 0x88, 0x1e, 0x31, 0x0a, 0x2f, 0x65,
+ 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65,
+ 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x43, 0x75, 0x73,
+ 0x74, 0x6f, 0x6d, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x0d,
+ 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08,
+ 0x02, 0x10, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x64, 0x0a, 0x0a, 0x54,
+ 0x6c, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6c, 0x70,
+ 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
+ 0x09, 0x52, 0x0d, 0x61, 0x6c, 0x70, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73,
+ 0x3a, 0x2f, 0x9a, 0xc5, 0x88, 0x1e, 0x2a, 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61,
+ 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74,
+ 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x54, 0x6c, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x3a, 0x24, 0x9a, 0xc5, 0x88, 0x1e, 0x1f, 0x0a, 0x1d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
+ 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c,
+ 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x15, 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x6c, 0x74,
+ 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x4a, 0x04,
+ 0x08, 0x0a, 0x10, 0x0b, 0x2a, 0x60, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74,
+ 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10,
+ 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0x01, 0x12, 0x0d,
+ 0x0a, 0x09, 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a,
+ 0x08, 0x44, 0x52, 0x41, 0x49, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x54,
+ 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x47, 0x52,
+ 0x41, 0x44, 0x45, 0x44, 0x10, 0x05, 0x42, 0x84, 0x01, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e,
+ 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x10, 0x48,
+ 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50,
+ 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e,
+ 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74,
+ 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f,
+ 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63,
+ 0x6f, 0x72, 0x65, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -1388,11 +1428,13 @@ var file_envoy_config_core_v3_health_check_proto_goTypes = []interface{}{
(*wrappers.BoolValue)(nil), // 12: google.protobuf.BoolValue
(*EventServiceConfig)(nil), // 13: envoy.config.core.v3.EventServiceConfig
(*_struct.Struct)(nil), // 14: google.protobuf.Struct
- (*HeaderValueOption)(nil), // 15: envoy.config.core.v3.HeaderValueOption
- (*v3.Int64Range)(nil), // 16: envoy.type.v3.Int64Range
- (v3.CodecClientType)(0), // 17: envoy.type.v3.CodecClientType
- (*v31.StringMatcher)(nil), // 18: envoy.type.matcher.v3.StringMatcher
- (*any.Any)(nil), // 19: google.protobuf.Any
+ (*wrappers.UInt64Value)(nil), // 15: google.protobuf.UInt64Value
+ (*HeaderValueOption)(nil), // 16: envoy.config.core.v3.HeaderValueOption
+ (*v3.Int64Range)(nil), // 17: envoy.type.v3.Int64Range
+ (v3.CodecClientType)(0), // 18: envoy.type.v3.CodecClientType
+ (*v31.StringMatcher)(nil), // 19: envoy.type.matcher.v3.StringMatcher
+ (RequestMethod)(0), // 20: envoy.config.core.v3.RequestMethod
+ (*any1.Any)(nil), // 21: google.protobuf.Any
}
var file_envoy_config_core_v3_health_check_proto_depIdxs = []int32{
0, // 0: envoy.config.core.v3.HealthStatusSet.statuses:type_name -> envoy.config.core.v3.HealthStatus
@@ -1418,20 +1460,22 @@ var file_envoy_config_core_v3_health_check_proto_depIdxs = []int32{
14, // 20: envoy.config.core.v3.HealthCheck.transport_socket_match_criteria:type_name -> google.protobuf.Struct
3, // 21: envoy.config.core.v3.HealthCheck.HttpHealthCheck.send:type_name -> envoy.config.core.v3.HealthCheck.Payload
3, // 22: envoy.config.core.v3.HealthCheck.HttpHealthCheck.receive:type_name -> envoy.config.core.v3.HealthCheck.Payload
- 15, // 23: envoy.config.core.v3.HealthCheck.HttpHealthCheck.request_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption
- 16, // 24: envoy.config.core.v3.HealthCheck.HttpHealthCheck.expected_statuses:type_name -> envoy.type.v3.Int64Range
- 16, // 25: envoy.config.core.v3.HealthCheck.HttpHealthCheck.retriable_statuses:type_name -> envoy.type.v3.Int64Range
- 17, // 26: envoy.config.core.v3.HealthCheck.HttpHealthCheck.codec_client_type:type_name -> envoy.type.v3.CodecClientType
- 18, // 27: envoy.config.core.v3.HealthCheck.HttpHealthCheck.service_name_matcher:type_name -> envoy.type.matcher.v3.StringMatcher
- 3, // 28: envoy.config.core.v3.HealthCheck.TcpHealthCheck.send:type_name -> envoy.config.core.v3.HealthCheck.Payload
- 3, // 29: envoy.config.core.v3.HealthCheck.TcpHealthCheck.receive:type_name -> envoy.config.core.v3.HealthCheck.Payload
- 15, // 30: envoy.config.core.v3.HealthCheck.GrpcHealthCheck.initial_metadata:type_name -> envoy.config.core.v3.HeaderValueOption
- 19, // 31: envoy.config.core.v3.HealthCheck.CustomHealthCheck.typed_config:type_name -> google.protobuf.Any
- 32, // [32:32] is the sub-list for method output_type
- 32, // [32:32] is the sub-list for method input_type
- 32, // [32:32] is the sub-list for extension type_name
- 32, // [32:32] is the sub-list for extension extendee
- 0, // [0:32] is the sub-list for field type_name
+ 15, // 23: envoy.config.core.v3.HealthCheck.HttpHealthCheck.response_buffer_size:type_name -> google.protobuf.UInt64Value
+ 16, // 24: envoy.config.core.v3.HealthCheck.HttpHealthCheck.request_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption
+ 17, // 25: envoy.config.core.v3.HealthCheck.HttpHealthCheck.expected_statuses:type_name -> envoy.type.v3.Int64Range
+ 17, // 26: envoy.config.core.v3.HealthCheck.HttpHealthCheck.retriable_statuses:type_name -> envoy.type.v3.Int64Range
+ 18, // 27: envoy.config.core.v3.HealthCheck.HttpHealthCheck.codec_client_type:type_name -> envoy.type.v3.CodecClientType
+ 19, // 28: envoy.config.core.v3.HealthCheck.HttpHealthCheck.service_name_matcher:type_name -> envoy.type.matcher.v3.StringMatcher
+ 20, // 29: envoy.config.core.v3.HealthCheck.HttpHealthCheck.method:type_name -> envoy.config.core.v3.RequestMethod
+ 3, // 30: envoy.config.core.v3.HealthCheck.TcpHealthCheck.send:type_name -> envoy.config.core.v3.HealthCheck.Payload
+ 3, // 31: envoy.config.core.v3.HealthCheck.TcpHealthCheck.receive:type_name -> envoy.config.core.v3.HealthCheck.Payload
+ 16, // 32: envoy.config.core.v3.HealthCheck.GrpcHealthCheck.initial_metadata:type_name -> envoy.config.core.v3.HeaderValueOption
+ 21, // 33: envoy.config.core.v3.HealthCheck.CustomHealthCheck.typed_config:type_name -> google.protobuf.Any
+ 34, // [34:34] is the sub-list for method output_type
+ 34, // [34:34] is the sub-list for method input_type
+ 34, // [34:34] is the sub-list for extension type_name
+ 34, // [34:34] is the sub-list for extension extendee
+ 0, // [0:34] is the sub-list for field type_name
}
func init() { file_envoy_config_core_v3_health_check_proto_init() }
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/health_check.pb.validate.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/health_check.pb.validate.go
index 937a738577..5abf42ff31 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/health_check.pb.validate.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/health_check.pb.validate.go
@@ -698,9 +698,20 @@ func (m *HealthCheck) validate(all bool) error {
}
}
- switch m.HealthChecker.(type) {
-
+ oneofHealthCheckerPresent := false
+ switch v := m.HealthChecker.(type) {
case *HealthCheck_HttpHealthCheck_:
+ if v == nil {
+ err := HealthCheckValidationError{
+ field: "HealthChecker",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofHealthCheckerPresent = true
if all {
switch v := interface{}(m.GetHttpHealthCheck()).(type) {
@@ -732,6 +743,17 @@ func (m *HealthCheck) validate(all bool) error {
}
case *HealthCheck_TcpHealthCheck_:
+ if v == nil {
+ err := HealthCheckValidationError{
+ field: "HealthChecker",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofHealthCheckerPresent = true
if all {
switch v := interface{}(m.GetTcpHealthCheck()).(type) {
@@ -763,6 +785,17 @@ func (m *HealthCheck) validate(all bool) error {
}
case *HealthCheck_GrpcHealthCheck_:
+ if v == nil {
+ err := HealthCheckValidationError{
+ field: "HealthChecker",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofHealthCheckerPresent = true
if all {
switch v := interface{}(m.GetGrpcHealthCheck()).(type) {
@@ -794,6 +827,17 @@ func (m *HealthCheck) validate(all bool) error {
}
case *HealthCheck_CustomHealthCheck_:
+ if v == nil {
+ err := HealthCheckValidationError{
+ field: "HealthChecker",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofHealthCheckerPresent = true
if all {
switch v := interface{}(m.GetCustomHealthCheck()).(type) {
@@ -825,6 +869,9 @@ func (m *HealthCheck) validate(all bool) error {
}
default:
+ _ = v // ensures v is used
+ }
+ if !oneofHealthCheckerPresent {
err := HealthCheckValidationError{
field: "HealthChecker",
reason: "value is required",
@@ -833,7 +880,6 @@ func (m *HealthCheck) validate(all bool) error {
return err
}
errors = append(errors, err)
-
}
if len(errors) > 0 {
@@ -935,9 +981,20 @@ func (m *HealthCheck_Payload) validate(all bool) error {
var errors []error
- switch m.Payload.(type) {
-
+ oneofPayloadPresent := false
+ switch v := m.Payload.(type) {
case *HealthCheck_Payload_Text:
+ if v == nil {
+ err := HealthCheck_PayloadValidationError{
+ field: "Payload",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofPayloadPresent = true
if utf8.RuneCountInString(m.GetText()) < 1 {
err := HealthCheck_PayloadValidationError{
@@ -951,9 +1008,22 @@ func (m *HealthCheck_Payload) validate(all bool) error {
}
case *HealthCheck_Payload_Binary:
+ if v == nil {
+ err := HealthCheck_PayloadValidationError{
+ field: "Payload",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofPayloadPresent = true
// no validation rules for Binary
-
default:
+ _ = v // ensures v is used
+ }
+ if !oneofPayloadPresent {
err := HealthCheck_PayloadValidationError{
field: "Payload",
reason: "value is required",
@@ -962,7 +1032,6 @@ func (m *HealthCheck_Payload) validate(all bool) error {
return err
}
errors = append(errors, err)
-
}
if len(errors) > 0 {
@@ -1129,33 +1198,53 @@ func (m *HealthCheck_HttpHealthCheck) validate(all bool) error {
}
}
- if all {
- switch v := interface{}(m.GetReceive()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, HealthCheck_HttpHealthCheckValidationError{
- field: "Receive",
- reason: "embedded message failed validation",
- cause: err,
- })
+ for idx, item := range m.GetReceive() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, HealthCheck_HttpHealthCheckValidationError{
+ field: fmt.Sprintf("Receive[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, HealthCheck_HttpHealthCheckValidationError{
+ field: fmt.Sprintf("Receive[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
}
- case interface{ Validate() error }:
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
- errors = append(errors, HealthCheck_HttpHealthCheckValidationError{
- field: "Receive",
+ return HealthCheck_HttpHealthCheckValidationError{
+ field: fmt.Sprintf("Receive[%v]", idx),
reason: "embedded message failed validation",
cause: err,
- })
+ }
}
}
- } else if v, ok := interface{}(m.GetReceive()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return HealthCheck_HttpHealthCheckValidationError{
- field: "Receive",
- reason: "embedded message failed validation",
- cause: err,
+
+ }
+
+ if wrapper := m.GetResponseBufferSize(); wrapper != nil {
+
+ if wrapper.GetValue() < 0 {
+ err := HealthCheck_HttpHealthCheckValidationError{
+ field: "ResponseBufferSize",
+ reason: "value must be greater than or equal to 0",
+ }
+ if !all {
+ return err
}
+ errors = append(errors, err)
}
+
}
if len(m.GetRequestHeadersToAdd()) > 1000 {
@@ -1327,6 +1416,28 @@ func (m *HealthCheck_HttpHealthCheck) validate(all bool) error {
}
}
+ if _, ok := _HealthCheck_HttpHealthCheck_Method_NotInLookup[m.GetMethod()]; ok {
+ err := HealthCheck_HttpHealthCheckValidationError{
+ field: "Method",
+ reason: "value must not be in list [CONNECT]",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
+ if _, ok := RequestMethod_name[int32(m.GetMethod())]; !ok {
+ err := HealthCheck_HttpHealthCheckValidationError{
+ field: "Method",
+ reason: "value must be one of the defined enum values",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
if len(errors) > 0 {
return HealthCheck_HttpHealthCheckMultiError(errors)
}
@@ -1414,6 +1525,10 @@ var _HealthCheck_HttpHealthCheck_Path_Pattern = regexp.MustCompile("^[^\x00\n\r]
var _HealthCheck_HttpHealthCheck_RequestHeadersToRemove_Pattern = regexp.MustCompile("^[^\x00\n\r]*$")
+var _HealthCheck_HttpHealthCheck_Method_NotInLookup = map[RequestMethod]struct{}{
+ 6: {},
+}
+
// Validate checks the field values on HealthCheck_TcpHealthCheck with the
// rules defined in the proto definition for this message. If any rules are
// violated, the first error encountered is returned, or nil if there are no violations.
@@ -1880,9 +1995,18 @@ func (m *HealthCheck_CustomHealthCheck) validate(all bool) error {
errors = append(errors, err)
}
- switch m.ConfigType.(type) {
-
+ switch v := m.ConfigType.(type) {
case *HealthCheck_CustomHealthCheck_TypedConfig:
+ if v == nil {
+ err := HealthCheck_CustomHealthCheckValidationError{
+ field: "ConfigType",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
if all {
switch v := interface{}(m.GetTypedConfig()).(type) {
@@ -1913,6 +2037,8 @@ func (m *HealthCheck_CustomHealthCheck) validate(all bool) error {
}
}
+ default:
+ _ = v // ensures v is used
}
if len(errors) > 0 {
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/http_uri.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/http_uri.pb.go
index 347f453704..47dc67144b 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/http_uri.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/http_uri.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/config/core/v3/http_uri.proto
package corev3
@@ -38,7 +38,7 @@ type HttpUri struct {
// uri: https://www.googleapis.com/oauth2/v1/certs
//
Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
- // Specify how `uri` is to be fetched. Today, this requires an explicit
+ // Specify how ``uri`` is to be fetched. Today, this requires an explicit
// cluster, but in the future we may support dynamic cluster creation or
// inline DNS resolution. See `issue
// `_.
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/http_uri.pb.validate.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/http_uri.pb.validate.go
index c9af6f7dab..0e3ab815ee 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/http_uri.pb.validate.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/http_uri.pb.validate.go
@@ -108,9 +108,20 @@ func (m *HttpUri) validate(all bool) error {
}
}
- switch m.HttpUpstreamType.(type) {
-
+ oneofHttpUpstreamTypePresent := false
+ switch v := m.HttpUpstreamType.(type) {
case *HttpUri_Cluster:
+ if v == nil {
+ err := HttpUriValidationError{
+ field: "HttpUpstreamType",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofHttpUpstreamTypePresent = true
if utf8.RuneCountInString(m.GetCluster()) < 1 {
err := HttpUriValidationError{
@@ -124,6 +135,9 @@ func (m *HttpUri) validate(all bool) error {
}
default:
+ _ = v // ensures v is used
+ }
+ if !oneofHttpUpstreamTypePresent {
err := HttpUriValidationError{
field: "HttpUpstreamType",
reason: "value is required",
@@ -132,7 +146,6 @@ func (m *HttpUri) validate(all bool) error {
return err
}
errors = append(errors, err)
-
}
if len(errors) > 0 {
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/protocol.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/protocol.pb.go
index e28426ab11..16a1411437 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/protocol.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/protocol.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/config/core/v3/protocol.proto
package corev3
@@ -217,9 +217,9 @@ type QuicProtocolOptions struct {
// QUIC stream send and receive buffers. Once the buffer reaches this pointer, watermark callbacks will fire to
// stop the flow of data to the stream buffers.
InitialStreamWindowSize *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=initial_stream_window_size,json=initialStreamWindowSize,proto3" json:"initial_stream_window_size,omitempty"`
- // Similar to *initial_stream_window_size*, but for connection-level
+ // Similar to ``initial_stream_window_size``, but for connection-level
// flow-control. Valid values rage from 1 to 25165824 (24MB, maximum supported by QUICHE) and defaults to 65536 (2^16).
- // window. Currently, this has the same minimum/default as *initial_stream_window_size*.
+ // window. Currently, this has the same minimum/default as ``initial_stream_window_size``.
//
// NOTE: 16384 (2^14) is the minimum window size supported in Google QUIC. We only support increasing the default
// window size now, so it's also the minimum.
@@ -310,19 +310,22 @@ type UpstreamHttpProtocolOptions struct {
// upstream connections based on the downstream HTTP host/authority header or any other arbitrary
// header when :ref:`override_auto_sni_header `
// is set, as seen by the :ref:`router filter `.
+ // Does nothing if a filter before the http router filter sets the corresponding metadata.
AutoSni bool `protobuf:"varint,1,opt,name=auto_sni,json=autoSni,proto3" json:"auto_sni,omitempty"`
// Automatic validate upstream presented certificate for new upstream connections based on the
// downstream HTTP host/authority header or any other arbitrary header when :ref:`override_auto_sni_header `
// is set, as seen by the :ref:`router filter `.
- // This field is intended to be set with `auto_sni` field.
+ // This field is intended to be set with ``auto_sni`` field.
+ // Does nothing if a filter before the http router filter sets the corresponding metadata.
AutoSanValidation bool `protobuf:"varint,2,opt,name=auto_san_validation,json=autoSanValidation,proto3" json:"auto_san_validation,omitempty"`
// An optional alternative to the host/authority header to be used for setting the SNI value.
// It should be a valid downstream HTTP header, as seen by the
// :ref:`router filter `.
// If unset, host/authority header will be used for populating the SNI. If the specified header
// is not found or the value is empty, host/authority header will be used instead.
- // This field is intended to be set with `auto_sni` and/or `auto_san_validation` fields.
+ // This field is intended to be set with ``auto_sni`` and/or ``auto_san_validation`` fields.
// If none of these fields are set then setting this would be a no-op.
+ // Does nothing if a filter before the http router filter sets the corresponding metadata.
OverrideAutoSniHeader string `protobuf:"bytes,3,opt,name=override_auto_sni_header,json=overrideAutoSniHeader,proto3" json:"override_auto_sni_header,omitempty"`
}
@@ -383,6 +386,7 @@ func (x *UpstreamHttpProtocolOptions) GetOverrideAutoSniHeader() string {
// make an HTTP connection to an origin server. See https://tools.ietf.org/html/rfc7838 for
// HTTP Alternative Services and https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-svcb-https-04
// for the "HTTPS" DNS resource record.
+// [#next-free-field: 6]
type AlternateProtocolsCacheOptions struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -410,6 +414,16 @@ type AlternateProtocolsCacheOptions struct {
KeyValueStoreConfig *TypedExtensionConfig `protobuf:"bytes,3,opt,name=key_value_store_config,json=keyValueStoreConfig,proto3" json:"key_value_store_config,omitempty"`
// Allows pre-populating the cache with entries, as described above.
PrepopulatedEntries []*AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntry `protobuf:"bytes,4,rep,name=prepopulated_entries,json=prepopulatedEntries,proto3" json:"prepopulated_entries,omitempty"`
+ // Optional list of hostnames suffixes for which Alt-Svc entries can be shared. For example, if
+ // this list contained the value ``.c.example.com``, then an Alt-Svc entry for ``foo.c.example.com``
+ // could be shared with ``bar.c.example.com`` but would not be shared with ``baz.example.com``. On
+ // the other hand, if the list contained the value ``.example.com`` then all three hosts could share
+ // Alt-Svc entries. Each entry must start with ``.``. If a hostname matches multiple suffixes, the
+ // first listed suffix will be used.
+ //
+ // Since lookup in this list is O(n), it is recommended that the number of suffixes be limited.
+ // [#not-implemented-hide:]
+ CanonicalSuffixes []string `protobuf:"bytes,5,rep,name=canonical_suffixes,json=canonicalSuffixes,proto3" json:"canonical_suffixes,omitempty"`
}
func (x *AlternateProtocolsCacheOptions) Reset() {
@@ -472,6 +486,13 @@ func (x *AlternateProtocolsCacheOptions) GetPrepopulatedEntries() []*AlternatePr
return nil
}
+func (x *AlternateProtocolsCacheOptions) GetCanonicalSuffixes() []string {
+ if x != nil {
+ return x.CanonicalSuffixes
+ }
+ return nil
+}
+
// [#next-free-field: 7]
type HttpProtocolOptions struct {
state protoimpl.MessageState
@@ -596,7 +617,7 @@ func (x *HttpProtocolOptions) GetMaxRequestsPerConnection() *wrappers.UInt32Valu
return nil
}
-// [#next-free-field: 9]
+// [#next-free-field: 11]
type Http1ProtocolOptions struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -605,16 +626,16 @@ type Http1ProtocolOptions struct {
// Handle HTTP requests with absolute URLs in the requests. These requests
// are generally sent by clients to forward/explicit proxies. This allows clients to configure
// envoy as their HTTP proxy. In Unix, for example, this is typically done by setting the
- // *http_proxy* environment variable.
+ // ``http_proxy`` environment variable.
AllowAbsoluteUrl *wrappers.BoolValue `protobuf:"bytes,1,opt,name=allow_absolute_url,json=allowAbsoluteUrl,proto3" json:"allow_absolute_url,omitempty"`
// Handle incoming HTTP/1.0 and HTTP 0.9 requests.
// This is off by default, and not fully standards compliant. There is support for pre-HTTP/1.1
// style connect logic, dechunking, and handling lack of client host iff
- // *default_host_for_http_10* is configured.
+ // ``default_host_for_http_10`` is configured.
AcceptHttp_10 bool `protobuf:"varint,2,opt,name=accept_http_10,json=acceptHttp10,proto3" json:"accept_http_10,omitempty"`
- // A default host for HTTP/1.0 requests. This is highly suggested if *accept_http_10* is true as
+ // A default host for HTTP/1.0 requests. This is highly suggested if ``accept_http_10`` is true as
// Envoy does not otherwise support HTTP/1.0 without a Host header.
- // This is a no-op if *accept_http_10* is not true.
+ // This is a no-op if ``accept_http_10`` is not true.
DefaultHostForHttp_10 string `protobuf:"bytes,3,opt,name=default_host_for_http_10,json=defaultHostForHttp10,proto3" json:"default_host_for_http_10,omitempty"`
// Describes how the keys for response headers should be formatted. By default, all header keys
// are lower cased.
@@ -629,7 +650,7 @@ type Http1ProtocolOptions struct {
// - Not a response to a HEAD request.
// - The content length header is not present.
EnableTrailers bool `protobuf:"varint,5,opt,name=enable_trailers,json=enableTrailers,proto3" json:"enable_trailers,omitempty"`
- // Allows Envoy to process requests/responses with both `Content-Length` and `Transfer-Encoding`
+ // Allows Envoy to process requests/responses with both ``Content-Length`` and ``Transfer-Encoding``
// headers set. By default such messages are rejected, but if option is enabled - Envoy will
// remove Content-Length header and process message.
// See `RFC7230, sec. 3.3.3 `_ for details.
@@ -654,6 +675,24 @@ type Http1ProtocolOptions struct {
// (inferred if not present), host (from the host/:authority header) and path
// (from first line or :path header).
SendFullyQualifiedUrl bool `protobuf:"varint,8,opt,name=send_fully_qualified_url,json=sendFullyQualifiedUrl,proto3" json:"send_fully_qualified_url,omitempty"`
+ // [#not-implemented-hide:] Hiding so that field can be removed after BalsaParser is rolled out.
+ // If set, force HTTP/1 parser: BalsaParser if true, http-parser if false.
+ // If unset, HTTP/1 parser is selected based on
+ // envoy.reloadable_features.http1_use_balsa_parser.
+ // See issue #21245.
+ UseBalsaParser *wrappers.BoolValue `protobuf:"bytes,9,opt,name=use_balsa_parser,json=useBalsaParser,proto3" json:"use_balsa_parser,omitempty"`
+ // [#not-implemented-hide:] Hiding so that field can be removed.
+ // If true, and BalsaParser is used (either `use_balsa_parser` above is true,
+ // or `envoy.reloadable_features.http1_use_balsa_parser` is true and
+ // `use_balsa_parser` is unset), then every non-empty method with only valid
+ // characters is accepted. Otherwise, methods not on the hard-coded list are
+ // rejected.
+ // Once UHV is enabled, this field should be removed, and BalsaParser should
+ // allow any method. UHV validates the method, rejecting empty string or
+ // invalid characters, and provides :ref:`restrict_http_methods
+ // `
+ // to reject custom methods.
+ AllowCustomMethods bool `protobuf:"varint,10,opt,name=allow_custom_methods,json=allowCustomMethods,proto3" json:"allow_custom_methods,omitempty"`
}
func (x *Http1ProtocolOptions) Reset() {
@@ -744,6 +783,20 @@ func (x *Http1ProtocolOptions) GetSendFullyQualifiedUrl() bool {
return false
}
+func (x *Http1ProtocolOptions) GetUseBalsaParser() *wrappers.BoolValue {
+ if x != nil {
+ return x.UseBalsaParser
+ }
+ return nil
+}
+
+func (x *Http1ProtocolOptions) GetAllowCustomMethods() bool {
+ if x != nil {
+ return x.AllowCustomMethods
+ }
+ return false
+}
+
type KeepaliveSettings struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -831,7 +884,7 @@ func (x *KeepaliveSettings) GetConnectionIdleInterval() *duration.Duration {
return nil
}
-// [#next-free-field: 16]
+// [#next-free-field: 17]
type Http2ProtocolOptions struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -866,8 +919,8 @@ type Http2ProtocolOptions struct {
// HTTP/2 codec buffers. Once the buffer reaches this pointer, watermark callbacks will fire to
// stop the flow of data to the codec buffers.
InitialStreamWindowSize *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=initial_stream_window_size,json=initialStreamWindowSize,proto3" json:"initial_stream_window_size,omitempty"`
- // Similar to *initial_stream_window_size*, but for connection-level flow-control
- // window. Currently, this has the same minimum/maximum/default as *initial_stream_window_size*.
+ // Similar to ``initial_stream_window_size``, but for connection-level flow-control
+ // window. Currently, this has the same minimum/maximum/default as ``initial_stream_window_size``.
InitialConnectionWindowSize *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=initial_connection_window_size,json=initialConnectionWindowSize,proto3" json:"initial_connection_window_size,omitempty"`
// Allows proxying Websocket and other upgrades over H2 connect.
AllowConnect bool `protobuf:"varint,5,opt,name=allow_connect,json=allowConnect,proto3" json:"allow_connect,omitempty"`
@@ -900,11 +953,11 @@ type Http2ProtocolOptions struct {
// of PRIORITY frames received over the lifetime of connection exceeds the value calculated
// using this formula::
//
- // max_inbound_priority_frames_per_stream * (1 + opened_streams)
+ // ``max_inbound_priority_frames_per_stream`` * (1 + ``opened_streams``)
//
- // the connection is terminated. For downstream connections the `opened_streams` is incremented when
+ // the connection is terminated. For downstream connections the ``opened_streams`` is incremented when
// Envoy receives complete response headers from the upstream server. For upstream connection the
- // `opened_streams` is incremented when Envoy send the HEADERS frame for a new stream. The
+ // ``opened_streams`` is incremented when Envoy send the HEADERS frame for a new stream. The
// ``http2.inbound_priority_frames_flood`` stat tracks
// the number of connections terminated due to flood mitigation. The default limit is 100.
MaxInboundPriorityFramesPerStream *wrappers.UInt32Value `protobuf:"bytes,10,opt,name=max_inbound_priority_frames_per_stream,json=maxInboundPriorityFramesPerStream,proto3" json:"max_inbound_priority_frames_per_stream,omitempty"`
@@ -912,12 +965,12 @@ type Http2ProtocolOptions struct {
// of WINDOW_UPDATE frames received over the lifetime of connection exceeds the value calculated
// using this formula::
//
- // 5 + 2 * (opened_streams +
- // max_inbound_window_update_frames_per_data_frame_sent * outbound_data_frames)
+ // 5 + 2 * (``opened_streams`` +
+ // ``max_inbound_window_update_frames_per_data_frame_sent`` * ``outbound_data_frames``)
//
- // the connection is terminated. For downstream connections the `opened_streams` is incremented when
+ // the connection is terminated. For downstream connections the ``opened_streams`` is incremented when
// Envoy receives complete response headers from the upstream server. For upstream connections the
- // `opened_streams` is incremented when Envoy sends the HEADERS frame for a new stream. The
+ // ``opened_streams`` is incremented when Envoy sends the HEADERS frame for a new stream. The
// ``http2.inbound_priority_frames_flood`` stat tracks the number of connections terminated due to
// flood mitigation. The default max_inbound_window_update_frames_per_data_frame_sent value is 10.
// Setting this to 1 should be enough to support HTTP/2 implementations with basic flow control,
@@ -977,6 +1030,10 @@ type Http2ProtocolOptions struct {
// Send HTTP/2 PING frames to verify that the connection is still healthy. If the remote peer
// does not respond within the configured timeout, the connection will be aborted.
ConnectionKeepalive *KeepaliveSettings `protobuf:"bytes,15,opt,name=connection_keepalive,json=connectionKeepalive,proto3" json:"connection_keepalive,omitempty"`
+ // [#not-implemented-hide:] Hiding so that the field can be removed after oghttp2 is rolled out.
+ // If set, force use of a particular HTTP/2 codec: oghttp2 if true, nghttp2 if false.
+ // If unset, HTTP/2 codec is selected based on envoy.reloadable_features.http2_use_oghttp2.
+ UseOghttp2Codec *wrappers.BoolValue `protobuf:"bytes,16,opt,name=use_oghttp2_codec,json=useOghttp2Codec,proto3" json:"use_oghttp2_codec,omitempty"`
}
func (x *Http2ProtocolOptions) Reset() {
@@ -1117,6 +1174,13 @@ func (x *Http2ProtocolOptions) GetConnectionKeepalive() *KeepaliveSettings {
return nil
}
+func (x *Http2ProtocolOptions) GetUseOghttp2Codec() *wrappers.BoolValue {
+ if x != nil {
+ return x.UseOghttp2Codec
+ }
+ return nil
+}
+
// [#not-implemented-hide:]
type GrpcProtocolOptions struct {
state protoimpl.MessageState
@@ -1653,8 +1717,8 @@ var file_envoy_config_core_v3_protocol_proto_rawDesc = []byte{
0x6e, 0x69, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x3a, 0x34, 0x9a, 0xc5, 0x88, 0x1e, 0x2f, 0x0a,
0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f,
0x72, 0x65, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x74, 0x74, 0x70, 0x50,
- 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xd7,
- 0x03, 0x0a, 0x1e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74,
+ 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x86,
+ 0x04, 0x0a, 0x1e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74,
0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x46,
@@ -1676,300 +1740,317 @@ var file_envoy_config_core_v3_protocol_proto_rawDesc = []byte{
0x43, 0x61, 0x63, 0x68, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x41, 0x6c, 0x74,
0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x43,
0x61, 0x63, 0x68, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x70, 0x72, 0x65, 0x70, 0x6f,
- 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x68,
- 0x0a, 0x1c, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f,
- 0x63, 0x6f, 0x6c, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x27,
- 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc0, 0x01, 0x01, 0xd0, 0x01, 0x01, 0x52, 0x08, 0x68,
- 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x2a, 0x06, 0x10, 0xff, 0xff, 0x03,
- 0x20, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xaf, 0x05, 0x0a, 0x13, 0x48, 0x74, 0x74,
- 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
- 0x12, 0x3c, 0x0a, 0x0c, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74,
- 0x18, 0x01, 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, 0x51,
- 0x0a, 0x17, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
- 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x15, 0x6d, 0x61, 0x78, 0x43,
- 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x12, 0x51, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73,
- 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 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, 0x07, 0xfa, 0x42, 0x04, 0x2a,
- 0x02, 0x28, 0x01, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x43,
- 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x74, 0x72, 0x65,
- 0x61, 0x6d, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x11, 0x6d, 0x61,
- 0x78, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
- 0x8d, 0x01, 0x0a, 0x1f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68,
- 0x5f, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x63, 0x74,
- 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x46, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
- 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33,
- 0x2e, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74,
- 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68,
- 0x55, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f,
- 0x6e, 0x52, 0x1c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55, 0x6e,
- 0x64, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
- 0x5b, 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, 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, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x50,
- 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4e, 0x0a, 0x1c,
- 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55, 0x6e, 0x64, 0x65, 0x72,
- 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x09, 0x0a, 0x05,
- 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x45, 0x4a, 0x45, 0x43,
- 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x44,
- 0x52, 0x4f, 0x50, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x02, 0x3a, 0x2c, 0x9a, 0xc5,
- 0x88, 0x1e, 0x27, 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76,
- 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f,
- 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x87, 0x08, 0x0a, 0x14, 0x48,
- 0x74, 0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69,
- 0x6f, 0x6e, 0x73, 0x12, 0x48, 0x0a, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x61, 0x62, 0x73,
- 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 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, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x24, 0x0a,
- 0x0e, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x31, 0x30, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x48, 0x74, 0x74,
- 0x70, 0x31, 0x30, 0x12, 0x36, 0x0a, 0x18, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x68,
- 0x6f, 0x73, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x31, 0x30, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x48, 0x6f,
- 0x73, 0x74, 0x46, 0x6f, 0x72, 0x48, 0x74, 0x74, 0x70, 0x31, 0x30, 0x12, 0x66, 0x0a, 0x11, 0x68,
- 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74,
- 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
- 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74,
+ 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2d,
+ 0x0a, 0x12, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x66, 0x66,
+ 0x69, 0x78, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x63, 0x61, 0x6e, 0x6f,
+ 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x65, 0x73, 0x1a, 0x68, 0x0a,
+ 0x1c, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63,
+ 0x6f, 0x6c, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x27, 0x0a,
+ 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
+ 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc0, 0x01, 0x01, 0xd0, 0x01, 0x01, 0x52, 0x08, 0x68, 0x6f,
+ 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x2a, 0x06, 0x10, 0xff, 0xff, 0x03, 0x20,
+ 0x00, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xaf, 0x05, 0x0a, 0x13, 0x48, 0x74, 0x74, 0x70,
+ 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12,
+ 0x3c, 0x0a, 0x0c, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18,
+ 0x01, 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, 0x51, 0x0a,
+ 0x17, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x15, 0x6d, 0x61, 0x78, 0x43, 0x6f,
+ 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x12, 0x51, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 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, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02,
+ 0x28, 0x01, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x43, 0x6f,
+ 0x75, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61,
+ 0x6d, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x11, 0x6d, 0x61, 0x78,
+ 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x8d,
+ 0x01, 0x0a, 0x1f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f,
+ 0x75, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x46, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
+ 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e,
+ 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55,
+ 0x6e, 0x64, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x1c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55, 0x6e, 0x64,
+ 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5b,
+ 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, 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, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x50, 0x65,
+ 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4e, 0x0a, 0x1c, 0x48,
+ 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x73,
+ 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x09, 0x0a, 0x05, 0x41,
+ 0x4c, 0x4c, 0x4f, 0x57, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54,
+ 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x52,
+ 0x4f, 0x50, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x02, 0x3a, 0x2c, 0x9a, 0xc5, 0x88,
+ 0x1e, 0x27, 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32,
+ 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63,
+ 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x93, 0x09, 0x0a, 0x14, 0x48, 0x74,
0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f,
- 0x6e, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x6d,
- 0x61, 0x74, 0x52, 0x0f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x46, 0x6f, 0x72,
- 0x6d, 0x61, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x72,
- 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x65, 0x6e,
- 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x30, 0x0a, 0x14,
- 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x65, 0x64, 0x5f, 0x6c, 0x65,
- 0x6e, 0x67, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f,
- 0x77, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x65, 0x64, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x7a,
- 0x0a, 0x2d, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61,
- 0x6d, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c,
- 0x69, 0x64, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18,
- 0x07, 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, 0x27, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61,
- 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4f, 0x6e, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x48,
- 0x74, 0x74, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x73, 0x65,
- 0x6e, 0x64, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x69,
- 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x65,
- 0x6e, 0x64, 0x46, 0x75, 0x6c, 0x6c, 0x79, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64,
- 0x55, 0x72, 0x6c, 0x1a, 0x9f, 0x03, 0x0a, 0x0f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4b, 0x65,
- 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x78, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x70, 0x65,
- 0x72, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x31, 0x50,
- 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x48,
- 0x65, 0x61, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x2e, 0x50,
- 0x72, 0x6f, 0x70, 0x65, 0x72, 0x43, 0x61, 0x73, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x48, 0x00,
- 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x43, 0x61, 0x73, 0x65, 0x57, 0x6f, 0x72, 0x64,
- 0x73, 0x12, 0x5b, 0x0a, 0x12, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x66, 0x6f,
- 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e,
+ 0x6e, 0x73, 0x12, 0x48, 0x0a, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x61, 0x62, 0x73, 0x6f,
+ 0x6c, 0x75, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 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, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x24, 0x0a, 0x0e,
+ 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x31, 0x30, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x48, 0x74, 0x74, 0x70,
+ 0x31, 0x30, 0x12, 0x36, 0x0a, 0x18, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x68, 0x6f,
+ 0x73, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x31, 0x30, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x48, 0x6f, 0x73,
+ 0x74, 0x46, 0x6f, 0x72, 0x48, 0x74, 0x74, 0x70, 0x31, 0x30, 0x12, 0x66, 0x0a, 0x11, 0x68, 0x65,
+ 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74,
+ 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61,
+ 0x74, 0x52, 0x0f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x6d,
+ 0x61, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x61,
+ 0x69, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x65, 0x6e, 0x61,
+ 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x61,
+ 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x65, 0x64, 0x5f, 0x6c, 0x65, 0x6e,
+ 0x67, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77,
+ 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x65, 0x64, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x7a, 0x0a,
+ 0x2d, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d,
+ 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69,
+ 0x64, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x07,
+ 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, 0x27, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
+ 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4f, 0x6e, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x48, 0x74,
+ 0x74, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x73, 0x65, 0x6e,
+ 0x64, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x69, 0x65,
+ 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x65, 0x6e,
+ 0x64, 0x46, 0x75, 0x6c, 0x6c, 0x79, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x55,
+ 0x72, 0x6c, 0x12, 0x4e, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x73, 0x61, 0x5f,
+ 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x18, 0x09, 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, 0x42, 0x08, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02,
+ 0x08, 0x01, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x42, 0x61, 0x6c, 0x73, 0x61, 0x50, 0x61, 0x72, 0x73,
+ 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x75, 0x73, 0x74,
+ 0x6f, 0x6d, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08,
+ 0x42, 0x08, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f,
+ 0x77, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x1a, 0x9f,
+ 0x03, 0x0a, 0x0f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x6d,
+ 0x61, 0x74, 0x12, 0x78, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x73,
+ 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e,
0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72,
- 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
- 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x11, 0x73, 0x74, 0x61,
- 0x74, 0x65, 0x66, 0x75, 0x6c, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x1a, 0x60,
- 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x43, 0x61, 0x73, 0x65, 0x57, 0x6f, 0x72, 0x64,
- 0x73, 0x3a, 0x4d, 0x9a, 0xc5, 0x88, 0x1e, 0x48, 0x0a, 0x46, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
- 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70,
- 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
- 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74,
- 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x43, 0x61, 0x73, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73,
- 0x3a, 0x3d, 0x9a, 0xc5, 0x88, 0x1e, 0x38, 0x0a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61,
+ 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63,
+ 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
+ 0x4b, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72,
+ 0x43, 0x61, 0x73, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x70, 0x72, 0x6f,
+ 0x70, 0x65, 0x72, 0x43, 0x61, 0x73, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x5b, 0x0a, 0x12,
+ 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74,
+ 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
+ 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e,
+ 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x11, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c,
+ 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x1a, 0x60, 0x0a, 0x0f, 0x50, 0x72, 0x6f,
+ 0x70, 0x65, 0x72, 0x43, 0x61, 0x73, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x3a, 0x4d, 0x9a, 0xc5,
+ 0x88, 0x1e, 0x48, 0x0a, 0x46, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76,
+ 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74,
+ 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64,
+ 0x65, 0x72, 0x4b, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x70,
+ 0x65, 0x72, 0x43, 0x61, 0x73, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x3a, 0x3d, 0x9a, 0xc5, 0x88,
+ 0x1e, 0x38, 0x0a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32,
+ 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f,
+ 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65,
+ 0x72, 0x4b, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x42, 0x14, 0x0a, 0x0d, 0x68, 0x65,
+ 0x61, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01,
+ 0x3a, 0x2d, 0x9a, 0xc5, 0x88, 0x1e, 0x28, 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61,
0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x31,
- 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
- 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x42,
- 0x14, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74,
- 0x12, 0x03, 0xf8, 0x42, 0x01, 0x3a, 0x2d, 0x9a, 0xc5, 0x88, 0x1e, 0x28, 0x0a, 0x26, 0x65, 0x6e,
- 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
- 0x48, 0x74, 0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74,
- 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xc1, 0x02, 0x0a, 0x11, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69,
- 0x76, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x43, 0x0a, 0x08, 0x69, 0x6e,
- 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x01, 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, 0x0c, 0xfa, 0x42, 0x09, 0xaa, 0x01, 0x06, 0x32,
- 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12,
- 0x43, 0x0a, 0x07, 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, 0x42, 0x0e, 0xfa, 0x42, 0x0b,
- 0xaa, 0x01, 0x08, 0x08, 0x01, 0x32, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x07, 0x74, 0x69, 0x6d,
- 0x65, 0x6f, 0x75, 0x74, 0x12, 0x3f, 0x0a, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c,
- 0x5f, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e,
- 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65,
- 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4a,
- 0x69, 0x74, 0x74, 0x65, 0x72, 0x12, 0x61, 0x0a, 0x18, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
- 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61,
- 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22,
+ 0xc1, 0x02, 0x0a, 0x11, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x53, 0x65, 0x74,
+ 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x43, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61,
+ 0x6c, 0x18, 0x01, 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, 0x0c, 0xfa, 0x42, 0x09, 0xaa, 0x01, 0x06, 0x32, 0x04, 0x10, 0xc0, 0x84, 0x3d,
- 0x52, 0x16, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x6c, 0x65,
- 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0x81, 0x0e, 0x0a, 0x14, 0x48, 0x74, 0x74,
- 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
- 0x73, 0x12, 0x46, 0x0a, 0x10, 0x68, 0x70, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 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, 0x0e, 0x68, 0x70, 0x61, 0x63, 0x6b,
- 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x61, 0x0a, 0x16, 0x6d, 0x61, 0x78,
- 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65,
- 0x61, 0x6d, 0x73, 0x18, 0x02, 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, 0x0d, 0xfa, 0x42, 0x0a, 0x2a, 0x08, 0x18, 0xff,
- 0xff, 0xff, 0xff, 0x07, 0x28, 0x01, 0x52, 0x14, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x63, 0x75,
- 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x6a, 0x0a, 0x1a,
- 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x77,
- 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 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, 0x0f,
- 0xfa, 0x42, 0x0c, 0x2a, 0x0a, 0x18, 0xff, 0xff, 0xff, 0xff, 0x07, 0x28, 0xff, 0xff, 0x03, 0x52,
- 0x17, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x57, 0x69,
- 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x72, 0x0a, 0x1e, 0x69, 0x6e, 0x69, 0x74,
- 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x77,
- 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 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, 0x0f,
- 0xfa, 0x42, 0x0c, 0x2a, 0x0a, 0x18, 0xff, 0xff, 0xff, 0xff, 0x07, 0x28, 0xff, 0xff, 0x03, 0x52,
- 0x1b, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69,
- 0x6f, 0x6e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x0a, 0x0d,
- 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20,
- 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
- 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64,
- 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77,
- 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x55, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f,
- 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 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, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x11, 0x6d, 0x61,
- 0x78, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12,
- 0x64, 0x0a, 0x1b, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f,
- 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x08,
+ 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x43, 0x0a, 0x07, 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, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0xaa, 0x01, 0x08, 0x08, 0x01,
+ 0x32, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12,
+ 0x3f, 0x0a, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x6a, 0x69, 0x74, 0x74,
+ 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
+ 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74,
+ 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4a, 0x69, 0x74, 0x74, 0x65, 0x72,
+ 0x12, 0x61, 0x0a, 0x18, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69,
+ 0x64, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 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, 0x42, 0x0c, 0xfa,
+ 0x42, 0x09, 0xaa, 0x01, 0x06, 0x32, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x16, 0x63, 0x6f, 0x6e,
+ 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72,
+ 0x76, 0x61, 0x6c, 0x22, 0xd3, 0x0e, 0x0a, 0x14, 0x48, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f,
+ 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x10,
+ 0x68, 0x70, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65,
+ 0x18, 0x01, 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, 0x0e, 0x68, 0x70, 0x61, 0x63, 0x6b, 0x54, 0x61, 0x62, 0x6c, 0x65,
+ 0x53, 0x69, 0x7a, 0x65, 0x12, 0x61, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x63,
+ 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x02,
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, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x18, 0x6d, 0x61, 0x78,
- 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x46,
- 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x84, 0x01, 0x0a, 0x31, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f,
- 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e,
- 0x64, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x65, 0x6d,
- 0x70, 0x74, 0x79, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 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,
- 0x2b, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x49,
- 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68,
- 0x45, 0x6d, 0x70, 0x74, 0x79, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x6f, 0x0a, 0x26,
- 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6f,
- 0x72, 0x69, 0x74, 0x79, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f,
- 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x0a, 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, 0x21, 0x6d, 0x61, 0x78, 0x49,
- 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x46, 0x72,
- 0x61, 0x6d, 0x65, 0x73, 0x50, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x91, 0x01,
- 0x0a, 0x34, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x77, 0x69,
- 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x6d,
- 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x72, 0x61, 0x6d,
- 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x0b, 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, 0x07, 0xfa, 0x42, 0x04, 0x2a,
- 0x02, 0x28, 0x01, 0x52, 0x2c, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x57,
- 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65,
- 0x73, 0x50, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x6e,
- 0x74, 0x12, 0x5e, 0x0a, 0x26, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x72, 0x72, 0x6f,
- 0x72, 0x5f, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x68, 0x74, 0x74,
- 0x70, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28,
- 0x08, 0x42, 0x0b, 0x18, 0x01, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x52, 0x21,
- 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4f, 0x6e, 0x49, 0x6e, 0x76,
- 0x61, 0x6c, 0x69, 0x64, 0x48, 0x74, 0x74, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e,
- 0x67, 0x12, 0x7a, 0x0a, 0x2d, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x73, 0x74,
- 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6f, 0x6e, 0x5f, 0x69, 0x6e,
- 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61,
- 0x67, 0x65, 0x18, 0x0e, 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, 0x27, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x53, 0x74,
- 0x72, 0x65, 0x61, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4f, 0x6e, 0x49, 0x6e, 0x76, 0x61, 0x6c,
- 0x69, 0x64, 0x48, 0x74, 0x74, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x7a, 0x0a,
- 0x1a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73,
- 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28,
- 0x0b, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72,
- 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x65,
- 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52,
- 0x18, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x50,
- 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x5a, 0x0a, 0x14, 0x63, 0x6f, 0x6e,
- 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76,
- 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
- 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4b,
- 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73,
- 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x65, 0x70,
- 0x61, 0x6c, 0x69, 0x76, 0x65, 0x1a, 0xe5, 0x01, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
- 0x67, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x0a, 0x69,
- 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x75, 0x65, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x2a, 0x08, 0x18, 0xff, 0xff, 0xff, 0xff, 0x07, 0x28,
+ 0x01, 0x52, 0x14, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74,
+ 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x6a, 0x0a, 0x1a, 0x69, 0x6e, 0x69, 0x74, 0x69,
+ 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77,
+ 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 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, 0x0f, 0xfa, 0x42, 0x0c, 0x2a, 0x0a,
+ 0x18, 0xff, 0xff, 0xff, 0xff, 0x07, 0x28, 0xff, 0xff, 0x03, 0x52, 0x17, 0x69, 0x6e, 0x69, 0x74,
+ 0x69, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53,
+ 0x69, 0x7a, 0x65, 0x12, 0x72, 0x0a, 0x1e, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x63,
+ 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77,
+ 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 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, 0x0f, 0xfa, 0x42, 0x0c, 0x2a, 0x0a,
+ 0x18, 0xff, 0xff, 0xff, 0xff, 0x07, 0x28, 0xff, 0xff, 0x03, 0x52, 0x1b, 0x69, 0x6e, 0x69, 0x74,
+ 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x69, 0x6e,
+ 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77,
+ 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c,
+ 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0e,
+ 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64,
+ 0x61, 0x74, 0x61, 0x12, 0x55, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x62, 0x6f,
+ 0x75, 0x6e, 0x64, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 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, 0x42, 0x07,
+ 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x4f, 0x75, 0x74, 0x62,
+ 0x6f, 0x75, 0x6e, 0x64, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x64, 0x0a, 0x1b, 0x6d, 0x61,
+ 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72,
+ 0x6f, 0x6c, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x08, 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, 0x13, 0xfa,
- 0x42, 0x08, 0x2a, 0x06, 0x18, 0xff, 0xff, 0x03, 0x28, 0x00, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02,
- 0x10, 0x01, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x3c,
- 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 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, 0x08, 0xfa, 0x42, 0x05,
- 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x3f, 0x9a, 0xc5,
- 0x88, 0x1e, 0x3a, 0x0a, 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76,
- 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74,
- 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x65, 0x74, 0x74,
- 0x69, 0x6e, 0x67, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x3a, 0x2d, 0x9a,
- 0xc5, 0x88, 0x1e, 0x28, 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e,
- 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f,
- 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xa5, 0x01, 0x0a,
- 0x13, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74,
- 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x60, 0x0a, 0x16, 0x68, 0x74, 0x74, 0x70, 0x32, 0x5f, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e,
- 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70,
- 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
- 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f,
- 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x2c, 0x9a, 0xc5, 0x88, 0x1e, 0x27, 0x0a, 0x25, 0x65,
- 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65,
- 0x2e, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74,
- 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xb1, 0x02, 0x0a, 0x14, 0x48, 0x74, 0x74, 0x70, 0x33, 0x50, 0x72,
- 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5d, 0x0a,
- 0x15, 0x71, 0x75, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f,
- 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65,
- 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65,
- 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
- 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x13, 0x71, 0x75, 0x69, 0x63, 0x50, 0x72, 0x6f,
- 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x7a, 0x0a, 0x2d,
+ 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa,
+ 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x18, 0x6d, 0x61, 0x78, 0x4f, 0x75, 0x74, 0x62, 0x6f,
+ 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73,
+ 0x12, 0x84, 0x01, 0x0a, 0x31, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75,
+ 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x66, 0x72, 0x61,
+ 0x6d, 0x65, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x70,
+ 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 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, 0x2b, 0x6d, 0x61, 0x78, 0x43,
+ 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e,
+ 0x64, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x45, 0x6d, 0x70, 0x74, 0x79,
+ 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x6f, 0x0a, 0x26, 0x6d, 0x61, 0x78, 0x5f, 0x69,
+ 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f,
+ 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61,
+ 0x6d, 0x18, 0x0a, 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, 0x21, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e,
+ 0x64, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x50,
+ 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x91, 0x01, 0x0a, 0x34, 0x6d, 0x61, 0x78,
+ 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f,
+ 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x70, 0x65,
+ 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x6e,
+ 0x74, 0x18, 0x0b, 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, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x2c,
+ 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77,
+ 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x50, 0x65, 0x72, 0x44,
+ 0x61, 0x74, 0x61, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x6e, 0x74, 0x12, 0x5e, 0x0a, 0x26,
+ 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6f, 0x6e, 0x5f,
+ 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6d, 0x65, 0x73,
+ 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x42, 0x0b, 0x18, 0x01,
+ 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x52, 0x21, 0x73, 0x74, 0x72, 0x65, 0x61,
+ 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4f, 0x6e, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x48,
+ 0x74, 0x74, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x7a, 0x0a, 0x2d,
0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f,
0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64,
- 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20,
+ 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0e, 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,
0x27, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45,
0x72, 0x72, 0x6f, 0x72, 0x4f, 0x6e, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x48, 0x74, 0x74,
- 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3e, 0x0a, 0x16, 0x61, 0x6c, 0x6c, 0x6f,
- 0x77, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
- 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, 0x08, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02,
- 0x08, 0x01, 0x52, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65,
- 0x64, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x22, 0x74, 0x0a, 0x1a, 0x53, 0x63, 0x68, 0x65,
- 0x6d, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72,
- 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x13, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65,
- 0x5f, 0x74, 0x6f, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x42, 0x12, 0xfa, 0x42, 0x0f, 0x72, 0x0d, 0x52, 0x04, 0x68, 0x74, 0x74, 0x70,
- 0x52, 0x05, 0x68, 0x74, 0x74, 0x70, 0x73, 0x48, 0x00, 0x52, 0x11, 0x73, 0x63, 0x68, 0x65, 0x6d,
- 0x65, 0x54, 0x6f, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x42, 0x10, 0x0a, 0x0e,
- 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x81,
- 0x01, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79,
- 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f,
- 0x72, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x50,
- 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63,
- 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f,
- 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65,
- 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65,
- 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x72, 0x65, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02,
- 0x10, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x7a, 0x0a, 0x1a, 0x63, 0x75, 0x73, 0x74,
+ 0x6f, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x5f, 0x70, 0x61, 0x72, 0x61,
+ 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x65,
+ 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65,
+ 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
+ 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
+ 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x18, 0x63, 0x75, 0x73, 0x74,
+ 0x6f, 0x6d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65,
+ 0x74, 0x65, 0x72, 0x73, 0x12, 0x5a, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x0f, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c,
+ 0x69, 0x76, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6e,
+ 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65,
+ 0x12, 0x50, 0x0a, 0x11, 0x75, 0x73, 0x65, 0x5f, 0x6f, 0x67, 0x68, 0x74, 0x74, 0x70, 0x32, 0x5f,
+ 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x10, 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, 0x42, 0x08, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08,
+ 0x01, 0x52, 0x0f, 0x75, 0x73, 0x65, 0x4f, 0x67, 0x68, 0x74, 0x74, 0x70, 0x32, 0x43, 0x6f, 0x64,
+ 0x65, 0x63, 0x1a, 0xe5, 0x01, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e,
+ 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 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, 0x13, 0xfa, 0x42, 0x08, 0x2a,
+ 0x06, 0x18, 0xff, 0xff, 0x03, 0x28, 0x00, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52,
+ 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x3c, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 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, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02,
+ 0x10, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x3f, 0x9a, 0xc5, 0x88, 0x1e, 0x3a,
+ 0x0a, 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63,
+ 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
+ 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
+ 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x3a, 0x2d, 0x9a, 0xc5, 0x88, 0x1e,
+ 0x28, 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e,
+ 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63,
+ 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xa5, 0x01, 0x0a, 0x13, 0x47, 0x72,
+ 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x12, 0x60, 0x0a, 0x16, 0x68, 0x74, 0x74, 0x70, 0x32, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72,
+ 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x14, 0x68,
+ 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x3a, 0x2c, 0x9a, 0xc5, 0x88, 0x1e, 0x27, 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f,
+ 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72,
+ 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x22, 0xb1, 0x02, 0x0a, 0x14, 0x48, 0x74, 0x74, 0x70, 0x33, 0x50, 0x72, 0x6f, 0x74, 0x6f,
+ 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5d, 0x0a, 0x15, 0x71, 0x75,
+ 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
+ 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33,
+ 0x2e, 0x51, 0x75, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x13, 0x71, 0x75, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63,
+ 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x7a, 0x0a, 0x2d, 0x6f, 0x76, 0x65,
+ 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x72, 0x72,
+ 0x6f, 0x72, 0x5f, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x68, 0x74,
+ 0x74, 0x70, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 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, 0x27, 0x6f, 0x76,
+ 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x72, 0x72, 0x6f,
+ 0x72, 0x4f, 0x6e, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x48, 0x74, 0x74, 0x70, 0x4d, 0x65,
+ 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3e, 0x0a, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x65,
+ 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, 0x08, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x52,
+ 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x43, 0x6f,
+ 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x22, 0x74, 0x0a, 0x1a, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x48,
+ 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x13, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x5f, 0x74, 0x6f,
+ 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x42, 0x12, 0xfa, 0x42, 0x0f, 0x72, 0x0d, 0x52, 0x04, 0x68, 0x74, 0x74, 0x70, 0x52, 0x05, 0x68,
+ 0x74, 0x74, 0x70, 0x73, 0x48, 0x00, 0x52, 0x11, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x54, 0x6f,
+ 0x4f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x74, 0x72, 0x61,
+ 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x81, 0x01, 0x0a, 0x22,
+ 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e,
+ 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
+ 0x76, 0x33, 0x42, 0x0d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74,
+ 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
+ 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f,
+ 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f,
+ 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33,
+ 0x3b, 0x63, 0x6f, 0x72, 0x65, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -2030,34 +2111,36 @@ var file_envoy_config_core_v3_protocol_proto_depIdxs = []int32{
20, // 16: envoy.config.core.v3.Http1ProtocolOptions.allow_absolute_url:type_name -> google.protobuf.BoolValue
14, // 17: envoy.config.core.v3.Http1ProtocolOptions.header_key_format:type_name -> envoy.config.core.v3.Http1ProtocolOptions.HeaderKeyFormat
20, // 18: envoy.config.core.v3.Http1ProtocolOptions.override_stream_error_on_invalid_http_message:type_name -> google.protobuf.BoolValue
- 17, // 19: envoy.config.core.v3.KeepaliveSettings.interval:type_name -> google.protobuf.Duration
- 17, // 20: envoy.config.core.v3.KeepaliveSettings.timeout:type_name -> google.protobuf.Duration
- 21, // 21: envoy.config.core.v3.KeepaliveSettings.interval_jitter:type_name -> envoy.type.v3.Percent
- 17, // 22: envoy.config.core.v3.KeepaliveSettings.connection_idle_interval:type_name -> google.protobuf.Duration
- 18, // 23: envoy.config.core.v3.Http2ProtocolOptions.hpack_table_size:type_name -> google.protobuf.UInt32Value
- 18, // 24: envoy.config.core.v3.Http2ProtocolOptions.max_concurrent_streams:type_name -> google.protobuf.UInt32Value
- 18, // 25: envoy.config.core.v3.Http2ProtocolOptions.initial_stream_window_size:type_name -> google.protobuf.UInt32Value
- 18, // 26: envoy.config.core.v3.Http2ProtocolOptions.initial_connection_window_size:type_name -> google.protobuf.UInt32Value
- 18, // 27: envoy.config.core.v3.Http2ProtocolOptions.max_outbound_frames:type_name -> google.protobuf.UInt32Value
- 18, // 28: envoy.config.core.v3.Http2ProtocolOptions.max_outbound_control_frames:type_name -> google.protobuf.UInt32Value
- 18, // 29: envoy.config.core.v3.Http2ProtocolOptions.max_consecutive_inbound_frames_with_empty_payload:type_name -> google.protobuf.UInt32Value
- 18, // 30: envoy.config.core.v3.Http2ProtocolOptions.max_inbound_priority_frames_per_stream:type_name -> google.protobuf.UInt32Value
- 18, // 31: envoy.config.core.v3.Http2ProtocolOptions.max_inbound_window_update_frames_per_data_frame_sent:type_name -> google.protobuf.UInt32Value
- 20, // 32: envoy.config.core.v3.Http2ProtocolOptions.override_stream_error_on_invalid_http_message:type_name -> google.protobuf.BoolValue
- 16, // 33: envoy.config.core.v3.Http2ProtocolOptions.custom_settings_parameters:type_name -> envoy.config.core.v3.Http2ProtocolOptions.SettingsParameter
- 8, // 34: envoy.config.core.v3.Http2ProtocolOptions.connection_keepalive:type_name -> envoy.config.core.v3.KeepaliveSettings
- 9, // 35: envoy.config.core.v3.GrpcProtocolOptions.http2_protocol_options:type_name -> envoy.config.core.v3.Http2ProtocolOptions
- 3, // 36: envoy.config.core.v3.Http3ProtocolOptions.quic_protocol_options:type_name -> envoy.config.core.v3.QuicProtocolOptions
- 20, // 37: envoy.config.core.v3.Http3ProtocolOptions.override_stream_error_on_invalid_http_message:type_name -> google.protobuf.BoolValue
- 15, // 38: envoy.config.core.v3.Http1ProtocolOptions.HeaderKeyFormat.proper_case_words:type_name -> envoy.config.core.v3.Http1ProtocolOptions.HeaderKeyFormat.ProperCaseWords
- 19, // 39: envoy.config.core.v3.Http1ProtocolOptions.HeaderKeyFormat.stateful_formatter:type_name -> envoy.config.core.v3.TypedExtensionConfig
- 18, // 40: envoy.config.core.v3.Http2ProtocolOptions.SettingsParameter.identifier:type_name -> google.protobuf.UInt32Value
- 18, // 41: envoy.config.core.v3.Http2ProtocolOptions.SettingsParameter.value:type_name -> google.protobuf.UInt32Value
- 42, // [42:42] is the sub-list for method output_type
- 42, // [42:42] is the sub-list for method input_type
- 42, // [42:42] is the sub-list for extension type_name
- 42, // [42:42] is the sub-list for extension extendee
- 0, // [0:42] is the sub-list for field type_name
+ 20, // 19: envoy.config.core.v3.Http1ProtocolOptions.use_balsa_parser:type_name -> google.protobuf.BoolValue
+ 17, // 20: envoy.config.core.v3.KeepaliveSettings.interval:type_name -> google.protobuf.Duration
+ 17, // 21: envoy.config.core.v3.KeepaliveSettings.timeout:type_name -> google.protobuf.Duration
+ 21, // 22: envoy.config.core.v3.KeepaliveSettings.interval_jitter:type_name -> envoy.type.v3.Percent
+ 17, // 23: envoy.config.core.v3.KeepaliveSettings.connection_idle_interval:type_name -> google.protobuf.Duration
+ 18, // 24: envoy.config.core.v3.Http2ProtocolOptions.hpack_table_size:type_name -> google.protobuf.UInt32Value
+ 18, // 25: envoy.config.core.v3.Http2ProtocolOptions.max_concurrent_streams:type_name -> google.protobuf.UInt32Value
+ 18, // 26: envoy.config.core.v3.Http2ProtocolOptions.initial_stream_window_size:type_name -> google.protobuf.UInt32Value
+ 18, // 27: envoy.config.core.v3.Http2ProtocolOptions.initial_connection_window_size:type_name -> google.protobuf.UInt32Value
+ 18, // 28: envoy.config.core.v3.Http2ProtocolOptions.max_outbound_frames:type_name -> google.protobuf.UInt32Value
+ 18, // 29: envoy.config.core.v3.Http2ProtocolOptions.max_outbound_control_frames:type_name -> google.protobuf.UInt32Value
+ 18, // 30: envoy.config.core.v3.Http2ProtocolOptions.max_consecutive_inbound_frames_with_empty_payload:type_name -> google.protobuf.UInt32Value
+ 18, // 31: envoy.config.core.v3.Http2ProtocolOptions.max_inbound_priority_frames_per_stream:type_name -> google.protobuf.UInt32Value
+ 18, // 32: envoy.config.core.v3.Http2ProtocolOptions.max_inbound_window_update_frames_per_data_frame_sent:type_name -> google.protobuf.UInt32Value
+ 20, // 33: envoy.config.core.v3.Http2ProtocolOptions.override_stream_error_on_invalid_http_message:type_name -> google.protobuf.BoolValue
+ 16, // 34: envoy.config.core.v3.Http2ProtocolOptions.custom_settings_parameters:type_name -> envoy.config.core.v3.Http2ProtocolOptions.SettingsParameter
+ 8, // 35: envoy.config.core.v3.Http2ProtocolOptions.connection_keepalive:type_name -> envoy.config.core.v3.KeepaliveSettings
+ 20, // 36: envoy.config.core.v3.Http2ProtocolOptions.use_oghttp2_codec:type_name -> google.protobuf.BoolValue
+ 9, // 37: envoy.config.core.v3.GrpcProtocolOptions.http2_protocol_options:type_name -> envoy.config.core.v3.Http2ProtocolOptions
+ 3, // 38: envoy.config.core.v3.Http3ProtocolOptions.quic_protocol_options:type_name -> envoy.config.core.v3.QuicProtocolOptions
+ 20, // 39: envoy.config.core.v3.Http3ProtocolOptions.override_stream_error_on_invalid_http_message:type_name -> google.protobuf.BoolValue
+ 15, // 40: envoy.config.core.v3.Http1ProtocolOptions.HeaderKeyFormat.proper_case_words:type_name -> envoy.config.core.v3.Http1ProtocolOptions.HeaderKeyFormat.ProperCaseWords
+ 19, // 41: envoy.config.core.v3.Http1ProtocolOptions.HeaderKeyFormat.stateful_formatter:type_name -> envoy.config.core.v3.TypedExtensionConfig
+ 18, // 42: envoy.config.core.v3.Http2ProtocolOptions.SettingsParameter.identifier:type_name -> google.protobuf.UInt32Value
+ 18, // 43: envoy.config.core.v3.Http2ProtocolOptions.SettingsParameter.value:type_name -> google.protobuf.UInt32Value
+ 44, // [44:44] is the sub-list for method output_type
+ 44, // [44:44] is the sub-list for method input_type
+ 44, // [44:44] is the sub-list for extension type_name
+ 44, // [44:44] is the sub-list for extension extendee
+ 0, // [0:44] is the sub-list for field type_name
}
func init() { file_envoy_config_core_v3_protocol_proto_init() }
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/protocol.pb.validate.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/protocol.pb.validate.go
index b95b3675de..9e9a9155e9 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/protocol.pb.validate.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/protocol.pb.validate.go
@@ -1162,6 +1162,37 @@ func (m *Http1ProtocolOptions) validate(all bool) error {
// no validation rules for SendFullyQualifiedUrl
+ if all {
+ switch v := interface{}(m.GetUseBalsaParser()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, Http1ProtocolOptionsValidationError{
+ field: "UseBalsaParser",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, Http1ProtocolOptionsValidationError{
+ field: "UseBalsaParser",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetUseBalsaParser()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return Http1ProtocolOptionsValidationError{
+ field: "UseBalsaParser",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ // no validation rules for AllowCustomMethods
+
if len(errors) > 0 {
return Http1ProtocolOptionsMultiError(errors)
}
@@ -1771,6 +1802,35 @@ func (m *Http2ProtocolOptions) validate(all bool) error {
}
}
+ if all {
+ switch v := interface{}(m.GetUseOghttp2Codec()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, Http2ProtocolOptionsValidationError{
+ field: "UseOghttp2Codec",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, Http2ProtocolOptionsValidationError{
+ field: "UseOghttp2Codec",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetUseOghttp2Codec()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return Http2ProtocolOptionsValidationError{
+ field: "UseOghttp2Codec",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
if len(errors) > 0 {
return Http2ProtocolOptionsMultiError(errors)
}
@@ -2166,9 +2226,18 @@ func (m *SchemeHeaderTransformation) validate(all bool) error {
var errors []error
- switch m.Transformation.(type) {
-
+ switch v := m.Transformation.(type) {
case *SchemeHeaderTransformation_SchemeToOverwrite:
+ if v == nil {
+ err := SchemeHeaderTransformationValidationError{
+ field: "Transformation",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
if _, ok := _SchemeHeaderTransformation_SchemeToOverwrite_InLookup[m.GetSchemeToOverwrite()]; !ok {
err := SchemeHeaderTransformationValidationError{
@@ -2181,6 +2250,8 @@ func (m *SchemeHeaderTransformation) validate(all bool) error {
errors = append(errors, err)
}
+ default:
+ _ = v // ensures v is used
}
if len(errors) > 0 {
@@ -2437,9 +2508,20 @@ func (m *Http1ProtocolOptions_HeaderKeyFormat) validate(all bool) error {
var errors []error
- switch m.HeaderFormat.(type) {
-
+ oneofHeaderFormatPresent := false
+ switch v := m.HeaderFormat.(type) {
case *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords_:
+ if v == nil {
+ err := Http1ProtocolOptions_HeaderKeyFormatValidationError{
+ field: "HeaderFormat",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofHeaderFormatPresent = true
if all {
switch v := interface{}(m.GetProperCaseWords()).(type) {
@@ -2471,6 +2553,17 @@ func (m *Http1ProtocolOptions_HeaderKeyFormat) validate(all bool) error {
}
case *Http1ProtocolOptions_HeaderKeyFormat_StatefulFormatter:
+ if v == nil {
+ err := Http1ProtocolOptions_HeaderKeyFormatValidationError{
+ field: "HeaderFormat",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofHeaderFormatPresent = true
if all {
switch v := interface{}(m.GetStatefulFormatter()).(type) {
@@ -2502,6 +2595,9 @@ func (m *Http1ProtocolOptions_HeaderKeyFormat) validate(all bool) error {
}
default:
+ _ = v // ensures v is used
+ }
+ if !oneofHeaderFormatPresent {
err := Http1ProtocolOptions_HeaderKeyFormatValidationError{
field: "HeaderFormat",
reason: "value is required",
@@ -2510,7 +2606,6 @@ func (m *Http1ProtocolOptions_HeaderKeyFormat) validate(all bool) error {
return err
}
errors = append(errors, err)
-
}
if len(errors) > 0 {
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/proxy_protocol.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/proxy_protocol.pb.go
index 32fb4cd675..90b7aaebe6 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/proxy_protocol.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/proxy_protocol.pb.go
@@ -1,13 +1,14 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/config/core/v3/proxy_protocol.proto
package corev3
import (
_ "github.com/cncf/xds/go/udpa/annotations"
+ _ "github.com/envoyproxy/protoc-gen-validate/validate"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
@@ -21,6 +22,54 @@ const (
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
+type ProxyProtocolPassThroughTLVs_PassTLVsMatchType int32
+
+const (
+ // Pass all TLVs.
+ ProxyProtocolPassThroughTLVs_INCLUDE_ALL ProxyProtocolPassThroughTLVs_PassTLVsMatchType = 0
+ // Pass specific TLVs defined in tlv_type.
+ ProxyProtocolPassThroughTLVs_INCLUDE ProxyProtocolPassThroughTLVs_PassTLVsMatchType = 1
+)
+
+// Enum value maps for ProxyProtocolPassThroughTLVs_PassTLVsMatchType.
+var (
+ ProxyProtocolPassThroughTLVs_PassTLVsMatchType_name = map[int32]string{
+ 0: "INCLUDE_ALL",
+ 1: "INCLUDE",
+ }
+ ProxyProtocolPassThroughTLVs_PassTLVsMatchType_value = map[string]int32{
+ "INCLUDE_ALL": 0,
+ "INCLUDE": 1,
+ }
+)
+
+func (x ProxyProtocolPassThroughTLVs_PassTLVsMatchType) Enum() *ProxyProtocolPassThroughTLVs_PassTLVsMatchType {
+ p := new(ProxyProtocolPassThroughTLVs_PassTLVsMatchType)
+ *p = x
+ return p
+}
+
+func (x ProxyProtocolPassThroughTLVs_PassTLVsMatchType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ProxyProtocolPassThroughTLVs_PassTLVsMatchType) Descriptor() protoreflect.EnumDescriptor {
+ return file_envoy_config_core_v3_proxy_protocol_proto_enumTypes[0].Descriptor()
+}
+
+func (ProxyProtocolPassThroughTLVs_PassTLVsMatchType) Type() protoreflect.EnumType {
+ return &file_envoy_config_core_v3_proxy_protocol_proto_enumTypes[0]
+}
+
+func (x ProxyProtocolPassThroughTLVs_PassTLVsMatchType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ProxyProtocolPassThroughTLVs_PassTLVsMatchType.Descriptor instead.
+func (ProxyProtocolPassThroughTLVs_PassTLVsMatchType) EnumDescriptor() ([]byte, []int) {
+ return file_envoy_config_core_v3_proxy_protocol_proto_rawDescGZIP(), []int{0, 0}
+}
+
type ProxyProtocolConfig_Version int32
const (
@@ -53,11 +102,11 @@ func (x ProxyProtocolConfig_Version) String() string {
}
func (ProxyProtocolConfig_Version) Descriptor() protoreflect.EnumDescriptor {
- return file_envoy_config_core_v3_proxy_protocol_proto_enumTypes[0].Descriptor()
+ return file_envoy_config_core_v3_proxy_protocol_proto_enumTypes[1].Descriptor()
}
func (ProxyProtocolConfig_Version) Type() protoreflect.EnumType {
- return &file_envoy_config_core_v3_proxy_protocol_proto_enumTypes[0]
+ return &file_envoy_config_core_v3_proxy_protocol_proto_enumTypes[1]
}
func (x ProxyProtocolConfig_Version) Number() protoreflect.EnumNumber {
@@ -66,7 +115,67 @@ func (x ProxyProtocolConfig_Version) Number() protoreflect.EnumNumber {
// Deprecated: Use ProxyProtocolConfig_Version.Descriptor instead.
func (ProxyProtocolConfig_Version) EnumDescriptor() ([]byte, []int) {
- return file_envoy_config_core_v3_proxy_protocol_proto_rawDescGZIP(), []int{0, 0}
+ return file_envoy_config_core_v3_proxy_protocol_proto_rawDescGZIP(), []int{1, 0}
+}
+
+type ProxyProtocolPassThroughTLVs struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The strategy to pass through TLVs. Default is INCLUDE_ALL.
+ // If INCLUDE_ALL is set, all TLVs will be passed through no matter the tlv_type field.
+ MatchType ProxyProtocolPassThroughTLVs_PassTLVsMatchType `protobuf:"varint,1,opt,name=match_type,json=matchType,proto3,enum=envoy.config.core.v3.ProxyProtocolPassThroughTLVs_PassTLVsMatchType" json:"match_type,omitempty"`
+ // The TLV types that are applied based on match_type.
+ // TLV type is defined as uint8_t in proxy protocol. See `the spec
+ // `_ for details.
+ TlvType []uint32 `protobuf:"varint,2,rep,packed,name=tlv_type,json=tlvType,proto3" json:"tlv_type,omitempty"`
+}
+
+func (x *ProxyProtocolPassThroughTLVs) Reset() {
+ *x = ProxyProtocolPassThroughTLVs{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_envoy_config_core_v3_proxy_protocol_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ProxyProtocolPassThroughTLVs) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ProxyProtocolPassThroughTLVs) ProtoMessage() {}
+
+func (x *ProxyProtocolPassThroughTLVs) ProtoReflect() protoreflect.Message {
+ mi := &file_envoy_config_core_v3_proxy_protocol_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 ProxyProtocolPassThroughTLVs.ProtoReflect.Descriptor instead.
+func (*ProxyProtocolPassThroughTLVs) Descriptor() ([]byte, []int) {
+ return file_envoy_config_core_v3_proxy_protocol_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ProxyProtocolPassThroughTLVs) GetMatchType() ProxyProtocolPassThroughTLVs_PassTLVsMatchType {
+ if x != nil {
+ return x.MatchType
+ }
+ return ProxyProtocolPassThroughTLVs_INCLUDE_ALL
+}
+
+func (x *ProxyProtocolPassThroughTLVs) GetTlvType() []uint32 {
+ if x != nil {
+ return x.TlvType
+ }
+ return nil
}
type ProxyProtocolConfig struct {
@@ -76,12 +185,15 @@ type ProxyProtocolConfig struct {
// The PROXY protocol version to use. See https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt for details
Version ProxyProtocolConfig_Version `protobuf:"varint,1,opt,name=version,proto3,enum=envoy.config.core.v3.ProxyProtocolConfig_Version" json:"version,omitempty"`
+ // This config controls which TLVs can be passed to upstream if it is Proxy Protocol
+ // V2 header. If there is no setting for this field, no TLVs will be passed through.
+ PassThroughTlvs *ProxyProtocolPassThroughTLVs `protobuf:"bytes,2,opt,name=pass_through_tlvs,json=passThroughTlvs,proto3" json:"pass_through_tlvs,omitempty"`
}
func (x *ProxyProtocolConfig) Reset() {
*x = ProxyProtocolConfig{}
if protoimpl.UnsafeEnabled {
- mi := &file_envoy_config_core_v3_proxy_protocol_proto_msgTypes[0]
+ mi := &file_envoy_config_core_v3_proxy_protocol_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -94,7 +206,7 @@ func (x *ProxyProtocolConfig) String() string {
func (*ProxyProtocolConfig) ProtoMessage() {}
func (x *ProxyProtocolConfig) ProtoReflect() protoreflect.Message {
- mi := &file_envoy_config_core_v3_proxy_protocol_proto_msgTypes[0]
+ mi := &file_envoy_config_core_v3_proxy_protocol_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -107,7 +219,7 @@ func (x *ProxyProtocolConfig) ProtoReflect() protoreflect.Message {
// Deprecated: Use ProxyProtocolConfig.ProtoReflect.Descriptor instead.
func (*ProxyProtocolConfig) Descriptor() ([]byte, []int) {
- return file_envoy_config_core_v3_proxy_protocol_proto_rawDescGZIP(), []int{0}
+ return file_envoy_config_core_v3_proxy_protocol_proto_rawDescGZIP(), []int{1}
}
func (x *ProxyProtocolConfig) GetVersion() ProxyProtocolConfig_Version {
@@ -117,6 +229,13 @@ func (x *ProxyProtocolConfig) GetVersion() ProxyProtocolConfig_Version {
return ProxyProtocolConfig_V1
}
+func (x *ProxyProtocolConfig) GetPassThroughTlvs() *ProxyProtocolPassThroughTLVs {
+ if x != nil {
+ return x.PassThroughTlvs
+ }
+ return nil
+}
+
var File_envoy_config_core_v3_proxy_protocol_proto protoreflect.FileDescriptor
var file_envoy_config_core_v3_proxy_protocol_proto_rawDesc = []byte{
@@ -126,23 +245,45 @@ var file_envoy_config_core_v3_proxy_protocol_proto_rawDesc = []byte{
0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76,
0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x22, 0x7d, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
- 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4b, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69,
- 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e,
- 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x43, 0x6f, 0x6e,
- 0x66, 0x69, 0x67, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72,
- 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x19, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12,
- 0x06, 0x0a, 0x02, 0x56, 0x31, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x32, 0x10, 0x01, 0x42,
- 0x86, 0x01, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78,
- 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63,
- 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x12, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f,
- 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69,
- 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72,
- 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70,
- 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x72, 0x65, 0x76, 0x33,
- 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64,
+ 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe0, 0x01, 0x0a, 0x1c, 0x50, 0x72,
+ 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x50, 0x61, 0x73, 0x73, 0x54,
+ 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x54, 0x4c, 0x56, 0x73, 0x12, 0x63, 0x0a, 0x0a, 0x6d, 0x61,
+ 0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x44,
+ 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f,
+ 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f,
+ 0x63, 0x6f, 0x6c, 0x50, 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x54, 0x4c,
+ 0x56, 0x73, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x54, 0x4c, 0x56, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68,
+ 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12,
+ 0x28, 0x0a, 0x08, 0x74, 0x6c, 0x76, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28,
+ 0x0d, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x92, 0x01, 0x07, 0x22, 0x05, 0x2a, 0x03, 0x10, 0x80, 0x02,
+ 0x52, 0x07, 0x74, 0x6c, 0x76, 0x54, 0x79, 0x70, 0x65, 0x22, 0x31, 0x0a, 0x11, 0x50, 0x61, 0x73,
+ 0x73, 0x54, 0x4c, 0x56, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f,
+ 0x0a, 0x0b, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x00, 0x12,
+ 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x10, 0x01, 0x22, 0xdd, 0x01, 0x0a,
+ 0x13, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x43, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4b, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f,
+ 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
+ 0x6e, 0x12, 0x5e, 0x0a, 0x11, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67,
+ 0x68, 0x5f, 0x74, 0x6c, 0x76, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65,
+ 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65,
+ 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
+ 0x6c, 0x50, 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x54, 0x4c, 0x56, 0x73,
+ 0x52, 0x0f, 0x70, 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x54, 0x6c, 0x76,
+ 0x73, 0x22, 0x19, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x06, 0x0a, 0x02,
+ 0x56, 0x31, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x32, 0x10, 0x01, 0x42, 0x86, 0x01, 0x0a,
+ 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65,
+ 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65,
+ 0x2e, 0x76, 0x33, 0x42, 0x12, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63,
+ 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75,
+ 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79,
+ 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e,
+ 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63,
+ 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x72, 0x65, 0x76, 0x33, 0xba, 0x80, 0xc8,
+ 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -157,19 +298,23 @@ func file_envoy_config_core_v3_proxy_protocol_proto_rawDescGZIP() []byte {
return file_envoy_config_core_v3_proxy_protocol_proto_rawDescData
}
-var file_envoy_config_core_v3_proxy_protocol_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
-var file_envoy_config_core_v3_proxy_protocol_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_envoy_config_core_v3_proxy_protocol_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
+var file_envoy_config_core_v3_proxy_protocol_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_envoy_config_core_v3_proxy_protocol_proto_goTypes = []interface{}{
- (ProxyProtocolConfig_Version)(0), // 0: envoy.config.core.v3.ProxyProtocolConfig.Version
- (*ProxyProtocolConfig)(nil), // 1: envoy.config.core.v3.ProxyProtocolConfig
+ (ProxyProtocolPassThroughTLVs_PassTLVsMatchType)(0), // 0: envoy.config.core.v3.ProxyProtocolPassThroughTLVs.PassTLVsMatchType
+ (ProxyProtocolConfig_Version)(0), // 1: envoy.config.core.v3.ProxyProtocolConfig.Version
+ (*ProxyProtocolPassThroughTLVs)(nil), // 2: envoy.config.core.v3.ProxyProtocolPassThroughTLVs
+ (*ProxyProtocolConfig)(nil), // 3: envoy.config.core.v3.ProxyProtocolConfig
}
var file_envoy_config_core_v3_proxy_protocol_proto_depIdxs = []int32{
- 0, // 0: envoy.config.core.v3.ProxyProtocolConfig.version:type_name -> envoy.config.core.v3.ProxyProtocolConfig.Version
- 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
+ 0, // 0: envoy.config.core.v3.ProxyProtocolPassThroughTLVs.match_type:type_name -> envoy.config.core.v3.ProxyProtocolPassThroughTLVs.PassTLVsMatchType
+ 1, // 1: envoy.config.core.v3.ProxyProtocolConfig.version:type_name -> envoy.config.core.v3.ProxyProtocolConfig.Version
+ 2, // 2: envoy.config.core.v3.ProxyProtocolConfig.pass_through_tlvs:type_name -> envoy.config.core.v3.ProxyProtocolPassThroughTLVs
+ 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_envoy_config_core_v3_proxy_protocol_proto_init() }
@@ -179,6 +324,18 @@ func file_envoy_config_core_v3_proxy_protocol_proto_init() {
}
if !protoimpl.UnsafeEnabled {
file_envoy_config_core_v3_proxy_protocol_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ProxyProtocolPassThroughTLVs); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_envoy_config_core_v3_proxy_protocol_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProxyProtocolConfig); i {
case 0:
return &v.state
@@ -196,8 +353,8 @@ func file_envoy_config_core_v3_proxy_protocol_proto_init() {
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_envoy_config_core_v3_proxy_protocol_proto_rawDesc,
- NumEnums: 1,
- NumMessages: 1,
+ NumEnums: 2,
+ NumMessages: 2,
NumExtensions: 0,
NumServices: 0,
},
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/proxy_protocol.pb.validate.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/proxy_protocol.pb.validate.go
index c25e882e51..2edd9b1165 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/proxy_protocol.pb.validate.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/proxy_protocol.pb.validate.go
@@ -35,6 +35,127 @@ var (
_ = sort.Sort
)
+// Validate checks the field values on ProxyProtocolPassThroughTLVs with the
+// rules defined in the proto definition for this message. If any rules are
+// violated, the first error encountered is returned, or nil if there are no violations.
+func (m *ProxyProtocolPassThroughTLVs) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on ProxyProtocolPassThroughTLVs with the
+// rules defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// ProxyProtocolPassThroughTLVsMultiError, or nil if none found.
+func (m *ProxyProtocolPassThroughTLVs) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *ProxyProtocolPassThroughTLVs) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ // no validation rules for MatchType
+
+ for idx, item := range m.GetTlvType() {
+ _, _ = idx, item
+
+ if item >= 256 {
+ err := ProxyProtocolPassThroughTLVsValidationError{
+ field: fmt.Sprintf("TlvType[%v]", idx),
+ reason: "value must be less than 256",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
+ }
+
+ if len(errors) > 0 {
+ return ProxyProtocolPassThroughTLVsMultiError(errors)
+ }
+
+ return nil
+}
+
+// ProxyProtocolPassThroughTLVsMultiError is an error wrapping multiple
+// validation errors returned by ProxyProtocolPassThroughTLVs.ValidateAll() if
+// the designated constraints aren't met.
+type ProxyProtocolPassThroughTLVsMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m ProxyProtocolPassThroughTLVsMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m ProxyProtocolPassThroughTLVsMultiError) AllErrors() []error { return m }
+
+// ProxyProtocolPassThroughTLVsValidationError is the validation error returned
+// by ProxyProtocolPassThroughTLVs.Validate if the designated constraints
+// aren't met.
+type ProxyProtocolPassThroughTLVsValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e ProxyProtocolPassThroughTLVsValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e ProxyProtocolPassThroughTLVsValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e ProxyProtocolPassThroughTLVsValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e ProxyProtocolPassThroughTLVsValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e ProxyProtocolPassThroughTLVsValidationError) ErrorName() string {
+ return "ProxyProtocolPassThroughTLVsValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e ProxyProtocolPassThroughTLVsValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sProxyProtocolPassThroughTLVs.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = ProxyProtocolPassThroughTLVsValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = ProxyProtocolPassThroughTLVsValidationError{}
+
// Validate checks the field values on ProxyProtocolConfig with the rules
// defined in the proto definition for this message. If any rules are
// violated, the first error encountered is returned, or nil if there are no violations.
@@ -59,6 +180,35 @@ func (m *ProxyProtocolConfig) validate(all bool) error {
// no validation rules for Version
+ if all {
+ switch v := interface{}(m.GetPassThroughTlvs()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ProxyProtocolConfigValidationError{
+ field: "PassThroughTlvs",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ProxyProtocolConfigValidationError{
+ field: "PassThroughTlvs",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetPassThroughTlvs()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ProxyProtocolConfigValidationError{
+ field: "PassThroughTlvs",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
if len(errors) > 0 {
return ProxyProtocolConfigMultiError(errors)
}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/resolver.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/resolver.pb.go
index eb68582ff7..9094e47f74 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/resolver.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/resolver.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/config/core/v3/resolver.proto
package corev3
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/socket_option.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/socket_option.pb.go
index 03f8e48327..5ade94fcad 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/socket_option.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/socket_option.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/config/core/v3/socket_option.proto
package corev3
@@ -217,6 +217,53 @@ func (*SocketOption_IntValue) isSocketOption_Value() {}
func (*SocketOption_BufValue) isSocketOption_Value() {}
+type SocketOptionsOverride struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SocketOptions []*SocketOption `protobuf:"bytes,1,rep,name=socket_options,json=socketOptions,proto3" json:"socket_options,omitempty"`
+}
+
+func (x *SocketOptionsOverride) Reset() {
+ *x = SocketOptionsOverride{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_envoy_config_core_v3_socket_option_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SocketOptionsOverride) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SocketOptionsOverride) ProtoMessage() {}
+
+func (x *SocketOptionsOverride) ProtoReflect() protoreflect.Message {
+ mi := &file_envoy_config_core_v3_socket_option_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 SocketOptionsOverride.ProtoReflect.Descriptor instead.
+func (*SocketOptionsOverride) Descriptor() ([]byte, []int) {
+ return file_envoy_config_core_v3_socket_option_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *SocketOptionsOverride) GetSocketOptions() []*SocketOption {
+ if x != nil {
+ return x.SocketOptions
+ }
+ return nil
+}
+
var File_envoy_config_core_v3_socket_option_proto protoreflect.FileDescriptor
var file_envoy_config_core_v3_socket_option_proto_rawDesc = []byte{
@@ -252,16 +299,22 @@ var file_envoy_config_core_v3_socket_option_proto_rawDesc = []byte{
0x9a, 0xc5, 0x88, 0x1e, 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69,
0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x03,
- 0xf8, 0x42, 0x01, 0x42, 0x85, 0x01, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
- 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x11, 0x53, 0x6f, 0x63, 0x6b,
- 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
- 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f,
- 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
- 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x72,
- 0x65, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x33,
+ 0xf8, 0x42, 0x01, 0x22, 0x62, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x49, 0x0a, 0x0e,
+ 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6f, 0x63, 0x6b,
+ 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74,
+ 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x85, 0x01, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65,
+ 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
+ 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x11,
+ 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74,
+ 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
+ 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f,
+ 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f,
+ 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33,
+ 0x3b, 0x63, 0x6f, 0x72, 0x65, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -277,18 +330,20 @@ func file_envoy_config_core_v3_socket_option_proto_rawDescGZIP() []byte {
}
var file_envoy_config_core_v3_socket_option_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
-var file_envoy_config_core_v3_socket_option_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_envoy_config_core_v3_socket_option_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_envoy_config_core_v3_socket_option_proto_goTypes = []interface{}{
(SocketOption_SocketState)(0), // 0: envoy.config.core.v3.SocketOption.SocketState
(*SocketOption)(nil), // 1: envoy.config.core.v3.SocketOption
+ (*SocketOptionsOverride)(nil), // 2: envoy.config.core.v3.SocketOptionsOverride
}
var file_envoy_config_core_v3_socket_option_proto_depIdxs = []int32{
0, // 0: envoy.config.core.v3.SocketOption.state:type_name -> envoy.config.core.v3.SocketOption.SocketState
- 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
+ 1, // 1: envoy.config.core.v3.SocketOptionsOverride.socket_options:type_name -> envoy.config.core.v3.SocketOption
+ 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 init() { file_envoy_config_core_v3_socket_option_proto_init() }
@@ -309,6 +364,18 @@ func file_envoy_config_core_v3_socket_option_proto_init() {
return nil
}
}
+ file_envoy_config_core_v3_socket_option_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SocketOptionsOverride); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
}
file_envoy_config_core_v3_socket_option_proto_msgTypes[0].OneofWrappers = []interface{}{
(*SocketOption_IntValue)(nil),
@@ -320,7 +387,7 @@ func file_envoy_config_core_v3_socket_option_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_envoy_config_core_v3_socket_option_proto_rawDesc,
NumEnums: 1,
- NumMessages: 1,
+ NumMessages: 2,
NumExtensions: 0,
NumServices: 0,
},
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/socket_option.pb.validate.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/socket_option.pb.validate.go
index 336c7f404d..dc0b53f551 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/socket_option.pb.validate.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/socket_option.pb.validate.go
@@ -74,15 +74,38 @@ func (m *SocketOption) validate(all bool) error {
errors = append(errors, err)
}
- switch m.Value.(type) {
-
+ oneofValuePresent := false
+ switch v := m.Value.(type) {
case *SocketOption_IntValue:
+ if v == nil {
+ err := SocketOptionValidationError{
+ field: "Value",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofValuePresent = true
// no validation rules for IntValue
-
case *SocketOption_BufValue:
+ if v == nil {
+ err := SocketOptionValidationError{
+ field: "Value",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofValuePresent = true
// no validation rules for BufValue
-
default:
+ _ = v // ensures v is used
+ }
+ if !oneofValuePresent {
err := SocketOptionValidationError{
field: "Value",
reason: "value is required",
@@ -91,7 +114,6 @@ func (m *SocketOption) validate(all bool) error {
return err
}
errors = append(errors, err)
-
}
if len(errors) > 0 {
@@ -170,3 +192,139 @@ var _ interface {
Cause() error
ErrorName() string
} = SocketOptionValidationError{}
+
+// Validate checks the field values on SocketOptionsOverride with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the first error encountered is returned, or nil if there are no violations.
+func (m *SocketOptionsOverride) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on SocketOptionsOverride with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// SocketOptionsOverrideMultiError, or nil if none found.
+func (m *SocketOptionsOverride) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *SocketOptionsOverride) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ for idx, item := range m.GetSocketOptions() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, SocketOptionsOverrideValidationError{
+ field: fmt.Sprintf("SocketOptions[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, SocketOptionsOverrideValidationError{
+ field: fmt.Sprintf("SocketOptions[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return SocketOptionsOverrideValidationError{
+ field: fmt.Sprintf("SocketOptions[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ }
+
+ if len(errors) > 0 {
+ return SocketOptionsOverrideMultiError(errors)
+ }
+
+ return nil
+}
+
+// SocketOptionsOverrideMultiError is an error wrapping multiple validation
+// errors returned by SocketOptionsOverride.ValidateAll() if the designated
+// constraints aren't met.
+type SocketOptionsOverrideMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m SocketOptionsOverrideMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m SocketOptionsOverrideMultiError) AllErrors() []error { return m }
+
+// SocketOptionsOverrideValidationError is the validation error returned by
+// SocketOptionsOverride.Validate if the designated constraints aren't met.
+type SocketOptionsOverrideValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e SocketOptionsOverrideValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e SocketOptionsOverrideValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e SocketOptionsOverrideValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e SocketOptionsOverrideValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e SocketOptionsOverrideValidationError) ErrorName() string {
+ return "SocketOptionsOverrideValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e SocketOptionsOverrideValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sSocketOptionsOverride.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = SocketOptionsOverrideValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = SocketOptionsOverrideValidationError{}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/substitution_format_string.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/substitution_format_string.pb.go
index a2e6cae983..745b4c1860 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/substitution_format_string.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/substitution_format_string.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/config/core/v3/substitution_format_string.proto
package corev3
@@ -43,9 +43,9 @@ type SubstitutionFormatString struct {
// empty string, so that empty values are omitted entirely.
// * for ``json_format`` the keys with null values are omitted in the output structure.
OmitEmptyValues bool `protobuf:"varint,3,opt,name=omit_empty_values,json=omitEmptyValues,proto3" json:"omit_empty_values,omitempty"`
- // Specify a *content_type* field.
- // If this field is not set then ``text/plain`` is used for *text_format* and
- // ``application/json`` is used for *json_format*.
+ // Specify a ``content_type`` field.
+ // If this field is not set then ``text/plain`` is used for ``text_format`` and
+ // ``application/json`` is used for ``json_format``.
//
// .. validated-code-block:: yaml
// :type-name: envoy.config.core.v3.SubstitutionFormatString
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/substitution_format_string.pb.validate.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/substitution_format_string.pb.validate.go
index 3d5d2ed386..2f3615c0b9 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/substitution_format_string.pb.validate.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/substitution_format_string.pb.validate.go
@@ -104,12 +104,33 @@ func (m *SubstitutionFormatString) validate(all bool) error {
}
- switch m.Format.(type) {
-
+ oneofFormatPresent := false
+ switch v := m.Format.(type) {
case *SubstitutionFormatString_TextFormat:
+ if v == nil {
+ err := SubstitutionFormatStringValidationError{
+ field: "Format",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofFormatPresent = true
// no validation rules for TextFormat
-
case *SubstitutionFormatString_JsonFormat:
+ if v == nil {
+ err := SubstitutionFormatStringValidationError{
+ field: "Format",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofFormatPresent = true
if m.GetJsonFormat() == nil {
err := SubstitutionFormatStringValidationError{
@@ -152,6 +173,17 @@ func (m *SubstitutionFormatString) validate(all bool) error {
}
case *SubstitutionFormatString_TextFormatSource:
+ if v == nil {
+ err := SubstitutionFormatStringValidationError{
+ field: "Format",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+ oneofFormatPresent = true
if all {
switch v := interface{}(m.GetTextFormatSource()).(type) {
@@ -183,6 +215,9 @@ func (m *SubstitutionFormatString) validate(all bool) error {
}
default:
+ _ = v // ensures v is used
+ }
+ if !oneofFormatPresent {
err := SubstitutionFormatStringValidationError{
field: "Format",
reason: "value is required",
@@ -191,7 +226,6 @@ func (m *SubstitutionFormatString) validate(all bool) error {
return err
}
errors = append(errors, err)
-
}
if len(errors) > 0 {
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/udp_socket_config.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/udp_socket_config.pb.go
index a02832f6d5..d5ff6d382f 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/udp_socket_config.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/udp_socket_config.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/config/core/v3/udp_socket_config.proto
package corev3
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/endpoint.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/endpoint.pb.go
index 1253a722da..24f1baab7a 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/endpoint.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/endpoint.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/config/endpoint/v3/endpoint.proto
package endpointv3
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/endpoint_components.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/endpoint_components.pb.go
index b163e4fb5f..0c8f3c0990 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/endpoint_components.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/endpoint_components.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/config/endpoint/v3/endpoint_components.proto
package endpointv3
@@ -125,8 +125,8 @@ type LbEndpoint struct {
HealthStatus v3.HealthStatus `protobuf:"varint,2,opt,name=health_status,json=healthStatus,proto3,enum=envoy.config.core.v3.HealthStatus" json:"health_status,omitempty"`
// The endpoint metadata specifies values that may be used by the load
// balancer to select endpoints in a cluster for a given request. The filter
- // name should be specified as *envoy.lb*. An example boolean key-value pair
- // is *canary*, providing the optional canary status of the upstream host.
+ // name should be specified as ``envoy.lb``. An example boolean key-value pair
+ // is ``canary``, providing the optional canary status of the upstream host.
// This may be matched against in a route's
// :ref:`RouteAction ` metadata_match field
// to subset the endpoints considered in cluster load balancing.
@@ -307,7 +307,7 @@ type LocalityLbEndpoints struct {
Locality *v3.Locality `protobuf:"bytes,1,opt,name=locality,proto3" json:"locality,omitempty"`
// The group of endpoints belonging to the locality specified.
// [#comment:TODO(adisuissa): Once LEDS is implemented this field needs to be
- // deprecated and replaced by *load_balancer_endpoints*.]
+ // deprecated and replaced by ``load_balancer_endpoints``.]
LbEndpoints []*LbEndpoint `protobuf:"bytes,2,rep,name=lb_endpoints,json=lbEndpoints,proto3" json:"lb_endpoints,omitempty"`
// [#not-implemented-hide:]
//
@@ -440,7 +440,7 @@ type isLocalityLbEndpoints_LbConfig interface {
type LocalityLbEndpoints_LoadBalancerEndpoints struct {
// The group of endpoints belonging to the locality.
- // [#comment:TODO(adisuissa): Once LEDS is implemented the *lb_endpoints* field
+ // [#comment:TODO(adisuissa): Once LEDS is implemented the ``lb_endpoints`` field
// needs to be deprecated.]
LoadBalancerEndpoints *LocalityLbEndpoints_LbEndpointList `protobuf:"bytes,7,opt,name=load_balancer_endpoints,json=loadBalancerEndpoints,proto3,oneof"`
}
@@ -473,6 +473,15 @@ type Endpoint_HealthCheckConfig struct {
// to a non-empty value allows overriding the cluster level configuration for a specific
// endpoint.
Hostname string `protobuf:"bytes,2,opt,name=hostname,proto3" json:"hostname,omitempty"`
+ // Optional alternative health check host address.
+ //
+ // .. attention::
+ //
+ // The form of the health check host address is expected to be a direct IP address.
+ Address *v3.Address `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"`
+ // Optional flag to control if perform active health check for this endpoint.
+ // Active health check is enabled by default if there is a health checker.
+ DisableActiveHealthCheck bool `protobuf:"varint,4,opt,name=disable_active_health_check,json=disableActiveHealthCheck,proto3" json:"disable_active_health_check,omitempty"`
}
func (x *Endpoint_HealthCheckConfig) Reset() {
@@ -521,6 +530,20 @@ func (x *Endpoint_HealthCheckConfig) GetHostname() string {
return ""
}
+func (x *Endpoint_HealthCheckConfig) GetAddress() *v3.Address {
+ if x != nil {
+ return x.Address
+ }
+ return nil
+}
+
+func (x *Endpoint_HealthCheckConfig) GetDisableActiveHealthCheck() bool {
+ if x != nil {
+ return x.DisableActiveHealthCheck
+ }
+ return false
+}
+
// [#not-implemented-hide:]
// A list of endpoints of a specific locality.
type LocalityLbEndpoints_LbEndpointList struct {
@@ -595,7 +618,7 @@ var file_envoy_config_endpoint_v3_endpoint_components_proto_rawDesc = []byte{
0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69,
0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61,
0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x22, 0x81, 0x03, 0x0a, 0x08, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x37,
+ 0x6f, 0x22, 0xf9, 0x03, 0x0a, 0x08, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x37,
0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63,
0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07,
@@ -607,110 +630,117 @@ var file_envoy_config_endpoint_v3_endpoint_components_proto_rawDesc = []byte{
0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x68, 0x65, 0x61, 0x6c,
0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a,
0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x92, 0x01, 0x0a, 0x11, 0x48, 0x65,
+ 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x8a, 0x02, 0x0a, 0x11, 0x48, 0x65,
0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
0x28, 0x0a, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x18, 0xff, 0xff, 0x03, 0x52, 0x09,
0x70, 0x6f, 0x72, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73,
0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73,
- 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x37, 0x9a, 0xc5, 0x88, 0x1e, 0x32, 0x0a, 0x30, 0x65, 0x6e,
- 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f,
- 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x48, 0x65, 0x61,
- 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x25,
- 0x9a, 0xc5, 0x88, 0x1e, 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69,
- 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64,
- 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x91, 0x03, 0x0a, 0x0a, 0x4c, 0x62, 0x45, 0x6e, 0x64, 0x70,
- 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
- 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76,
- 0x33, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x08, 0x65, 0x6e,
- 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0d, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69,
- 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
- 0x0c, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x47, 0x0a,
- 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e,
- 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c,
- 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68,
- 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
- 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e,
- 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
- 0x74, 0x61, 0x12, 0x59, 0x0a, 0x15, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e,
- 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 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,
- 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x13, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61,
- 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x27, 0x9a,
- 0xc5, 0x88, 0x1e, 0x22, 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e,
- 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x62, 0x45, 0x6e,
- 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x11, 0x0a, 0x0f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69,
- 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x92, 0x01, 0x0a, 0x19, 0x4c, 0x65,
- 0x64, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74,
- 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x43, 0x0a, 0x0b, 0x6c, 0x65, 0x64, 0x73, 0x5f,
- 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65,
+ 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64,
+ 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3d,
+ 0x0a, 0x1b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65,
+ 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x18, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69,
+ 0x76, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x3a, 0x37, 0x9a,
+ 0xc5, 0x88, 0x1e, 0x32, 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e,
+ 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70,
+ 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b,
+ 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x25, 0x9a, 0xc5, 0x88, 0x1e, 0x20, 0x0a, 0x1e, 0x65,
+ 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70,
+ 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x91, 0x03,
+ 0x0a, 0x0a, 0x4c, 0x62, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x08,
+ 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22,
+ 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e,
+ 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69,
+ 0x6e, 0x74, 0x48, 0x00, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x25,
+ 0x0a, 0x0d, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
+ 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f,
+ 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x65,
0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65,
- 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x52, 0x0a, 0x6c, 0x65, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x30, 0x0a, 0x14,
- 0x6c, 0x65, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
- 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6c, 0x65, 0x64, 0x73,
- 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xe1,
- 0x05, 0x0a, 0x13, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x62, 0x45, 0x6e, 0x64,
- 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69,
- 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e,
- 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69,
- 0x74, 0x79, 0x12, 0x47, 0x0a, 0x0c, 0x6c, 0x62, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
- 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
- 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
- 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x62, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0b,
- 0x6c, 0x62, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x76, 0x0a, 0x17, 0x6c,
- 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x64,
- 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x65,
- 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70,
- 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79,
- 0x4c, 0x62, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2e, 0x4c, 0x62, 0x45, 0x6e,
- 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x15, 0x6c, 0x6f,
- 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69,
- 0x6e, 0x74, 0x73, 0x12, 0x76, 0x0a, 0x1c, 0x6c, 0x65, 0x64, 0x73, 0x5f, 0x63, 0x6c, 0x75, 0x73,
- 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6e,
- 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
- 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
- 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x65, 0x64, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
- 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00,
- 0x52, 0x19, 0x6c, 0x65, 0x64, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x63,
- 0x61, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x59, 0x0a, 0x15, 0x6c,
- 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x65,
- 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 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, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28,
- 0x01, 0x52, 0x13, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67,
- 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x24, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69,
- 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x2a, 0x03, 0x18,
- 0x80, 0x01, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x09,
- 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x69, 0x74, 0x79, 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, 0x09, 0x70,
- 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x69, 0x74, 0x79, 0x1a, 0x59, 0x0a, 0x0e, 0x4c, 0x62, 0x45, 0x6e,
- 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x0c, 0x6c, 0x62,
- 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
+ 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3a,
+ 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
+ 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
+ 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x59, 0x0a, 0x15, 0x6c, 0x6f,
+ 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x65, 0x69,
+ 0x67, 0x68, 0x74, 0x18, 0x04, 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, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01,
+ 0x52, 0x13, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x57,
+ 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x27, 0x9a, 0xc5, 0x88, 0x1e, 0x22, 0x0a, 0x20, 0x65, 0x6e,
+ 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f,
+ 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x62, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x11,
+ 0x0a, 0x0f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65,
+ 0x72, 0x22, 0x92, 0x01, 0x0a, 0x19, 0x4c, 0x65, 0x64, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
+ 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
+ 0x43, 0x0a, 0x0b, 0x6c, 0x65, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0a, 0x6c, 0x65, 0x64, 0x73, 0x43, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x65, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6c,
+ 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x12, 0x6c, 0x65, 0x64, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xe1, 0x05, 0x0a, 0x13, 0x4c, 0x6f, 0x63, 0x61, 0x6c,
+ 0x69, 0x74, 0x79, 0x4c, 0x62, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x3a,
+ 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
+ 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79,
+ 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x47, 0x0a, 0x0c, 0x6c, 0x62,
+ 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x62, 0x45, 0x6e,
0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0b, 0x6c, 0x62, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69,
- 0x6e, 0x74, 0x73, 0x3a, 0x30, 0x9a, 0xc5, 0x88, 0x1e, 0x2b, 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f,
- 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
- 0x74, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x62, 0x45, 0x6e, 0x64, 0x70,
- 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
- 0x69, 0x67, 0x42, 0x97, 0x01, 0x0a, 0x26, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70,
- 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x17, 0x45,
- 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74,
- 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62,
- 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f,
- 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65,
- 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x65, 0x6e,
- 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x33, 0x3b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69,
- 0x6e, 0x74, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x33,
+ 0x6e, 0x74, 0x73, 0x12, 0x76, 0x0a, 0x17, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61,
+ 0x6e, 0x63, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e,
+ 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x62, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69,
+ 0x6e, 0x74, 0x73, 0x2e, 0x4c, 0x62, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69,
+ 0x73, 0x74, 0x48, 0x00, 0x52, 0x15, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63,
+ 0x65, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x76, 0x0a, 0x1c, 0x6c,
+ 0x65, 0x64, 0x73, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x61,
+ 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x65, 0x64,
+ 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79,
+ 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x19, 0x6c, 0x65, 0x64, 0x73, 0x43, 0x6c,
+ 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x12, 0x59, 0x0a, 0x15, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61,
+ 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 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, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x13, 0x6c, 0x6f, 0x61, 0x64, 0x42,
+ 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x24,
+ 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d,
+ 0x42, 0x08, 0xfa, 0x42, 0x05, 0x2a, 0x03, 0x18, 0x80, 0x01, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f,
+ 0x72, 0x69, 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x69, 0x74,
+ 0x79, 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, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x69, 0x74, 0x79,
+ 0x1a, 0x59, 0x0a, 0x0e, 0x4c, 0x62, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x47, 0x0a, 0x0c, 0x6c, 0x62, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
+ 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
+ 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
+ 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x62, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0b,
+ 0x6c, 0x62, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x3a, 0x30, 0x9a, 0xc5, 0x88,
+ 0x1e, 0x2b, 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32,
+ 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69,
+ 0x74, 0x79, 0x4c, 0x62, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x0b, 0x0a,
+ 0x09, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x97, 0x01, 0x0a, 0x26, 0x69,
+ 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76,
+ 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69,
+ 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x17, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43,
+ 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01,
+ 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76,
+ 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72,
+ 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x76,
+ 0x33, 0x3b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1,
+ 0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -754,12 +784,13 @@ var file_envoy_config_endpoint_v3_endpoint_components_proto_depIdxs = []int32{
2, // 10: envoy.config.endpoint.v3.LocalityLbEndpoints.leds_cluster_locality_config:type_name -> envoy.config.endpoint.v3.LedsClusterLocalityConfig
9, // 11: envoy.config.endpoint.v3.LocalityLbEndpoints.load_balancing_weight:type_name -> google.protobuf.UInt32Value
9, // 12: envoy.config.endpoint.v3.LocalityLbEndpoints.proximity:type_name -> google.protobuf.UInt32Value
- 1, // 13: envoy.config.endpoint.v3.LocalityLbEndpoints.LbEndpointList.lb_endpoints:type_name -> envoy.config.endpoint.v3.LbEndpoint
- 14, // [14:14] is the sub-list for method output_type
- 14, // [14:14] is the sub-list for method input_type
- 14, // [14:14] is the sub-list for extension type_name
- 14, // [14:14] is the sub-list for extension extendee
- 0, // [0:14] is the sub-list for field type_name
+ 6, // 13: envoy.config.endpoint.v3.Endpoint.HealthCheckConfig.address:type_name -> envoy.config.core.v3.Address
+ 1, // 14: envoy.config.endpoint.v3.LocalityLbEndpoints.LbEndpointList.lb_endpoints:type_name -> envoy.config.endpoint.v3.LbEndpoint
+ 15, // [15:15] is the sub-list for method output_type
+ 15, // [15:15] is the sub-list for method input_type
+ 15, // [15:15] is the sub-list for extension type_name
+ 15, // [15:15] is the sub-list for extension extendee
+ 0, // [0:15] is the sub-list for field type_name
}
func init() { file_envoy_config_endpoint_v3_endpoint_components_proto_init() }
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/endpoint_components.pb.validate.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/endpoint_components.pb.validate.go
index 2cc83c4d13..e2162fbff6 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/endpoint_components.pb.validate.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/endpoint_components.pb.validate.go
@@ -266,9 +266,18 @@ func (m *LbEndpoint) validate(all bool) error {
}
- switch m.HostIdentifier.(type) {
-
+ switch v := m.HostIdentifier.(type) {
case *LbEndpoint_Endpoint:
+ if v == nil {
+ err := LbEndpointValidationError{
+ field: "HostIdentifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
if all {
switch v := interface{}(m.GetEndpoint()).(type) {
@@ -300,8 +309,19 @@ func (m *LbEndpoint) validate(all bool) error {
}
case *LbEndpoint_EndpointName:
+ if v == nil {
+ err := LbEndpointValidationError{
+ field: "HostIdentifier",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
// no validation rules for EndpointName
-
+ default:
+ _ = v // ensures v is used
}
if len(errors) > 0 {
@@ -654,9 +674,18 @@ func (m *LocalityLbEndpoints) validate(all bool) error {
}
}
- switch m.LbConfig.(type) {
-
+ switch v := m.LbConfig.(type) {
case *LocalityLbEndpoints_LoadBalancerEndpoints:
+ if v == nil {
+ err := LocalityLbEndpointsValidationError{
+ field: "LbConfig",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
if all {
switch v := interface{}(m.GetLoadBalancerEndpoints()).(type) {
@@ -688,6 +717,16 @@ func (m *LocalityLbEndpoints) validate(all bool) error {
}
case *LocalityLbEndpoints_LedsClusterLocalityConfig:
+ if v == nil {
+ err := LocalityLbEndpointsValidationError{
+ field: "LbConfig",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
if all {
switch v := interface{}(m.GetLedsClusterLocalityConfig()).(type) {
@@ -718,6 +757,8 @@ func (m *LocalityLbEndpoints) validate(all bool) error {
}
}
+ default:
+ _ = v // ensures v is used
}
if len(errors) > 0 {
@@ -835,6 +876,37 @@ func (m *Endpoint_HealthCheckConfig) validate(all bool) error {
// no validation rules for Hostname
+ if all {
+ switch v := interface{}(m.GetAddress()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, Endpoint_HealthCheckConfigValidationError{
+ field: "Address",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, Endpoint_HealthCheckConfigValidationError{
+ field: "Address",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetAddress()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return Endpoint_HealthCheckConfigValidationError{
+ field: "Address",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ // no validation rules for DisableActiveHealthCheck
+
if len(errors) > 0 {
return Endpoint_HealthCheckConfigMultiError(errors)
}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/load_report.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/load_report.pb.go
index d6ef6a73c4..c0aae02a49 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/load_report.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/load_report.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/config/endpoint/v3/load_report.proto
package endpointv3
@@ -361,9 +361,9 @@ type ClusterStats struct {
// in the DropOverload policy.
DroppedRequests []*ClusterStats_DroppedRequests `protobuf:"bytes,5,rep,name=dropped_requests,json=droppedRequests,proto3" json:"dropped_requests,omitempty"`
// Period over which the actual load report occurred. This will be guaranteed to include every
- // request reported. Due to system load and delays between the *LoadStatsRequest* sent from Envoy
- // and the *LoadStatsResponse* message sent from the management server, this may be longer than
- // the requested load reporting interval in the *LoadStatsResponse*.
+ // request reported. Due to system load and delays between the ``LoadStatsRequest`` sent from Envoy
+ // and the ``LoadStatsResponse`` message sent from the management server, this may be longer than
+ // the requested load reporting interval in the ``LoadStatsResponse``.
LoadReportInterval *duration.Duration `protobuf:"bytes,4,opt,name=load_report_interval,json=loadReportInterval,proto3" json:"load_report_interval,omitempty"`
}
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/api_listener.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/api_listener.pb.go
index 42675c9e9c..e01516c2e6 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/api_listener.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/api_listener.pb.go
@@ -1,14 +1,14 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/config/listener/v3/api_listener.proto
package listenerv3
import (
_ "github.com/cncf/xds/go/udpa/annotations"
- any "github.com/golang/protobuf/ptypes/any"
+ any1 "github.com/golang/protobuf/ptypes/any"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
@@ -38,7 +38,7 @@ type ApiListener struct {
// it would have caused circular dependencies for go protos: lds.proto depends on this file,
// and http_connection_manager.proto depends on rds.proto, which is in the same directory as
// lds.proto, so lds.proto cannot depend on this file.]
- ApiListener *any.Any `protobuf:"bytes,1,opt,name=api_listener,json=apiListener,proto3" json:"api_listener,omitempty"`
+ ApiListener *any1.Any `protobuf:"bytes,1,opt,name=api_listener,json=apiListener,proto3" json:"api_listener,omitempty"`
}
func (x *ApiListener) Reset() {
@@ -73,7 +73,7 @@ func (*ApiListener) Descriptor() ([]byte, []int) {
return file_envoy_config_listener_v3_api_listener_proto_rawDescGZIP(), []int{0}
}
-func (x *ApiListener) GetApiListener() *any.Any {
+func (x *ApiListener) GetApiListener() *any1.Any {
if x != nil {
return x.ApiListener
}
@@ -128,7 +128,7 @@ func file_envoy_config_listener_v3_api_listener_proto_rawDescGZIP() []byte {
var file_envoy_config_listener_v3_api_listener_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_envoy_config_listener_v3_api_listener_proto_goTypes = []interface{}{
(*ApiListener)(nil), // 0: envoy.config.listener.v3.ApiListener
- (*any.Any)(nil), // 1: google.protobuf.Any
+ (*any1.Any)(nil), // 1: google.protobuf.Any
}
var file_envoy_config_listener_v3_api_listener_proto_depIdxs = []int32{
1, // 0: envoy.config.listener.v3.ApiListener.api_listener:type_name -> google.protobuf.Any
diff --git a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/listener.pb.go b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/listener.pb.go
index f9a42ce2a1..ca07e648cb 100644
--- a/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/listener.pb.go
+++ b/terraform/providers/google/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/listener.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.19.4
+// protoc-gen-go v1.28.1
+// protoc v3.21.12
// source: envoy/config/listener/v3/listener.proto
package listenerv3
@@ -82,13 +82,20 @@ func (Listener_DrainType) EnumDescriptor() ([]byte, []int) {
}
// The additional address the listener is listening on.
-// [#not-implemented-hide:]
type AdditionalAddress struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Address *v3.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
+ // Additional socket options that may not be present in Envoy source code or
+ // precompiled binaries. If specified, this will override the
+ // :ref:`socket_options `
+ // in the listener. If specified with no
+ // :ref:`socket_options `
+ // or an empty list of :ref:`socket_options `,
+ // it means no socket option will apply.
+ SocketOptions *v3.SocketOptionsOverride `protobuf:"bytes,2,opt,name=socket_options,json=socketOptions,proto3" json:"socket_options,omitempty"`
}
func (x *AdditionalAddress) Reset() {
@@ -130,7 +137,14 @@ func (x *AdditionalAddress) GetAddress() *v3.Address {
return nil
}
-// Listener list collections. Entries are *Listener* resources or references.
+func (x *AdditionalAddress) GetSocketOptions() *v3.SocketOptionsOverride {
+ if x != nil {
+ return x.SocketOptions
+ }
+ return nil
+}
+
+// Listener list collections. Entries are ``Listener`` resources or references.
// [#not-implemented-hide:]
type ListenerCollection struct {
state protoimpl.MessageState
@@ -192,16 +206,15 @@ type Listener struct {
// The address that the listener should listen on. In general, the address must be unique, though
// that is governed by the bind rules of the OS. E.g., multiple listeners can listen on port 0 on
// Linux as the actual port will be allocated by the OS.
- // Required unless *api_listener* or *listener_specifier* is populated.
+ // Required unless ``api_listener`` or ``listener_specifier`` is populated.
Address *v3.Address `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
// The additional addresses the listener should listen on. The addresses must be unique across all
// listeners. Multiple addresses with port 0 can be supplied. When using multiple addresses in a single listener,
// all addresses use the same protocol, and multiple internal addresses are not supported.
- // [#not-implemented-hide:]
AdditionalAddresses []*AdditionalAddress `protobuf:"bytes,33,rep,name=additional_addresses,json=additionalAddresses,proto3" json:"additional_addresses,omitempty"`
// Optional prefix to use on listener stats. If empty, the stats will be rooted at
- // `listener..`. If non-empty, stats will be rooted at
- // `listener..`.
+ // ``listener..``. If non-empty, stats will be rooted at
+ // ``listener..``.
StatPrefix string `protobuf:"bytes,28,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"`
// A list of filter chains to consider for this listener. The
// :ref:`FilterChain ` with the most specific
@@ -228,7 +241,7 @@ type Listener struct {
// filter chain is removed or structurally modified, then the drain for its
// connections is initiated.
FilterChainMatcher *v32.Matcher `protobuf:"bytes,32,opt,name=filter_chain_matcher,json=filterChainMatcher,proto3" json:"filter_chain_matcher,omitempty"`
- // If a connection is redirected using *iptables*, the port on which the proxy
+ // If a connection is redirected using ``iptables``, the port on which the proxy
// receives it might be different from the original destination address. When this flag is set to
// true, the listener hands off redirected connections to the listener associated with the
// original destination address. If there is no listener associated with the original destination
@@ -259,7 +272,7 @@ type Listener struct {
ListenerFilters []*ListenerFilter `protobuf:"bytes,9,rep,name=listener_filters,json=listenerFilters,proto3" json:"listener_filters,omitempty"`
// The timeout to wait for all listener filters to complete operation. If the timeout is reached,
// the accepted socket is closed without a connection being created unless
- // `continue_on_listener_filters_timeout` is set to true. Specify 0 to disable the
+ // ``continue_on_listener_filters_timeout`` is set to true. Specify 0 to disable the
// timeout. If not specified, a default timeout of 15s is used.
ListenerFiltersTimeout *duration.Duration `protobuf:"bytes,15,opt,name=listener_filters_timeout,json=listenerFiltersTimeout,proto3" json:"listener_filters_timeout,omitempty"`
// Whether a connection should be created when listener filters timeout. Default is false.
@@ -272,28 +285,31 @@ type Listener struct {
ContinueOnListenerFiltersTimeout bool `protobuf:"varint,17,opt,name=continue_on_listener_filters_timeout,json=continueOnListenerFiltersTimeout,proto3" json:"continue_on_listener_filters_timeout,omitempty"`
// Whether the listener should be set as a transparent socket.
// When this flag is set to true, connections can be redirected to the listener using an
- // *iptables* *TPROXY* target, in which case the original source and destination addresses and
+ // ``iptables`` ``TPROXY`` target, in which case the original source and destination addresses and
// ports are preserved on accepted connections. This flag should be used in combination with
// :ref:`an original_dst